玄箱でNetBSDを動かす

メニュー





更新履歴


広告










このサイトはAmazon.co.jpアソシエイトに参加しています。


「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