标签归档:livecd

关于livecd从硬盘启动的思考

对于livecd通常都需要
mount 必要的proc,dev,sys等等
mount CDROM上的iso镜像
mount 文件系统(通常是squashfs)

bios能识别光驱和硬盘,并从上面加载kernel和initrd,但是进入linux之后光驱和硬盘还是必须挂载之后才可访问
那么将livecd变成从硬盘启动就会有两种方法:
1.在挂载iso镜像前,先挂载镜像所在硬盘分区,然后再挂载iso镜像(多了一个步骤),后面的不用改
2.不挂载iso,解压里面的squashfs文件,挂载squashfs所在硬盘分区,然后挂载squashfs文件系统即可

会遇到的几个问题:
1.脚本里面可能会挂载iso镜像到一个特定的目录,那么不要用mount -o loop的挂载方式
mkdir一个loopN设备,然后losetup /dev/loopN "$ISO-FILE"指定要挂载的iso镜像文件到一个loop设备上,最后,ln -sf /dev/loopN /dev/lfs-cd,将这个已经关联到文件的loop设备映射到livecd原脚本的固定目录,这样的话脚本后面原来的东西就可以原封不动的使用了

2.livecd发行版的内核为了减小体积,做了裁剪,在文件系统这一部分,可能不支持我们常用到ntfs分区