Manjaro AMD64 ぶっ壊す

Workstation (WS)をぶっ壊すのは日常茶飯事ですが,これまであまり壊すことのなかったManjaro AMD64 (x86_64)をぶっ壊しました.

先日Manjaro AMD64がKDE Plasma Desktop 6にupgradeされて喜んだのですが,どうもzramがぶっ壊れているのに気が付きました.

色々調べて,systemd-swapが機能していないことがわかりました.systemctl statusで見ると,sysv_ipcがインポートできないことがわかりました.

更に調べると,このsystemd-swapはout-of-dateとなっていることがわかりました😥

それで,Archlinuxのzramのドキュメントを読みながら色々やっていたのですが,どれをやってもうまく行かず,挙句にはEFIをぶっ壊して起動しなくなってしまいました.

EFIがぶっ壊れてはサブWSであるSlackware64もブートできず,にっちもさっちも行かない状況に陥りました.

まずは,Slackware64のブート用USBメモリーから起動して,Slackware64のEFIとGRUBを直して起動するようになりました.ここまでは大した手間ではありませんでした.

このあと,Manjaroのパーティションに4月のバックアップをrsyncでコピーしましまたがうまくブートしません.libvirdがどうのこうのいう,本質的には関係ないエラーなんですが,そのエラーの先に進んでくれません.念の為,Manjaroのパーティションをformatしてからrsyncしましたが,同じ結果でした.

しかたないので,libvirtdを起動しないようにしてある仮想マシンのイメージからrsyncをかけたら,ようやくブートしました.

どうも,rsyncで差分をバックアップしたものからの復元はこのManjaro AMD64に限ってはうまくいかないようです.もちろんあるサブディレクトリー以下とか,特定のファイルについては簡単に復元できるのでバックアップを取る意義はありますが,まるまる起動可能なバックアップとして今までより頻繁に仮想マシンの仮想ディスクにクローニングすることにします.

まともに動くところまでロールバックしたところで,systemd-swapを消して,もう一度,Archlinuxのzramのドキュメントを読みながらやり直します.

udevルールによる方法

結局うまく行ったのは,Archlinuxのドキュメントのうち,udevルールを使う方法です.手順としては,

  1. これまで使っていたZramのサービスが起動しないようにする
  2. /lib/mdoules-load.d/zram.conf に, zram の一行のみ書く
  3. /lib/modprobe.d/zram.confに, options zram num_devices=8 の一行のみ書く
  4. /etc/udev/rules.d/99-zram.rules に,
    KERNEL=="zram[0-7]", SUBSYSTEM=="block", DRIVER=="", ACTION=="add", ATTR{comp_algorithm}="lz4", ATTR{disksize}="1024M", RUN+="/sbin/mkswap $env{DEVNAME}"
    の一行のみを書く
  5. /etc/fstabに,
    /dev/zram0 none swap defaults,pri=100 0 0
    /dev/zram1 none swap defaults,pri=100 0 0
    /dev/zram2 none swap defaults,pri=100 0 0
    /dev/zram3 none swap defaults,pri=100 0 0
    /dev/zram4 none swap defaults,pri=100 0 0
    /dev/zram5 none swap defaults,pri=100 0 0
    /dev/zram6 none swap defaults,pri=100 0 0
    /dev/zram7 none swap defaults,pri=100 0 0

    を書く
  6. 祈りながらリブート

だったと思います😥

1のあとの再起動で,zramモジュールがロードされていないことを確認,3の後の再起動でzramモジュールがロードされ,4のあとの再起動で/dev/zram0〜7ができていることをそれぞれ確認,など途中要所要所で動作確認をすると着実に進められます.

以上,未来の自分あてのメモでした.

厳密には,メインWSはMac miniで,Manjaro AMD64がサブWS,Slackware64の実マシンはサブサブWS,またはサブWSのサブOSです.
かんたんに書いてありますが,rsyncののち,chrootして,efibootmgrやgrubのツールを使って起動するように呪いをかけます.

KDE Plasma Desktop 6

いくつか動かしているLinuxの実マシン・仮想マシンでは,UbuntuとRaspberry Pi OSの一部のマシンを除いてデスクトップはKDE Plasma Desktopにしています.

