我需要为 LIVECD(不是 ubuntu netboot 小 cd,而是用于从命令行启动的桌面 livecd)制作紧急 PXE 引导程序。这可行吗:
# Create a cpio archive of just the ISO and append it to the initrd image.
( echo "ubuntu-13.10-desktop-amd64.iso" | cpio -H newc --quiet -o ) | gzip -9 | cat ubuntu-13.10-desktop-amd64.iso_EXTRACTED/casper/initrd0.img - > tftpboot/initrd0.img
# Kernel image.
cp ubuntu-13.10-desktop-amd64.iso_EXTRACTED/isolinux/vmlinuz0 tftpboot/vmlinuz0
# pxelinux bootloader part:
LABEL pxeboot
KERNEL vmlinuz0
APPEND initrd=initrd0.img root=/ubuntu-13.10-desktop-amd64.iso rootfstype=iso9660 rootflags=loop
ONERROR LOCALBOOT 0
我究竟做错了什么?
答案1
该配置通过 TFTP 等慢速协议加载整个图像。
尝试使用 NFS 协议的其他选项。
apt-get install nfs-kernel-server mkdir /mnt/ubuntu mount -o loop ubuntu-13.10-desktop-amd64.iso /mnt/ubuntu-desktop-cd
通过 NFS 共享
sudo nano /etc/exports
添加此行
/mnt/ubuntu-desktop-cd 192.168.0.0/24(ro,insecure,no_root_squash,async,no_subtree_check)
启动 NFS 服务
service nfs-kernel-server restart
在行中
APPEND
,将root
、rootfstype
和替换rootfstype
为:netboot=nfs nfsroot=192.168.0.10:/mnt/ubuntu-desktop-cd
笔记:我只是使用这些 IP 作为示例。
192.168.0.10 是 NFS 服务器的 IP
192.168.0.0/24 是本地网络范围。
看https://help.ubuntu.com/community/Installation/LocalNet#A_variation:_Booting_the_.22Live_CD.22_image