3,126 瀏覽數

FreeBSD Pxeboot 常見問題

FreeBSD PXE 設定方式,請參考

  1. FreeBSD Pxeboot & install (syslinux) – http://benjr.tw/95092
  2. FreeBSD 9,10 Pxeboot & install – http://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.
    

    freeBSD_bootonly02
    freeBSD_bootonly03
    這幾版的 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
    

    freeBSD_bootonly04

  • 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
    

2 個網友的想法 “FreeBSD Pxeboot 常見問題

  1. 自動參照通知: FreeBSD 9,10 Pxeboot & install – Benjr.tw

發表迴響