本文包括:
1. 交叉编译树莓派ubuntu系统可使用的内核(debian package格式的可安装文件)
2. 使用WPA_Supplicant连接wifi
——————————————————————————————————————————
1.1 情景重现:
树莓派开机,运行
$ uname -r
结果显示是 5.15 版的内核。 因此去Github下载了 5.4 版的内核源文件,想试验一下更新(切换?)内核。跟着官方教程 <The Linux kernel > 一步步往下做,还算顺利。直到这一步:
$ sudo cp mnt/fat32/$KERNEL.img mnt/fat32/$KERNEL-backup.img $ sudo cp arch/arm64/boot/Image mnt/fat32/$KERNEL.img
mnt/fat32 路径下运行下:
$ ls -l -h | grep img
找出的像内核的玩意,也只有initrd.img 了。把它备份,然后将编译好的Image复制到 mnt/fat32/ 下,改名为kernel8.img(树莓派4B 64位内核的默认名字)。接下来照猫画虎,一步步完成。接着插卡,开机,就启动不了了。屏幕卡在 "Initramfs unpacking faild: invalid magic at start of compressed archive"。然后我在百度、谷歌、搜狗搜索了两天,了解了内核发展史上,使用过的各种压缩解压算法,比如lz4,gzip等等等。也尝试着在各种配置文件里,修改内核启动时的解压算法选项。啥用都没有。之后又郁闷了一个周日,为啥initrd.img 28M,我编译的内核才十几M?直到我灵光一闪,去搜索了initrd.img。原来这位根本就不是内核啊。可是 mnt/fat32/ 下,除了这位,找不