「manual/boot-loader」の編集履歴(バックアップ)一覧はこちら
「manual/boot-loader」の最新版変更点
追加された行はこの色になります。
削除された行はこの色になります。
*ブートローダーの説明
+
+&color(red){注意:このページは古い情報が書かれています。ご本家NetBSD/sandpointには*絶対に*適用しないようにしてください。}
+
ブートローダはChih-Chung Chang氏による[[loader.o>http://jan.csie.ntu.edu.tw/~jo/kuro/loader/]]を改造したものです。
オリジナルとの相違点は、
- NetBSDカーネル用に、0x90000からロード&実行する
- カーネルのデフォルト文字列が"netbsd.bin"になっている
- initrdのサポートが無い
- カーネル起動オプション文字列のデフォルトが""(空)
となっています。
中がどうなっているか、等々技術的な話は[[別文書>misc/nbloader-exposition]]で解説しています。
**注意事項
(オリジナルのドキュメントには書かれていませんが)オリジナル同様、大きな制限として
- カーネルサイズは最大4190208バイト(4*1024*1024 - 4096)まで
があります。ご注意ください。
**更新に伴う警告
以下の文章は古くなっています。現時点でベストな方法は『[[なんちゃってブートセレクタ>manual/boot-selector]]』を使う方法です。こちらをお試し下さい。(2005-09-02)
----
**基本的な使い方
nbloader.oとnetbsd.binを同じ所に置き、Linux上からrootユーザにて
# insmod nbloader.o kernel=netbsd.bin[ret]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
とコマンドを入力すると、いきなりNetBSDのブートが始まります。
**(比較的)安全な使い方
まず、カーネルの置き場としてLinuxのルートパーティションにディレクトリを準備します。
/usr/tmpでも良いでしょう。
ここに、nbloader.oとnetbsd.binをおきます。
次に、Linuxをシングルユーザモードにします。シリアルコンソールが必須です。
# shutdown now[ret]
^^^^^^^^^^^^^^^^^
次に、必要に応じてルートのパスワードを入れてシングルユーザモードのプロンプトを出します。
先ほどnbloader.oとnetbsd.binを置いたところへ移動します。
# cd /usr/tmp[ret]
^^^^^^^^^^^^^^^^
ディスクをアンマウントします。
# umount -a[ret]
^^^^^^^^^^^^^^
ローダはルートパーティションに置いてあるので、まだ見えると思います。
(この時点でルートパーティションもリードオンリーマウントになって&del(){いるようです}います。)
最後に、おもむろに実行します。&del(){念のためsyncも同時に実行します。(本当にリードオンリーマウントになっていればsyncは不要です)}
# insmod nbloader.o kernel=netbsd.bin[ret]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
これでブートするはずです。
----
ご連絡先: E.Kawauchi atto gmail dotto com
このwikiの更新情報RSS