Last Update: "2007/08/12 17:04:34 makoto"
installboot
Installboot って何 ?
これは OF 1/2 の機械を起動させるためにしかけるおまじないです。
OF 1/2 の機械は sector zero から起動します。sector 0 は MBR,
Master Boot Record とも呼ばれます。
sector 0 | |
| bootxx | → | ofwboot
|
bootxx は sector 0 に書けるような短いものです。
その中で ofwboot (secondary boot) を探して、それをメモリに読みます。
その後に、制御を ofwboot に移します。
さて、bootxx が動いている時には、まだ File System が利用出来ない
状態ですから、「ofwboot という名前のファイルを探す」などということは出来ません。
このため、ofwboot (実際には /boot という名前) の位置を予め調べておいて、
そのセクタ番号を bootxx の中に埋め込んでおきます。この作業をするのが installboot
です。
installboot には、
macppc 個有の方法と、arch によらない方法があり、
最近は arch によらない方法が作られていますが、ここでは、
macppc 特有の方法を使っています
(「ここでは」とは TsubaiBSD では、という意味です)。
http://www.ki.nu/software/NetBSD/macppc/booting/installboot.html
にも説明があります。
nothing mounted
# df
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/md0a 3959 3617 342 91% /
mount target disk on /mnt
# mount /dev/wd0a /mnt
make sure the setup written in installed fstab
# cat /mnt/etc/fstab
/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0d /export ffs rw 1 2
/dev/wd0g /usr ffs rw 1 2
kernfs /kern kernfs rw
procfs /proc procfs rw,noauto
mount /usr disk
# mount /dev/wd0g /mnt/usr
goto mounted mdec directory
# cd /mnt/usr/mdec
do installboot with old fashioned way:
# ./installboot -v /mnt/boot bootxx /dev/rwd0a
# ./installboot -v /mnt/boot bootxx /dev/wd0c
boot: /mnt/boot
proto: bootxx
device: /dev/wd0c
proto bootblock size: 1024
entry point: 0x000e0000
/mnt/boot: block numbers: 2912 2928 2944 2960 2976 2992 2882
With ecent disk organization, use whole partition, and not use raw device,
say (old) rwd0a -> (new) wd0c
then sync and reboot
# sync
# sync
# reboot
boot from ata disk:
> boot ata/ata-disk@0:0
Or boot from scsi disk:
> boot scsi-int/sd@0:0
|