ブートローダのコンパイルとインストール方法。
- 前提
- 作業は NetBSD/i386 上で行う
- ブートローダインストール先は sd0 とする
- インストール作業は root 権限を持つアカウントで行う
- インストール作業は $(NETBSDSRCDIR)/sys/arch/landisk/stand で行う
- コンパイル
- 入手したアーカイブを $(NETBSDSRCDIR)/sys/arch に展開する。$(NETBSDSRCDIR)/sys/arch/landisk が存在すれば正常に展開されている。
- $(NETBSDSRCDIR)/sys/arch/landisk/00PATCH/*.diff のパッチを適応する。現時点では $(NETBSDSRCDIR)/sys/sys/bootblock.h と $(NETBSDSRCDIR)/sys/lib/libkern/arch/sh3/byte_swap_[24].S へのパッチが存在する。
- $(NETBSDSRCDIR)/sys/arch/landisk/stand/ で SH3 クロスツールチェインを使用し make する。stand/minikernel はカーネルロードテスト用なので make 対象になっていない。
- インストール(インストール先の内容をすべて破棄してもいい人向けの方法)
- とりあえずインストール先の先頭付近セクタを破壊する。
# dd if=/dev/zero of=/dev/rsd0d count=100
# dd if=mbr/mbr/mbr of=/dev/rsd0d bs=512 count=1
# fdisk -0 -u sd0
# fdisk -a sd0
-
- disklabel & newfs。
- installboot を使用し primary boot loader をインストールする。
# installboot -v /dev/rsd0a bootxx/bootxx_ffsv1/bootxx_ffsv1
-
- /dev/sd0a に secondary boot loader をインストールする。
# mount /dev/sd0a /mnt && cp boot/boot/boot /mnt && umount /mnt