PXE 安装 squashfs 根

PXE 安装 squashfs 根

我有一个自定义的可启动 ISO 映像。该 ISO 映像具有以下内容:

/卡斯珀
   根文件系统
   初始化文件
   维姆林兹
/isolinux
   引导目录
   isolinux.bin
   isolinux配置文件
   菜单.c32
   菜单配置文件

我尝试在多台主机上通过 PXE 安装此映像。在我的试用中,pxelinux.cfg/default 包含以下内容:

DEFAULT menu.c32
label  ubuntu14-install
menu label ubuntu14-install
kernel boot=casper netboot=nfs nfsroot=192.168.4.100:/ubuntu14 initrd=initrd.gz root=/dev/nfs 

dhcp 服务器/tftpd/nfs 服务器在 192.168.4.100 上运行,导出目录 /ubuntu14 包含 casper 目录,其中包含 root.squashfs、内核和 initrd 文件。

但是,客户端在配置网络后出现内核恐慌状态:

...
* Starting configure network device security
* stopping cold plug devices
* stopping log initial device creation
[ 241.356693] INFO: task loop0:515 blocked for more than 120 seconds
[ 241.357549]       Not tainted 3.13.0-62-generic #102-Ubuntu
[ 241.358328] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message
...

这是因为 initrd.gz 不是专门为网络启动而构建的吗?

我还尝试使用 preseed 和 ks 配置通过 PXE 安装标准 Ubuntu14.10 发行版,没有发现任何问题。但无法使用附加选项安装我的自定义 root.squashfs:

live-installer/net-image=http://192.168.4.100/Ubuntu14/root.squashfs

在 pxelinux.cfg/default 文件中。

任何帮助将不胜感激。

相关内容