我先编译了一下内核,然后用命令mkinitramfs -o ~/tmp/initramfs-2.6... 2.6... 做出来的initrd有70几M,然后重启一下就提示initrd太大了,我看了下/boot下默认的initrd只有3M左右。然后把/et/initramfs-tools 下的MODULE=most 改成了MODULE=dep,再执行上面的命令就出现了下面的错误:
mkinitramfs: missing loop root /dev/loop0 /sys entry
mkinitramfs: workaround is MODULES=most
mkinitramfs: Error please report the bug
怎么ubuntu里用mkinitramfs制作出来的initrd.img有70多M???
答案:2 悬赏:50 手机版
解决时间 2021-02-07 06:54
- 提问者网友:蔚蓝的太阳
- 2021-02-07 03:26
最佳答案
- 五星知识达人网友:独钓一江月
- 2021-02-07 04:15
initrd太大是因为你kernel编译的时候编译的模块太多,make modules_install之后很多驱动都被加到了 /lib/modules/xxx 目录下,而当你mkinitramfs的时候 会把这些模块加载到你的initrd里面去,自然就大了。
编译的时候不必要的模块 直接选择 N 进行编译,先做出来initrd.img 然后再把更多的模块编译出来。
编译的时候不必要的模块 直接选择 N 进行编译,先做出来initrd.img 然后再把更多的模块编译出来。
全部回答
- 1楼网友:青尢
- 2021-02-07 04:57
你好!
title 随便写
root (hd0,4)/ubuntu/disks
kernel /boot/vmlinuz-2.6.27-2-generic root=UUID=40586D90586D860E loop=/ubuntu/disks/root.disk ro quiet splash
initrd /boot/initrd.img-2.6.27-2-generic
注意:两个内核文件都可以在/boot目录下看到,我猜是:
/boot/vmlinuz-2.6.27-2-generic和
/boot/initrd.img-2.6.27-2-generic
如果不是,改成正确的名字。错了也没关系啊,一个内核进不去,重启之后从另一个内核进去不就行了。
如果对你有帮助,望采纳。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