PXE自动安装FreeBSD
作者信息
作者:diege
時間:2012-05-02
前言
最經準備整理運維自動化相關的技術,發現FreeBSD的PXE安裝忘的七七八八了,所以先整理一下,仍到博客上來。
目標
通過FreeBSD Server PXE安裝FreeBSD操作系統
Server信息
操作系統版本:FreeBSD 8.2-RELEASE
Ip:192.168.1.200/24
使用軟件:
tftpd,已經包含在 FreeBSD 發行版的 base 中。
nfsserver,已經包含在 FreeBSD 中。
isc-dhcp42-server,通過 ports 安裝。
FreeBSD 發行版 DISC1 的 ISO 鏡像FreeBSD-8.2-RELEASE-i386-disc1.iso
準備工作
1、????????????? 配置tftpd
默認情況下,inetd 里面的 tftpd 是不會運行的。在 inetd.conf 中找到 tftpd 所對應的一行,去掉行首的#,保存。注意,去除注釋的這行應該是使用 udp 而不是 udp6。
#vim /etc/inetd.conf
tftp??? dgram?? udp???? wait??? root??? /usr/libexec/tftpd????? tftpd -l -s /tftpboot?
# echo 'inetd_enable="YES"' >> /etc/rc.conf
?
2、????????????? 配置nfsserver
# echo "/data/pxeiso/ -ro -alldirs" > /etc/exports
在/etc/rc.conf添加
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"
?
3、????????????? 安裝配置dhcp-server
A、? 安裝
#cd /usr/ports/net/isc-dhcp41-server && make BATCH=yes install clean
# echo 'dhcpd_enable="YES"' >> /etc/rc.conf
B、? 配置
# cp /usr/local/etc/dhcpd.conf /usr/local/etc/dhcpd.conf_bak_20120502
# vim /usr/local/etc/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
? range 192.168.1.150 192.168.1.199;
? option domain-name-servers ns1.internal.example.com;
? option domain-name "internal.example.com";
? option routers 192.168.1.1;
? option broadcast-address 192.168.1.255;
? server-identifier???? 192.168.1.200;
? next-server???????? 192.168.1.200;
? filename??????????? "/pxeboot";
? option??????? root-path?????? "/data/pxeiso/"";
}
正式安裝
1、? 準備安裝源
# mount /cdrom
# mkdir /data/pxeiso
# cp -aR /cdrom/ /data/pxeiso/
2、? 準備pxeboot
#mkdir /tftpboot
# cp /cdrom/boot/pxeboot ?/tftpboot/
3、? 修改loader.conf文件:
編輯?/data/pxeiso/boot/loader.conf,添加以下兩行:
vfs.root.mountfrom="ufs:/dev/md0"
vfs.root.mountfrom.options="rw"
4、? 設置全自動安裝:
因為這個mfsroot.gz其實是個最小基本環境,包括所有安裝中需要的程序,解壓后是一個軟盤,大小為2.4M啟動鏡像,可以解壓后使用mdconfig 掛載為一個內存盤,掛載到一個目錄就可以修改其中的文件,里面有.snap,bin,boot,dev,etc,mnt,sbin,stand,var等一些目錄及文件
在mfsroot 里放一個install.cfg 就可以實現全自動安裝
1)解壓基本環境文件mfsroot.gz
| #cd /data/pxeiso/boot/ #gzip -d mfsroot.gz |
2)掛載mfsroot
| #mdconfig -atvnode -f mfsroot #mount /dev/md0 /mnt |
3)在mfsroot文件中加入自動安裝配置文件install.cfg
編輯 /mnt/install.cfg,以下是install.cfg配置范例:
# ee /mnt/install.cfg
# 啟用debug模式
debug=YES
nonInteractive=YES
noConfirm=YES
noWarn=NO
# 選擇磁盤并創建FreeBSD分區
disk=ad0
partition=all
bootManager=standard
diskPartitionEditor
# 在FreeBSD分區中劃分label,以下是在虛擬機測試
# / 730MB, swap 256MB, /var 2048MB,? /tmp 512MB,/usr remaining
ad0s1-1=ufs? 730126 /
ad0s1-2=swap 263255 none
ad0s1-3=ufs 2103854 /var
ad0s1-4=ufs 526510 /tmp
ad0s1-5=ufs 0 /usr 1
diskLabelEditor
# 主機全局配置,Host specific configuration:
tryDHCP=YES
netDev=em1
hostname=BSD01
domainname=example.com
# 選擇安裝的版本
distSetKernDeveloper
# 選擇安裝方法
netDev=em1
tryDHCP=YES
nfs=192.168.1.200:/data/pxeiso
mediaSetNFS
# 配置完成,提交!
installCommit
4、卸載mfsroot并重新打包mfsroot
| #umount /dev/md0 #mdconfig -d -u0 #gzip mfsroot |
?
5、? 啟動各個服務
# /etc/rc.d/inetd start
# /etc/rc.d/rpcbind start
# /etc/rc.d/nfsserver start
# /usr/local/etc/rc.d/isc-dhcpd start
6、? 從第二個網卡引導啟動安裝
7、? 最終退出安裝程序,重新啟動系統。并修改BIOS 設置,禁止網絡啟動。
?
常見故障總結
1、如使VM測試,注意關閉VM的dhcp服務吧,不然有可能影響PXE引導
2、NFS別忘記啟動RPCBIND
參考:http://wiki.freebsdchina.org/howto/p/pxeinstall
?
轉載于:https://blog.51cto.com/ipseek/850421
總結
以上是生活随笔為你收集整理的PXE自动安装FreeBSD的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中CardLayout的使用方法
- 下一篇: IPv6 相关的工作简介