以前從硬盤安裝FreeBSD,都是用IELDR引導bootonly.iso進行安裝。但是從移動硬盤啟動進行安裝時,引導過程會報錯,可能是BTX loader不支持這種方式。
現在改用Grub+memdisk+BSD啟動映像(就是bootonly.iso的翻版),表現良好。移動硬盤啟動也能進行安裝了。
准備工作:
# cd /mnt
# mkdir ram iso
# cp /dist/6.2-release-bootonly.iso .
1.創建一個25M的映像文件
要根據bootonly.iso的大小來制定對應大小的映象文件
# dd if=/dev/zero of=bsdimage bs=1k count=25k
2.掛載此映像文件
# mdconfig -a -t vnode -f bsdimage -u 0
3.為映像文件加入啟動標志
# disklabel -Bw /dev/md0
4.建立文件系統
# newfs /dev/md0a
5.將內存文件設備掛載到ram目錄
# mount /dev/md0a ram
6.為bootonly.iso創建一個內存設備
# mdconfig -a -t vnode -f 6.2-release-bootonly.iso -u 1
7.把iso文件掛載到iso目錄
# mount -t cd9660 /dev/md1 iso
8.把iso中的所有文件拷到內存映像
# cp -R iso/* ram
9.卸載內存文件
# umount ram
# mdconfig -d -u 0
# umount iso
# mdconfig -d -u 1
10.壓縮映像文件
# gzip -9 bsdimage
11.生成的結果文件bsdimage.gz便可供grub使用了。
grub相關配置如下:
...
#安裝FreeBSD
title 安裝 FreeBSD
root (hd0,0)
kernel /boot/grub/memdisk.gz
initrd /boot/grub/bsdimage.gz
...
12、對應的安裝源文件夾
把6.2-RELEASE-i386-disc1.iso中的6.2-RELEASE文件夾提取出來放到C盤(最好是fat32格式)根目錄下,然後把6.2-RELEASE-i386-disc1.iso的packages再放到6.2-RELEASE的目錄下。
文件名必須你對應發行版本號:6.2-RELEASE或者是7.0-RC1
本人已經使用這種方法實現通過移動硬盤啟動安裝FreeBSD
(以前用IELDR加載bootonly iso從移動硬盤啟動會報錯),當
然也可以在本地硬盤或可啟動U盤上,用bsdimage.gz來代
替6.2-release-bootonly.iso實現硬盤安裝。
好處,不限制啟動媒價,光盤硬盤U盤都可以,配合Grub+memdisk
可以正常工作,不再需要IELDR來虛擬。(IELDR在有些環境下
會出錯)