为在 Raspberry 3B+ 上运行的 Ubuntu Server 18.04 构建内核

为在 Raspberry 3B+ 上运行的 Ubuntu Server 18.04 构建内核

两天来,我一直在尝试为在 Raspberry Pi 3B+ 上运行的 Ubuntu 18.04 构建内核,但遇到了问题。我需要从源代码构建它,因为我想要 RT_PREEMPT 补丁,但现在我只是想构建一个干净的版本。

我尝试编译版本 4.19.72https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.19.8.tar.xz按照 Raspbian 官方指南操作,博文:

对于配置步骤我尝试过:

wget -O .config https://raw.githubusercontent.com/raspberrypi/linux/rpi-4.19.y/arch/arm/configs/bcm2709_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- olddefconfig

我尝试在运行官方 18.04 服务器映像的 pi 上使用 /proc/config.gz 中的 .config。

然后我使用以下方法进行编译:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

安装:

sudo env PATH=$PATH make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH="root partition" modules_install
sudo cp arch/arm/boot/zImage "boot partition"/vmlinuz_test
sudo cp arch/arm/boot/dts/*.dtb "boot partition"/fat32/

由于没有覆盖,所以我跳过了该步骤。

最后,我编辑了config.txt“启动分区”以使用 Pi 引导加载程序:

kernel=vmlinuz_test
initramfs initrd.img followkernel
#device_tree_address=0x02000000

在此之后,pi 无法再启动,而且我无法真正调试该问题,因为我没有监视器,也无法在卡上找到任何更改日志。

我可以使用initrd.img与原始内核相同的版本吗?我在编译文件夹中找不到任何版本,因此我保留了相同的版本,但这可能是一个问题。

我真的希望有人能提供帮助,无论如何,感谢您阅读这篇相当长的文章。

相关内容