先程updateをかけたら,Manjaro AMD64のデスクトップが,KDE Plasma Desktop 5から6にupgradeしました.

Debian AMD64はまだ5のままです.

Manjaro ARM64のKDE Plasma Desktopが6になるのが楽しみです.

DOSEmuメモ (2) NFS

割とあっさりできました.ここを参考にしました.

デーモンの立ち上げは,Slackware64 15.0ではこんな順番でした

/etc/rc.d/rc.rpc start
/etc/rc.d/rc.nfsd start

唯一引っかかったのは,サーバーへ接続しようとしたクライアントのポート番号が大きすぎたため,最初の設定ではマウントできなかったことです.

これは,VMWareのクライアントであるSlackware64が,ホストであるMac miniのNAT経由でサーバーにつなごうとしたためだと思います.そこで,ホストの/etc/exportsに “insecure” オプションを追加しました.

nfsでマウントさせるディレクトリー    MacminiのIPv4アドレス(insecure,rw)

これで,マウントしたサーバーのディレクトリーをdosemuのD:ドライブにして,dosemuから読み出せることを確認しました(書き込みはまだやってませんが😅).

Linuxマシンの間ではUser IDを統一しているので,そのへんの問題も生じませんでした.

rc.rpcとrc.nfsdを実行可能に変更したので,次のサーバーのブート時には自動的に起動するはずです.

DOSEmuメモ (1)

これまでの経緯をざっとまとめますと,Windowsへの依存なくDOSアプリを動かすために,FreeDOS/V + 鳳(単漢変換FEP)の動く環境をいろいろ試してきました.

その結果VMWare FusionBochsではFreeDOS/V + 鳳はブートして日本語フォントがロードされ,プロンプトまで出ますがその後エラーになって使えません.

QEMU/KVMではプロンプトが出ても安定ですが,Control+Spaceで単漢変換モードになりません.

Manjaro AMD64のもとで動くQEMU/KVMで,FreeDOS/V + 鳳をインストールしたHDDイメージからブートして日本語モードとなり安定であるが,CNTL+Spaceを押しても漢字入力モードにならない.

結局昔から動いていたDOSEmu以外はNGです.DOSEmuは素晴らしいですがCPUのエミュレーションはしてくれません.また,macOS + MacPortsではbuildできないので,現在までに確認したDOSEmu + FreeDOS/V + 鳳を動かせる環境は,

です.なぜ同じVMWare FusionでFreeDOS/V + 鳳を直接動かすことはできないのに,VMWare Fusion上のSlackware64の上のDOSEmuで動くのかは不明です.

また,まだ試していませんが,

  • x86_64の実機で動くManjaroのQEMU/KVMのもとで動くSlackware64の中のDOSEmu

でFreedos/V + 鳳が動く可能性はあります.しかし,Manjaro AMD64でDOSEmuが動きますから,これはあまり意味がないです.

いずれにしてもCPUのエミュレーション機能がないDOSEmuということで,Raspberry Pi 4/5 Model Bでの作動はあきらめざるを得ません.

仮想マシンを動かしてその中でエミュレーターを動かすというのは,今ひとつスマートさに欠けますが,動かないのでは話しにならないのでしょうがないです.

Linux上のDOSEmuで行くとなると話は単純で,アマチュア無線のログのオリジナルを保存しているRaspberry PiのサーバーのディレクトリーをDOSEmuのホストのLinuxのファイルシステムのどこかに何らかの形でマウントすればいい,ということになります.

とりあえずはNFSでやってみますが,もう何年もいじってないのでどうなるかはわかりません.動くところまでたどり着くのは紆余曲折あって構いませんが,動き出したら安定して動くことが重要です.

特にmacOS下では.

httpd ダウンしてました

詳しい時刻はわかりませんが,日本時間で2024年4月22日(月)の午後から2024年4月23日(火)の未明にかけて,当サーバーのhttpdがダウンしていました.

原因については,メンテナンス作業でCPUに負荷がかかりすぎたためと推測されます

ご不便をかけたとしたら遺憾に思います

もう少し具体的なこともわかっていますが,セキュリティー上の都合から公開しません.
やはりどう聞いても(読んでも)謝罪には取れませんね.でも,撤回はしません.