我正在使用 Raspberry Pi 4 USB 启动 ssd。
操作系统:Ubuntu 桌面 20.04.2 64bit arm64
要在没有 sd 卡的 USB 上启动,我将启动配置为在解压缩的 vmlinux 上启动。
这是由于缺少使用压缩内核 vmlinu z在 USB 上启动的能力
所以我使用脚本绑定到 apt 事件,在更新后解压缩内核。
我的脚本是这样的:
#... controls
zcat vmlinuz > vmlinux
#...
它可以工作,但现在,我发现,与更新的内核版本有关,这个脚本:
/usr/src/linux-raspi-headers-5.4.0-1028/scripts/extract-vmlinux
在我看来,这个脚本也解压缩了内核。
我的问题是:最好使用这个脚本,除非zcat?
像这个命令:# extract-vmlinux vmlinuz > vmlinux
这个命令正确吗?
最好使用
extract-vmlinux
有几个原因:extract-vmlinux
脚本知道如何提取各种压缩内核,尽管您仍然需要相关的命令行实用程序。zcat
对你有用;简单地使用lz4cat
LZ4 压缩内核对我不起作用。出于与您不同的原因,我编写了一个内核安装挂钩脚本,用于
extract-vmlinux
解压缩 LZ4 压缩的 Ubuntu 内核。这应该可以帮助您为 Raspberry Pi 提供相同的功能。我会将您的解决方案与我的集成。
我将在 post update apt 钩子上执行,
但会考虑将 abaut 移动到内核 post install 钩子中,
这是我的代码:
更新
有一个问题:
如果我执行
$EXTRACT_VMLINUX /boot/firmware/vmlinuz && echo 'ok'
输出将是:
extract-vmlinux if fail 不要抛出错误:不要退出 1 如果我们使用它,
这是一个坏新,如果失败,我们可以检查它
zcat -qf vmlinuz > vmlinux
所以最好不要使用 extract-vmlinux 而是使用 zcat 。
对于 rpi 用户
在 Ubuntu 20.04.2 上,不再需要在树莓派 4 上的 USB 上解压缩内核:
在 config.txt 我们可以使用
kernel=vmlinuz
它,它无需解压即可工作。此致