编译 Linux 内核时运行“sudo make install”时 /boot 空间不足

编译 Linux 内核时运行“sudo make install”时 /boot 空间不足
$ df -h /boot/
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  705M  173M  481M  27% /boot

我尝试编译 Ubuntu Linux 内核(v5.11.16)

fakeroot debian/rules clean // fine
make menuconfig // fine
make // fine
sudo make modules_install // fine

但是当我这样做时sudo make install/boot分区很快就会满了,并且安装命令会报告错误:

I: Set the RESUME variable to override this.
Error 24 : Write error : cannot write compressed block 
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.11.16+ with 1.

请帮忙,这是我第一次 :) // Ubuntu 20.04

答案1

如果你正在编译内核,那么最好在/boot目录之外进行编译。这是我从源代码编译时遵循的过程:

  1. 将所需的内核源下载或克隆到具有至少 25GB 可用存储空间的设备上的目录中
  2. 进入源目录
  3. 复制现有配置/boot
    cp /boot/config-$(uname -r) .config
    
  4. 使用基于终端的配置工具
    make menuconfig
    
  5. 根据您的硬件添加/删除选项
  6. 使用 Clang 编译内核
    make CC=clang -j12
    
  7. 安装内核
    sudo make install
    
  8. 更新 grub
    sudo update-grub
    
  9. 重启
    sudo reboot
    

通常这就是全部内容了。

答案2

我在 make 命令中添加了 INSTALL_MOD_STRIP=1 标志。它起作用了。

make INSTALL_MOD_STRIP=1 modules_install

相关内容