Manjaro ARMのRPi5 kernel

Raspberry Pi 5 Model B (RPi5)の評価はその後も続けています.テストしているのはRaspberry Pi OS (RPiOS), Manjaro ARM(64bit), Slackware ARM64 (Slackware-current)の3OSで,そのうちのRPiOSとSlackware ARM64はRPi5を入手した2024年初時点でRPi5をサポートしてました

Manjaro ARM64は一番使いたかったOSでしたが,当時は公式にRPi5をサポートしておらずどうしたものかとヤホーで検索したところRPiOSのKernelとモジュールなどを使えばよいと知りその状態で動かしてきました

その後4か月も経つので正式Kernelもあるだろうと,PacmanのGUIフロントエンドであるAdd/Remove Softwareの検索窓に “rpi5” と入れて検索したら,Kernelなどがあることが解り,早速インストールしました.

ネットで調べたところ本年3月には公式Kernelがあったようです.まあ,Manjaro ARM64がRPi5で動かせていたので今更どうでもいいですが😅

今後,ないとは思いますが,RPi4で使うことも考えて,RPi4用のKernelなども残しました.削除するのは簡単ですし.

今までのところ,RPi5上でRPiOSとManjaro ARM64は十分使える感じです.

Slackware ARM64に関しては,Slackware-currentであるため,ほとんど毎日のようにいくつものupdateが来て,サーバーがあまり強力でないこともあって,その度にupgradeにものすごく時間がかかります.その事もあっておよそ使いやすいとは言えません.

現在の “結論” 的には,Slackware ARM64の15.1 (次期公式リリース)が出るのを待って,RPi5にインストールして,次期サーバーに仕立てます.

Slackware ARM64は,SARPi5により.
本当はGoogleです.
slackpkg upgrade-allをかけたまま就寝することが多いです.
現在使用している8GB RAMのものか新規に購入するかは未定.

xzにsshのバックドア

久しぶりにセキュリティー界騒然の事態ですね.劇場型のやり取りなどで3年がかりでxzのメインテナーに加わった人物がxzにsshのバックドアを仕組んだそうで,スパイ映画さながらです.

問題になるのは,xz (liblzma) 5.6.0と5.6.1だそうです.日常的なファイルの圧縮展開に利用されるばかりでなく,圧縮効率が高いため多くのdistroがパッケージをxzで圧縮して配布していてます.

手元のMac miniではMacPortsを使っているのでxzが入っているはずです.調べてみると(注意: xzコマンドを発行してバージョンを調べるのは危険かもしれません),

まさにドンピシャのものが入ってました.早速,

port selfupdate
port upgrade outdated

をかけたら,安全とされる古いバージョンに戻りました.

ちなみに,手元のいくつかのdistroで調べたところ,Slackware64とARM (32bit)の15.0は5.2.5で問題なし,Debian BookwormとRaspberry Pi OS Bookwormも5.4.1で問題なしですが,ManjaroはAMD64, ARM64とも5.6.1で今のところupdateは来てません(2024年4月4日09:35JST現在)

圧縮のスピードはかなり遅いですが😅
ただし,Slackware AArch64 currentは5.6.1です.他のアーキテクチャーのcurrentも5.6.1の可能性が高いです.
Manjaroは配布パッケージの圧縮にgzipを使っているようなので.ユーザーがxzをなにかの目的で使わなければ大丈夫なのかもしれません.

DOSBoxメモ (9) 一から出直し

行き詰まってしまいました.というのは,DebianのBochsがまともに動いてくれないのです.起動するとすぐにデバッガーに落ちます.

動作をまとめた表には, “Installed and working” としていましたが, “Installed but NOT working” にしました.Raspberry Pi 5 Model B (RPi5)のRaspberry Pi OS (RPiOS)も同じです.これらの環境ではインストールに成功して試しもしないで動くものだと思い込んだようです.

なんかDebianはモジュール化にこだわっているようで,Bochsを動かしたいだけなのに,いくつものバッケージをインストールする必要があり,それに過不足があるのか他の設定に問題があるのか,そのあたりかなり手強そうなので,もうこれ以上追求しません.

現在Bochsがまともに動くことを確認している環境は,Slackware AArch64 current (RPi5), Slackware ARM 32bit 15.0 (RPi4), macOS (Mac mini & Macbook)のみです.

スピード的に,CPUをエミュレートするRPi4, RPi5は不利なのでマクドで行くのがよさそうです.

しかし,マクドではQEMUの環境を整えていないので,Bochsのディスクイメージをホスト側でいじる事ができません.

