自定义 iso,重建 initrd (mkinitramfs) 时出错

自定义 iso,重建 initrd (mkinitramfs) 时出错

我正在创建一个自定义 ISO(从 ubuntu-14.04.1-server-amd64.iso 开始),并希望将其内核升级到最新版本(对我来说是 3.13.0-38-generic)。我按照LiveCD定制。我正在为离线安装构建自定义 ISO。

我有一个提取的 ISO 并 chroot 到“编辑“监狱和预制:

apt-get update
apt-get dist-upgrade
apt-get install linux-headers-$(uname -r) build-essential

但是当我尝试重建 inited

root@ff:/# mkinitramfs -o /initrd.gz
grep: /boot/config-3.13.0-38-generic: No such file or directory
depmod: WARNING: could not open /tmp/mkinitramfs_9fqHlg/lib/modules/3.13.0-38-generic/modules.order: No such file or directory
depmod: WARNING: could not open /tmp/mkinitramfs_9fqHlg/lib/modules/3.13.0-38-generic/modules.builtin: No such file or directory

所以我从另一台设备获取 /boot/config 并再试一次:

root@ff:/# mkinitramfs -o /initrd.gz
depmod: WARNING: could not open /tmp/mkinitramfs_CAG80R/lib/modules/3.13.0-38-generic/modules.order: No such file or directory
depmod: WARNING: could not open /tmp/mkinitramfs_CAG80R/lib/modules/3.13.0-38-generic/modules.builtin: No such file or directory

我的/lib/模块:

root@ff:/# ls /lib/modules/3.13.0-38-generic/
build          modules.alias.bin    modules.dep      modules.devname modules.symbols
modules.alias  modules.builtin.bin  modules.dep.bin  modules.softdep  modules.symbols.bin

有任何想法吗?

答案1

如果您未指定内核版本,则默认使用您当前正在运行的版本。由于您的系统自构建 iso 以来已更新,因此您正在运行 chroot 中不存在的较新内核版本,因此找不到它。查看安装了哪个版本 ( ls /boot) 并指定为mkinitramfs -o /initrd.gz 3.13.0-20

答案2

apt-get install linux-generic

解决了我的问题

相关内容