我想通过 SATA 控制器在硬盘上安装 (L)ubuntu,该控制器默认(尚不支持)由标准 ubuntu 内核 (OCZ revodrive 3 x2) 支持。但是,我能够修补内核,然后通过这种方式访问硬盘。
现在我很为难,因为我不知道如何获取带有此修补内核的 (L)Ubuntu 启动 CD。
我至今尚未成功的想法:
在另一个硬盘上安装 Lubuntu,并将其根分区内容复制到新磁盘,然后设置新的引导加载程序 -> 系统没有显示任何消息,也没有启动
在另一个硬盘上的 ubuntu 安装中运行 ubiquity 安装程序(但带有修补过的内核)
有没有办法生成带有自定义内核的 CD?
答案1
“简单”是一个相对术语。它不会太难,基础知识在本页
https://help.ubuntu.com/community/LiveCDCustomization
就您而言,变化相当小。
提取 iso 和 filesystem.squashfs(如上面的链接所述)
将新内核复制到 casper/vmlinux(覆盖旧内核)。
# Assuming you are following the above link
cp your_kernel ~/extract-cd/casper/vmlinuz
将内核模块复制到解压的 squashfs ,复制到 lib/modules (您可以删除旧模块)。
# Assuming you are following the above link
cp -R /lib/modules/your_custom_kernel ~/edit/lib/modules
提取旧的 initramfs,这里我将使用 ~/initrd 作为构建目录
mkdir ~/initrd
cd ~/initrd
lzma -dc -S .lz casper/initrd.lz | cpio -imvd --no-absolute-filenames
将您的 lib/modules 复制到 initrd lib/modules (您可以删除旧模块)
cp -R /lib/modules/your_custom_kernel ~/initrd/lib/modules
打包 initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../cusotm.initrd.lz
覆盖旧的 initrd
cp ~/cusotm.initrd.lz ~/extract-cd/casper/initrd.lz
现在重新打包 iso
https://help.ubuntu.com/community/LiveCDCustomization#Producing_the_CD_image