FreeBSD PXE 設定方式,請參考
- FreeBSD Pxeboot & install (syslinux) – https://benjr.tw/95092
- FreeBSD 9,10 Pxeboot & install – https://benjr.tw/95202
我當初在實驗 FreeBSD PXE 遇到如下的各種問題
-
FreeBSD 9 , 10 bootonly.iso 無法透過 syslinux PXE
mounting root: waiting for device /dev/iso9660/10_3_RELEASE_AMD64_B0 ... Mounting from cd9660:/dev/iso9660/10_3_RELEASE_AMD64_b0 fail with error 19.
這幾版的 bootonly.iso 光碟一定會去讀取光碟,但我們從 PXE 開機,並沒有光碟存在,所以 PXE 開機後就無法繼續下去了.Trying to mount root from cd9600:/dev/iso9660/10_3_RELEASE_AMD64_B0 [ro]... mountroot: waiting for device /dev/iso9600/10_3_RELEASE_AMD64_BO [ro]...
網路上都推薦修改過的 bootonly.iso – mfsbsd http://mfsbsd.vx.sk/ ,該光碟是從原本的 FreeBSD bootonly.iso 光碟改成可以從網路開機的 LiveCD.
設定方式與剛剛 FreeeBSD 8 類似.只是 pxelinux.cfg/default 檔案改成如下.
# vi /var/lib/tftpboot/pxelinux.cfg/default default 0 TIMEOUT 300 PROMPT 1 display msgs/boot.msg label 0 localboot 1 LABEL 1 kernel memdisk append iso initrd=mfsbsd-10.3-RELEASE-amd64.iso
開機後需要輸入預設的 Root password : mfsroot
進入會進入 LiveCD 的環境,直接執行 # bsdinstall 即可進入安裝畫面.# bsdinstall
-
NFS 限制網路存取
我有遇過 PXE Client 得到 IP 後就停止了,後來把 NFS 限制網路存取的敘述拿掉,變成下面才成功.
root@benjr:~# vi /etc/exports /var/ftp/FreeBSD_10.3 *(ro,sync,no_root_squash)
-
VirtualBox 的虛擬機器會停在 FreeBSD/x86 bootstarp loader
一開始用 VirtualBox 實驗發現不行,虛擬機器會停在 FreeBSD/x86 bootstarp loader .後來換成實體機器才沒有這個問題.
net0: 08:00:27:4f:5c:8a using 82540em on PCI00:03.0 (open) [Link: up, TX:0 TXE:0 RX:0 RXE:0] DHCP (net0 08:00:27:4f:5c:8a)...... ok net0: 172.16.0.10/255.255.255.0 gw 172.16.0.1 Next server : 172.16.0.1 Filename: pxeboot Root path: /var/lib/tftpboot/FreeBSD_10.3 tftp://172.16.0.1/pxeboot... ok PXE Loader 1.00 Building the boot loader argumets Relocating the loader and the BTX Starting the BTX loader BTX loader 1.00 BTX version is 1.02 consoles : internal video/keyboard BIOS drive C: is disk0 PXE version 2.1 real mode entry point @9cf7:03f0 BIOS 627kB/522720kB available memory FreeBSD/x86 bootstarp loader, Revision 1.1 (root@releng1.nyi.freebsd.org, Fri Mar 25 02:04:38 UTC 2016)
大概過了1個小時才會出現下面的畫面,不知道是不是 虛擬機器的問題.
bootp: no reply pxe_open: server addr: 172.16.0.1 pxe_open: server path: / pxe_open: gateway ip: 0.0.0.0 NFS MOUNT RPC erroe: 72 \ can't load 'Kernel' Type '?' for a list of commands, 'help' for more details help. OK _
-
mounting root filesystem rw failed
FreeBSD PXE boot 出現下面的錯誤訊息
mounting root filesystem rw failed startup aborted
查了一下要修改 FreeBSD 10.3 bootonly 路徑的 /etc/rc.conf 加入 root_rw_mount=”NO”
root@benjr:~# vi /var/ftp/FreeBSD_10.3/etc/rc.conf sendmail.enable="NONE" hostid_enabled="NO" root_rw_mount="NO"
-
Mounting /etc/fstab file systems failed
Stating file system checks: mounting local file systems:mount_cd9600: /dev/iso9660/10_2_RELEASE_AMD64_B0: Valid argument. Mounting /etc/fstab file systems failed, startup aborted ERROR: ABORTING BOOT (sending SIGTERM to partent)!
感覺是要修改 /var/ftp/FreeBSD_10.3/etc/fastb ,修改後再重新開機就沒有問題了.
root@benjr:~# vi /var/ftp/FreeBSD_10.3/etc/fastb # Device Mountpoint FSType Options Dump Pass 172.16.0.1:/var/ftp/FreeBSD_10.3 / nfs ro 0 0
我查到網路上有人是直接宣告在 /var/ftp/FreeBSD_10.3/boot/loader.conf 不過我沒有試過這個方式.
if_fxp_load="YES" nfscl_load=yes boot.nfsroot.server="172.16.0.1" boot.nfsroot.path="/var/ftp/FreeBSD_10.3" vfs.root.mountfrom="nfs:172.16.0.1:/var/ftp/FreeBSD_10.3" vfs.root.mountfrom.options="ro"
-
base.txz ,kernel.txz , b32.txz File unavailable
當你實際在安裝時會發現,系統會告知你缺少部分檔案,就無法繼續下去.
base.txz File unavailable kernel.txz File unavailable b32.txz File unavailable
這幾個檔案跟安裝時可以選的套件有關,不過就算安裝時都不選擇這些檔案一樣不能安裝.
[ ] doc Additional documentation [*] games Games(Fortune, etc.) [*] lib32 32-bit compatibility libraries [*] ports Ports tree [ ] src system source code
這些檔案不存在 DVD 安裝光碟中,需要到 FreeBSD 的 FTP – ftp://ftp.freebsd.org/pub/FreeBSD/releases/ 去下載這些檔案 (base.txz , doc.txz , games.txz , kernel.txz , lib32.txz , ports.txz , src.txz
) ,再放到 /var/ftp/FreeBSD10.3-64-DVD 目錄裡即可. -
vsftpd : refusing to run with writable anonymous root
FreeBSD 透過 PXE 需要 FTP 提供額外的安裝檔案,但是卡在 FTP 錯誤,直接用 FTP 去測試,卻遇到下面的錯誤,原來是 FTP 目錄的權限不對
vsftpd : refusing to run with writable anonymous root
root@benjr:~# chown root:root /var/ftp root@benjr:~# chmod 755 /var/ftp
博客不错,嘎嘎!