NetBSD/Dreamcast
https://www.youtube.com/watch?v=ZAYgI1mfSd0
イメージの作成方法
sysutils/dc-toolsをpkgやpkgsrcでインストールする。
pkgの場合は、pkg_add dc-tools
dc-burn-netbsd(/usr/pkg/bin/dc-burn-netbsd)を使ってイメージを作成する。
/usr/pkg/bin/dc-burn-netbsdはシェルスクリプト。
作業用ディレクトリは、コマンドを実行したディレクトリのdc-burn-netbsd-files/。
data/にファイルシステムが展開される。
download/にダウンロードしたインストールセットが保存される。
コマンドラインオプションは、以下の通り。
table:dc-burn-netbsdコマンドラインオプション一覧
オプション 意味
-h コマンドラインオプション一覧を含むヘルプを表示する。
-k type カーネルをGENERICかGENERIC_MDから選ぶ(デフォルト:GENERIC_MD)。
-v vers NetBSDのバージョンを指定する(デフォルト:7.0.1) 。versに'?'を与えると、選択できるバージョンの一覧が表示される。
-s type インストールセットを選択する。base(base+etc), std(x以外), x(xを含む全て)か、.tgzファイルを列挙する。
-e 作成されたイメージをエミュレータで実行する。gxemulが必要。
-C 作成を始める前に、作業ディレクトリを消去する。
-b cdrecordを使って、生成されたイメージをCDに焼く。
-c opts cdrecordに与えるオプションを指定する(デフォルト:driveropts=burnfree gracetime=3)。
-d dist カーネルとインストールセットをdistディレクトリから取得する。ダウンロードを試さない。
-i iso_image 存在するISOイメージiso_imageを使う。すでにブート可能になっていることを仮定している。
-l ライブイメージを作成する。設定しなくても、オプション'-s base -K GENERIC'が設定される。
-t tmpd 一時的な作業ディレクトリをtmpdにする。
emulators/gxemulを使ったエミュレーションでイメージの確認ができる(-eオプション)。
pkgの場合は、pkg_add gxemulでインストールする。
https://gyazo.com/2b7777eea3ad0aa13d3923e8a79c3137
例えば、GENERICカーネルを使って、NetBSD 8.2Rのbaseセット(base.tgz+etc.tgz)だけをインストールし、エミュレータを起動する場合は、以下のようになります。
code:shell
% dc-burn-netbsd -k GENERIC -v 8.2 -s base -e
注意事項
set(-s)を変更すると、作業用dc-burn-netbsd-files/data/に展開されているファイルシステムは削除される。
自分用環境の構築仕方。
一度特定のインストールセットに対してdc-burn-netbsdを実行し、環境を構築する。
data/以下で変更したいファイルを更新する。
例えば、マルチユーザモードで起動するために/etc/rc.confを変更する場合、以下のように変更する。
code:data/etc/rc.conf
rc_configured=YES
例えば、起動時にファイルシステムをマウントするために/etc/fstabを作成する場合は、以下のようになる。
code:data/etc/fstab
/dev/gdrom0a / ffs rw 1 1
/dev/gdrom0b none swap sw,dp 0 0
kernfs /kern kernfs rw
ptyfs /dev/pts ptyfs rw
procfs /proc procfs rw
tmpfs /var/shm tmpfs rw,-m1777,-sram%25
make-dcburn.shを実行し、NetBSD/Dreamcast構築用のUSBメモリーイメージを作成する。
USBメモリーからブートし、root(パスワード無し)でログインする。
makeする。/root/Makefileが使われている。
GDEMU
参考文献