DOSBoxメモ (6) ARMのDOSBoxはNG

macOSではBochsで仕立てたFreedosのHDDイメージをDOSBox-Xにつないでブートできました.

同じことをSlackware ARM (32bit版と64bit版のAArch64)にて試してみました.どちらもsbopkgにてBochsのbuild & installはできていて,macOS版のBochsで仕立てたディスクイメージでブートできました.

ただし,Raspberry Pi 4 Model B (RPi4)では遅くて使い物になりそうにありません.RPi5ではなんとか実用に耐えそうです

続いて,DOSBoxをRPi4とRPi5にてsbopkgでbuildしたところ,どちらも成功し,自前のDOSでブートします.ここで,macOS MacPorts版と同様に,

mount e /path/to/images/folder
imgmount c e:drivec.img
boot -l c

としても,エラーとなってブートしてくれません(RPi4もRPi5も).

たぶん,SlackBuildsのbuildスクリプトがARM用にちゃんとできていないのだと思います.

同じARM用でもRaspberry Pi OS用はまだ試していません.動く可能性はあると思います.

ただし,今のところRPi4はSlackware ARM (32bit) 15.0, RPi5はSlackware AArch64 (ARM 64bit版) currentというハンディキャップがあります.

DOSBoxメモ (4) HDDイメージづくり難航

今は,DOSBOX本家のWikiIMGMOUNTのページを参考に色々やっています.珍しく熟読して,ほとんどこのページに書いてあることをしています.

動作環境はmacOSのDOSBox-Xです.

これまでディスクイメージをqemu-imgで用意したり,ddコマンドで用意しましたが,うまくいかないのでこのWikiに書いてあるとおり,bximageコマンドを試してみようと思いました.このコマンドはBochsというまた別のPCエミュレーターの付属ユーティリティーです.

これも

port install bochs

であっさりインストールできて動きました.

Bochsは「ソフトがなければただの箱」というタイプで,起動可能なメディアを繋がない状態ではDOSBox(-x)のように組み込みのDOSからbootするようなことはありません.

このままBochs使えばいいじゃないかとも一瞬思いましたが,設定方法がまた全然違う流儀で,頭を切り替えるのが嫌なので,ツールだけ利用することにします.

それで,bximageを使って40MBのHDDイメージをこさえて,DOSBox-Xの2番目のドライブとしてマウントして,FreedosのlegacyなFDDとCD-ROMもマウントしてセットアップをすると正常に終了しますが,なんかディスクのサイズが40MBでないし,実際そのできがったはずのHDDイメージからのbootもできません.

書けばそれだけですが,色々試行錯誤して結局作ったディスクイメージからbootできないところで終わります.

流儀の違うBochsを試すことにするかな.その前提としてSlackware ARMで動くかにかかってきます.

Bochsのインストール

  • Slackware AArch64 current 成功
  • Slackware ARM (32bit) 15.0 成功
  • Manjaro AMD64 パッケージがない (ArchLinuxにも)
  • Debian 確認中

いずれも,それぞれのdistroの公式パッケージツール/buildツールを使用して,flatpakのようなものは使っていません.

Slackware流儀で,システムをいじる前にrootになってます.
Slackwareはsbopkg.

DOSBoxメモ (3) DOSBox-X on macOS

ちょっと長期戦になりそうなので,コンソールの切り替えをしないで,調べ物やその他PCでの作業をしながらDOSB0x(-X)をいじれるよう,macOS版のインストールを試みました.

MacでGNUなどのソフトを動かすのにMacPortsを使っています.

port install dosbox

とすると

Error: dosbox cannot be installed for the configured build_arch 'x86_64' because it only supports the arch(s) 'i386 ppc'.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port dosbox failed

と,エラーになります.インテルCPUの32bitのmacOSは何年も前に廃れたのでbuildスクリプトが間違っているはずですが,どうしようもないです.ダメ元で,

port install dosbox-x

としたら,buildできて動きました.Flatpakは使わなくていいようです.

ちなみに,dosemuは “Error: Port dosemu not found” です.

これでしばらくああでもないこうでもないとやってみます.

Slackwareの流儀で,システムをいじる前にrootになっていますので,毎回 “sudo” はしません.

DOSBoxメモ (2)

なかなかうまくいっていません.

DOSBox自体は,ARM (32bit/64bit)を含む多くのdistroでインストール可能なことを確認しました.

Manjaro ARM (64bit)で起動したDOSBox

また,DOSBoxにXの飾りをつけたDOSBox-Xというのがあるようで,DOSを動かすことに関してはほとんどDOSBoxと同じですが,インストールするため,Flatpakというパッケージマネージャーのインストールが必要です.これはRaspberry Pi OS (RPiOS)を含むDebianでは問題なくインストールできましたが,Slackware AArch64ではインストールできませんでした.

ただし,昨日は何もメモしないで作っては壊し的な作業をしていたので,記憶違いがあるかもしれません.

DOSを動かす部分が一緒ならDOSBoxで良かろうという結論に達しましたが,そこから先がなかなかうまく行きません.

かつてDosemuで動いていたFreeDOSのサブディレクトリーをDOSBox組み込みのDOSでマウントしてもbootしてくれません.

どうもホスト(Linux)のファイルシステムのサブディレクトリーではNGなのかと思い,それではディスクイメージを仕立てて見ようということになりましたかが,qemu-imgでイメージをこさえてqemu-nbdで/dev/nbd0に接続してああしたりこうしたりしてさんざん仮想マシンのディスクをこさえてきましたが,全くその流儀ではだめなようです.

一旦落ち着いて, “How to create bootable HDD image for DOSbox”で検索してやり直してみます.

後の注: Flatpakを使わないDOSBox-Xのパッケージが用意されているdistroもあります.
“かつて” でなくて先日もDosemuでブート可能なことを確認しました.
今回はいつものqcow2でなくてraw.

DOSBoxメモ

自分用メモです.

DOSBoxDOSBox-Xがある.

DOSBoxは,Raspberry Pi OS (RPiOS) 用のパッケージがある.Slackware ARM (32bit) / AArch64でも,sbopkgでbuildできて動作する.

DOSBox-Xをインストールするには,flatpakのインストールが必要.RPiOSにはflatpakの出来上がったパッケージがあり,DOSBox-Xのインストール,起動の確認までできた.

Slackware ARM (32bit) / AArch64では,SlackBuildsflatpakがあるが,必要とするパッケージostreeを先にインストールしてもflatpakのconfigureが “ostree-1がない” と言ってエラーで終わる

DOSBoxもDOSBox-XもDOSが動く基本的な仕組みは同じようだが,後者にはメニューが付いていて設定等がメニューからできる模様(あまり詳しくは試してない).

DOSBoxでFreeDOSを保存しているサブディレクトリーをCドライブとしてマウントすることは成功.そのCドライブからのブートは今のところうまくいっていない.

以上が2024年3月23日現在確認したところ.

後の注: Flatpakを使わないDOSBox-Xのパッケージが用意されているdistroもあります.
SlackBuildsに登録されているbuildスクリプトはほとんどがx86 32bitとAMD64用に書かれたもので,ARM (32bit/64bit)で確認されたものは少ないようだ.