我想通过标准 ubuntu 内核(OCZ revodrive 3 x2)默认(尚未)支持的 SATA 控制器在硬盘上安装 (L)ubuntu。但是,我能够修补内核,然后以这种方式访问硬盘。
现在我被卡住了,因为我不知道如何使用这个打过补丁的内核来获取 (L)Ubuntu 引导 CD。
直到现在我都没有成功的想法:
在另一个硬盘上安装 Lubuntu 并将其根分区内容复制到新磁盘,然后设置新的引导加载程序 -> 系统没有显示任何消息并且没有引导
从另一个硬盘上的 ubuntu 安装中运行 ubiquity 安装程序(但使用补丁内核)
有没有办法用自定义内核生成CD?
“容易”是一个相对的术语。不会太难,基础知识在这个页面上
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
Run Code Online (Sandbox Code Playgroud)
将您的内核模块复制到提取的 squashfs ,到 lib/modules (您可以删除旧模块)。
# Assuming you are following the above link
cp -R /lib/modules/your_custom_kernel ~/edit/lib/modules
Run Code Online (Sandbox Code Playgroud)
解压旧的initramfs,这里我将使用~/initrd作为构建目录
mkdir ~/initrd
cd ~/initrd
lzma -dc -S .lz casper/initrd.lz | cpio -imvd --no-absolute-filenames
Run Code Online (Sandbox Code Playgroud)
将您的 lib/modules 复制到 initrd lib/modules(您可以删除旧模块)
cp -R /lib/modules/your_custom_kernel ~/initrd/lib/modules
Run Code Online (Sandbox Code Playgroud)
打包initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../cusotm.initrd.lz
Run Code Online (Sandbox Code Playgroud)
覆盖旧的 initrd
cp ~/cusotm.initrd.lz ~/extract-cd/casper/initrd.lz
Run Code Online (Sandbox Code Playgroud)
现在重新打包iso
https://help.ubuntu.com/community/LiveCDCustomization#Producing_the_CD_image