KVMが使い物にならん

弱りました.結局,KVM周りをupdate/upgradeしないと,どうにも仮想マシンが動かないようです.

そのupdate/upgradeの試みは一度頓挫してます😓

Debianの仮想マシンをしばらく動かしていると,反応がだんだん悪くなり,無応答になります.システムモニターであるgkrellmも状態を更新しなくなります.

そうなる前にコンソールからtopコマンドでプロセスを監視すると,scsi_eh_なんとかいうプロセス1SCSI Error Handler.が,ある程度のcpu cycleを安定して使用しています😓

ホスト側から見ると,qemuなんとかいうプロセスが動いているに過ぎません.だから,SCSIのエラーが起きているにしても仮想マシンの中で完結しているのかなと思いましたが,ホストを再起動するとホスト自体がSSDのハンドリングに失敗する2一旦電源リセットしないと,ホストが起動しません.ので,システムワイドなエラーのようです.

KVM/QEMUはSlackbuildsにあるので,自力buildした分に上書きインストールしてしまう,というのが一番確実な可能性が高い方法と思います.この場合のリスクは,KVM/QEMUのメインテナーが途中で飽きて投げ出すことです.

かといって,自力update/upgradeは失敗しているしなぁ😓

Raspberry Piで暮らせるか (8) Chrome/Chromiumで頑張ってみる

長年Web browserはFirefoxを使用してきました.その理由は,

  • 大資本ではなく,非営利団体によって開発されている
  • macOS, Linux (一部),Windowsで動き,ブックマークとログイン情報がディバイス間でシンクロできる

の2つの点によります.Linuxも自分が日常的に使用している全部の環境というわけではないのですが,x86 32bit, AMD64で動きます.スマホ版にもシンクロできます.

やはりなんといっても,ブックマークとログイン情報がシンクロするのは便利,というか,いろんなPCを渡り歩く上では必須です.

FirefoxにもRaspberry Pi OS用はあります1Firefox-ESRが,Slackware ARMで動くものは公式・非公式を含めてありません.

Raspberry Pi 4がWSたり得るかの最初の評価で,Firefox-ESRよりもChromiumのほうが軽くて使い物になると判断したので,以後Raspberry Pi 4ではChromiumを使うようにしています(Firefox-ESRはuninstallしました😓).そうすると,他のPC/OSでもChromiumないしChromeを使わないと,ブックマークとログイン情報がシンクロしないので,評価としては不公平になってしまいます.

ということで,しばらく他の環境でもChromiumを使うことにします.ただ,macOSやWindowsでは,Chromiumのインストールやupdateはあまり便利でないので,「大資本」の配布によるChromeの方を使うことにします.

Raspberry Piで暮らせるか (6) DOSエミュレーターその2

DOSのエミュレーターに関しては連戦連敗状態です.ちゃんとやる気になっていないというのが最大の理由かもしれません.適当に考えずに,パッケージをインストールして,先駆者たちのWeb情報を斜め読みして試して,だめだと諦めてパッケージをuninstall.

QEMUに関してはかなり長いこと使ってきているですが, AMD64 (x86_64)マシンにて,x86の32bitないし,64bitの仮想マシンを動かす(エミュレーションはしてない)というほぼワンパターンで使ってます.ですから,自力でインストールして長期間使っている割には経験値が積み上がってないです😥

WindowsでDOSboxを動かして経験を積む,Linux x86_64マシンで,QEMUの経験を積むっていうのを少し時間をかけてやってみます.

Raspberry Piで暮らせるか (5) DOSエミュレーター

ちょっと特異な方向に進んできましたが,どうしてもひとつだけ動かしたいDOSのプログラムがあります.無線クラブのお仲間が開発・メンテしているアマチュア無線の交信記録用ソフト(ログソフト)です.話せば長くなるので端折りますが,ログソフトは,GUIでなくて,CUIのほうが効率がいいし,データ構造が解りやすいので長年愛用しています.

いわゆるDOS/V仕様のマシンないしエミュレーターがあれば動作します.もちろんWindowsのDOS窓が一般的には手軽ですが,スタンドアロンのWindows機を持たない1あるにはあるけど,常用してないのです.ので,いろいろ工夫して使ってきました.

むか〜しは,Linuxマシン(Slackware)に,dosemuという,その名の通りのDOS emulatorをインストールして使用していました.その後,いつの頃からかMacintoshにVMWare Fusionをインストールして,Windowsの仮想マシンを走らせて,その中のDOS窓で動かすという使用形態が長く続き,その形で今日に至っています.

さて,このDOSプログラムを動かすのもRaspberry Piでなんとかなるか.ざっと調べたところいくつかDOS用のエミュレーターはあるようです.一番手軽そうなDOSBoxというのをインストールしてみましたが,FreeDOSも,残してあったIBM DOSもブートしてくれないので,深くはまる前に撤収です.

二番目の候補は,QEMUです.QEMUはSlackware x86 32bit時代から現在のSlackware64 (AMD64)まで,現用しているので,こちらのほうがとっつきやすかったかなということで,インストールしてみました.システムはいろいろ複雑ですが😥

まだ,インストールしたばかりで,これから,起動用のイメージファイルを作ってなんだかんだやってみます.

イメージファイルなしで,Linuxのファイルシステムの適当なディレクトリーをドライブに割り当ててブートできたdosemuは柔軟性があってよかったなとつくづく思いますが,CPUのエミュレーションはしてくれないのでRaspberry Piでは使えません.

Chromiumのbuildは手強い

alienさんのディレクトリーに,ChromiumのSlackBuildスクリプトやパッチ一式があります.そこで,Google-Drive-OCamlFuseをSlackware ARMで動かした余勢をかって,buildに挑戦しました.

とりあえず,chromium.SlackBuildスクリプトを走らせたら,なんかエラーが出たので,エラーメッセージを手がかりに,Google-Drive-OCamlFuseのときと同様に,-gnueabihfを付けたら1Google-Drive-OCamlFuseのときは,gnueabiにしましたが,やはりgnueabihfが正しかったのかも知れません.,そこは通りました.

--- chromium.SlackBuild-org 2020-11-12 12:55:07.023680300 +0900
+++ chromium.SlackBuild 2020-11-12 12:55:54.442478873 +0900
@@ -893,9 +893,9 @@
   # Take care of Debian/Ubuntu related linker issues:
   echo "/usr/lib/${SYSROOT_TARGET}-linux-gnu/nss" >> \
-    build/linux/${SYSROOTDIR}/etc/ld.so.conf.d/${SYSROOT_TARGET}-linux-gnu.conf
+    build/linux/${SYSROOTDIR}/etc/ld.so.conf.d/${SYSROOT_TARGET}-linux-gnueabihf.conf
   ln -s libsqlite3.so.0 \
-    build/linux/${SYSROOTDIR}/usr/lib/${SYSROOT_TARGET}-linux-gnu/libsqlite3.so
+    build/linux/${SYSROOTDIR}/usr/lib/${SYSROOT_TARGET}-linux-gnueabihf/libsqlite3.so
 fi
 --- Compile ---

しかし,その後,config-third-party-ffmpegとやらで,エラーが出てしまい,手がかりがないのでお手上げです.

しばらくこのまま放置します.

2020年11月13日(金): diffの内容が,ちゃんとペーストできていなかったので手で修正しました.