符集的支持。另外,msdos文件系统中,非8.3格式的文件名的支持的兼容性也不好,应尽量避免使用。
A. 如何快速判断问题是在syslinux/kernel+initramfs/rootfs里?
按《(p136)》提到的方法,用官方的LiveCD做一个启动U盘,并在测试机器上试验启动成功,说明U盘制作是成功的。
然后,用自己制作的image.squ换掉U盘里的image.squashfs(文件要改名),来验证自己做的image.squ。如果基本正常,这个U盘也能启动。反之,如果启动过程中,initramfs不能加载image.squ里的squashfs映像,说明我们做image.squ有问题。
接着用自己做的kernel+initramfs(/home/lfs/rootfs/boot下)换下U盘里的kernel+initramfs(u盘里boot/目录下),要改成U盘里原来文件的名字。kernel和initramfs之间,有些设置是要配套的,所以成组换掉。如果U盘不能正常启动了,说明是kernel+initramfs没做好。
syslinux是否安装好,则容易从开机后的启动选项看出来。
这里要提到的是,用官方iso做出的U盘,其中的syslinux.cfg里,有设置对aufs的支持,在这个实验中,自己做的kernel+initramfs并不能很好支持aufs,记得换下自己做的kernel+initramfs时,要将cfg文件里的aufs设置去掉,否则在mount rootfs时,会“符号链接数过多”的错误,不能成功mount rootfs而中断启动过程。