玄箱でNetBSDを動かす manual > boot-loader-v3

ブートローダー(v3)の説明(工事中)

v2からの変更点

  • 28MB程度までのカーネルをロード出来るようになりました。(v2は4MBまで)
  • "cmdline="を指定できるようにしました。カーネルに文字列で起動引数を渡せます。(v3.1より)

使用法: insmod nbloader_v3.o [kernel=カーネルファイル] [startaddr=ロード&スタートアドレス] [cmdline=カーネル引数文字列]


kernel

起動するNetBSDカーネルのパスです。デフォルトは"netbsd.bin"です。

startaddr

カーネルをロード&実行するアドレスです。デフォルトは0x90000です。
この値はカーネル側の指定と一致させる必要が有ります。
(カーネル側の指定はsys/arch/sandpoint/conf/std.kuroboxに有ります。)

cmdline

カーネルに渡す引数(文字列)を指定します。解釈はカーネル側で行います。
私のパッチを当てたカーネルですと、"bootdev="と"boothowto="が使えます。
"bootdev="には、"wd0a"や"sd0a"などのデバイス+パーティションが指定できます。
"boothowto="には、"-s"などのブートモード指定子が指定できます。
デフォルトは空です。

使用例

insmod nbloader_v3.o kernel=/boot/netbsd.bin cmdline=bootdev=wd0a
/boot/netbsd.binを起動し、rootをwd0aとします。
insmod nbloader_v3.o kernel=/boot/netbsd_test.bin cmdline=bootdev=sd0a,boothowto=-s
/boot/netbsd_test.binを起動します。rootはsd0aとし、シングルユーザモードで起動するようにします。

注意点

nbloader_v2と同様の指定(bootdev,boothowto)は可能です。
以前のカーネル(~2006-04-17版)には、cmdlineの指定は無効です。
以前のカーネル(~2006-09-29版)には、cmdlineの指定のカンマ区切りによる複数指定は無効です。指定全体が無視されます。(bootdev=wd0aなどと、一つだけ指定して下さい。)
bootdev,boothowtoとcmdlineが同時に指定された場合、cmdlineでの指定が優先されます。
startaddrでのカーネルスタートアドレスの変更は不安定です。当面デフォルト値のまま使用されたほうが良いでしょう。


ご連絡先: E.Kawauchi atto gmail dotto com

9277