網路上, 已經有一堆文章講利用 PXE 來安裝 FreeBSD, 但, 都不夠懶, 測試了快三個禮拜, 利用 VirtualBox 弄兩個 FreeBSD 來玩, 終於有成果了
目的:
- 有選單可以選擇安裝各種版本的 FreeBSD
- 利用自動判斷實體記憶體大小, 進而設定 swap 大小
- 可以利用 script 來安裝自己要的軟體
本來想利用 sysinstall 來完成自動安裝(這也是網路上最多的方法), 但因為自由度不高, 所以放棄, 改用自己撰寫的 script 來進行自動安裝
目的1: 利用 syslinux 達成選單式安裝
a. 至 http://www.kernel.org/pub/linux/utils/boot/syslinux/ 下載適合的 syslinux, 並解壓縮
b. mkdir -p /srv/pxe/tftpboot ; cp memdisk pxelinux.0 menu.c32 /srv/pxe/tftpboot
(其中 memdisk pxelinux.0 vesamenu.c32 至 syslinux 的各目錄下找)
c. 編輯 /srv/pxe/tftpboot/pxelinux.cfg/default
default menu.c32 menu title === PXE Boot MENU === label LOCAL localboot 0 menu label Boot from hard disk text help Boot from the local hard drive. If you are unsure, select this option. endtext label FreeBSD_8_x64 kernel memdisk append initrd=/freebsd/freebsd_8_x64.img harddisk menu default menu label Install Freebsd 8.1 x64 text help This mode will allow you install Freebsd 8! endtext |
其中 freebsd_8_x64.img 請參考 http://syslinux.zytor.com/wiki/index.php/FreeBSD_disk_image_creation
先寫到這裡, 除了 .img 要自行製作外, mfsroot, script 於實作完會把步驟寫上來備份
透過 PXE 自動安裝 FreeBSD, 並能自動判斷 swap 大小並設定之