ねこめもmkII(マークツー)

本家ねこめも (http://nekomemo2.site)の補助用。 主に勉強ネタ。

15日目(おまけ:実機での起動)

USBメモリでブートする実機での起動がどうしてもできず諦めかけていたが、なんとか見つけた。

以下を参照して、ipl10.asmにそのままコピペした。 

os自作入門のusbブート - Qiita

とても丁寧に解説されていてとてもありがたい。感謝です。
しかし内容は、自分の頭では理解できなかった…そもそもipl10.asmの存在をすっかり忘れていた。
また改めてこの辺りの章を読み直したい。

さっそく自分の環境で別フォルダ(tolset/haribote_jikki)を作成し、そこに現在Haribote OSを作成しているファイルを全部コピーし、ipl10.asmだけは中身を上記の内容にコピペする。
これでいつも通りにimgファイルを作成。
ddコマンドでUSBメモリに書き込む。

ずっとここで引っかかっていたのに気付いていなかった。
USBメモリに書き込みの際の場所が違ってたのと、あとはbsの値とsyncを入れるのが正解だったらしい。

起動可能なUSBメモリを作成できたコマンドは以下の通り。
 $ sudo dd bs=4M if=haribote.img of=/dev/sdb && sync
自分のPCのBIOSをレガシーモードにして、USBメモリから起動すればHaribote OSが起動する。

f:id:nekomemo2:20191218210240j:plain

ちなみにUSBメモリの内容をQEMUで起動するときは、
 $ sudo qemu-system-x86_64 -m 1024 -hda /dev/sdb
で起動できた。

実機での起動はいろいろ試した結果なので、正直どうしてこれが良かったのかが不明。
なぜimgファイルの書き込み先を、USBメモリパーティションでなく本体そのものを指定しなければいけなかったのか、syncを付けたのが何故正解だったのか、とか。
(他の起動ディスク作成の時はそんなことはなかった気がする)
それにもしかするとUSBメモリ本体の相性もあるのかと、いくつか別のものを使ってみたりもした。
フォーマットの方法もいじってみた。
だが結局、USBメモリ自体には罪はなかったようだ。

書き換えたipl10.nas自体は全く問題ないので、あとは使うPCに合った方法を模索するしかなさそうだ。

とにかく、これで今後は実機での確認もできるようになる。かなり楽しくなってきた。

 


今回参照させて頂いたサイト:
https://qiita.com/machine_engineer/items/9b0c74f59aba9c0a2ed1
https://yohgami.hateblo.jp/entry/20171210/1512888735
https://freepc.jp/bootusb