0

我正在尝试为我的旧笔记本电脑编译一个自定义内核(它是戴尔 Inspiron 灵越 1525,配备 Core 2 Duo 处理器、2GB 内存和 HDD——不是 SSD)。在这台计算机中,我有 3 个分区,2 个小分区(每个 10GB),其中包含我使用的发行版的根,还有一个大分区用于文件。我正在使用 MX Linux(如果相关)并在安装在 /mnt/files 的大分区中编译内核。我做的第一件事是从 Linus 在kernel.org的 repo 中克隆 v4.19 标签,然后我从当前运行的内核中复制了配置(从/boot/config-4.19.0-9-686-pae),运行make menuconfig,只是更改了版本名称后面的字符串至-copy,保存并退出。然后我编译了。这个内核,其配置刚刚从当前运行的内核复制而来,运行良好。但是,它不是自定义的,因为它只是使用完全相同的配置。

然后我开始了一个新的,再次通过复制当前.config并使用make menuconfig禁用很多我认为与我无关的东西。显然,编译make ARCH=i386 -j3然后make INSTALL_MOD_STRIP=1 modules_install进行得很顺利,但是当我输入时,make INSTALL_MOD_STRIP=1 install我得到了这个:

$ sudo make INSTALL_MOD_STRIP=1 install
sh ./arch/x86/boot/install.sh 4.19.0-custom arch/x86/boot/bzImage \
    System.map "/boot"
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.19.0-custom /boot/vmlinuz-4.19.0-custom
run-parts: executing /etc/kernel/postinst.d/dkms 4.19.0-custom /boot/vmlinuz-4.19.0-custom
Warning: Unable to find an initial ram disk that I know how to handle.
Will not try to make an initrd.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.19.0-custom /boot/vmlinuz-4.19.0-custom
update-initramfs: Generating /boot/initrd.img-4.19.0-custom
cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries 
    nor crypto modules. If that's on purpose, you may want to uninstall the 
    'cryptsetup-initramfs' package in order to disable the cryptsetup initramfs 
    integration and avoid this warning.
I: The initramfs will attempt to resume from /dev/sda1
I: (UUID=a1472f28-bb65-4a3a-a964-59b72d46b645)
I: Set the RESUME variable to override this.
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.19.0-custom /boot/vmlinuz-4.19.0-custom
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.19.0-custom /boot/vmlinuz-4.19.0-custom
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.19.0-custom /boot/vmlinuz-4.19.0-custom
Generating grub configuration file ...
Found theme: /boot/grub/themes/linen/theme.txt
Found linux image: /boot/vmlinuz-4.19.0-custom
Found initrd image: /boot/initrd.img-4.19.0-custom
Found linux image: /boot/vmlinuz-4.19.0-9-686-pae
Found initrd image: /boot/initrd.img-4.19.0-9-686-pae
Found linux image: /boot/vmlinuz-4.19.0-copy
Found initrd image: /boot/initrd.img-4.19.0-copy
Found memtest86+ image: /boot/memtest86+.bin
Found antiX 19.2 (19.2) on /dev/sda2
done

然而,第一个内核 ( -copy) 也给出了这些警告(并且它正在工作)。这个新的内核 ( -custom) 开始启动,但随后卡在了一个 busybox(initramfs)提示符中。我可以在那里发出一些命令,我​​可以看到有一个带有一些基本程序的文件系统(我想来自busybox)。但它并没有完成启动过程。

当我exit在此(initramfs)提示中执行命令时,我得到了以下内容:

Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
  - Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=efdafcea-bdab-4c13-b2a7-caa77e4330ca does not exist. Dropping to a shell!

我试图从上面的消息中输入建议,但我不知道该怎么做。如果我cat proc/cmdline在这个相同的 initramfs 环境中输入,我会得到如下信息:

BOOT_IMAGE=/boot/vmlinuz-4.19.0-custom root=UUID=efdafcea-bdab-4c13-b2a7-caa77e4330ca ro video=SVIDEO-1:d quiet splash

如果我输入cat proc/modules我得到这个输出,如果我输入ls dev我得到这个。(抱歉画质不好)。

我很确定我在配置过程中删除的东西menuconfig是导致问题的原因,如果我从这些消息中了解任何内容,我猜想内核无法挂载根文件系统,也许它找不到分区山?

我的问题是,鉴于这种情况,在 中的设置中是否有任何明显的问题存在.config?这是我的.config 文件

4

0 回答 0