なら,Slackware64でいこう,ということになりました.Slackware ARMとAArch64でbuildできて動くんですから,AMD64用OSならまちがいなく動くでしょう.

また,方針も大幅変更で,クリーンインストールにより最新のFreeDOSが動くようにして,そこになんとか鳳をはめ込む方向にします.

RPi5はまだなんとか使えそうなスピードですが,RPi4は無理です.
関東ではマック,関西とフランスではマクド.
仮想ディスクイメージをnbdによってボリュームとしてマウントする事ができない.

DOSBoxメモ (8) 目標の整理と現状・今後の方針

すっかり取り散らかして,何を目標にしているか自分でもわからなくなりそうなのでまず整理します.

最終目標は,Raspberry Pi 5 Model B (RPi5) で日本語DOSアプリ,Log200(DOS版)を動かすことです.

もともとSlackware 14.x (x86 32bit版)でdosemu + FreeDOS + 日本語FONT + 鳳を動かして,そこでLog200を動かしていました.

前項の表にあるように,現有の環境では唯一Manjaro AMD64でdosemuが動きます.かつて,Slackware x86 32bit版で動かしていたFreeDOSのディレクトリーが残っていて,それをManjaroにコピーして,dosemuを起動すると,Log200が見事に起動するのです.

Manjaro AMD64上にインストールしたdosemuによって,かつて使用していたdosemu用ファイルツリーからブートしてLog200の起動に成功

鳳による単漢変換ですが漢字入力もできます.

なんとかこの環境を,dosemuでないPC/DOSエミュレーターに移植して,最終的にRaspberry Pi上で使えないか,と考えたわけです.

dosemuはx86系のハードウェアでしか動かず,プリミティブな印象がありますが,ホストのLinuxファイルシステム上のサブディレクトリーを仮想HDDとしてC:やD:ドライブとしてマウントできるばかりでなく,そこからブートもできてしまうという秀逸な機能があります.

もし同じことがDOSBox(-X)やBochsでできれば,話はここで終わりにできました.

DOSBox(-X)ではホストのLinuxファイルシステムのサブディレクトリーをdosemuのようにドライブとしてマウントはできますが,そこからブートはできません.

Bochsに至ってはx86 PCを忠実に再現しているのでホストのサブディレクトリーをHDDに見立てるような機能はそもそもありません.

それでまた,dosemuはホストのLinuxファイルシステムを仮想ドライブとしてブートした上で,別に仕立てた仮想ディスクイメージをフォーマットして,内容をコピーすればちゃんとそのイメージから起動することができるようになります.

ここまできたら,その仮想ディスクイメージをDOSBox(-X)やBochsにマウントすればいいじゃないか,と思ったのですが,そこがなかなかうまくいきません.テストして確認したところでは,DOSBox(-X)とBochsの仮想ディスクイメージはコンパチで使い回せますが,dosemuとは方式が違うようです.

さきほどchatGPTに変換する方法はないか聞いてみたので,その回答をもとに変換できないか試してみることにします.

Linuxのext4のファイルツリーとして.

DOSBox メモ (7) エミュレーター動作まとめ

Tested DOS/PC Emulators

PCOSDosemuDOSBoxDOSBox-XBochs
Mac mini 2018 (Core i7)macOS Sonoma 14.4.1 (w/ MacPorts)N/ABuild failsInstalled and RunningInstalled and Running
Macbook Retina 12″ 2017 (Core i7)macOS Ventura 13.6.6 (w/ MacPorts)N/ABuild failsInstalled and RunningInstalled and Running
PC Core i7-4790SManjaro AMD64Installed and RunningInstalled and RunningN/A *2N/A
Debian AMD64 Bookworm 12.5N/AInstalled and Ran *3N/A *2Installed but NOT working *5
Raspberry Pi 4 Model BSlackware ARM (32bit) 15.0N/A *1N/AN/A *2 *4Installed and Running
Raspberry Pi 5 Model BRaspberry Pi OS Bookworm 12.5N/A *1Installed and RunningN/A *2Installed but NOT working *5
Slackware AArch64 currentN/A *1N/AN/A *2 *4Installed and Running
Manjaro ARM (64bit)N/A *1Installed and RunningN/A *2N/A
Notes
*1 Dosemu requires x86/AMD CPU.
*2 Maybe available via Flatpak
*3 No longer installed for certain reasons.
*4 Flatpak installation fails on the respective environment.
*5 Drops into the debugger at every start-up.
すべて当社調べ.