1 下载内核
从 https://github.com/raspberrypi/linux/ 官网下载内核,可选择5.4,5.10等版本
2 配置编译
- 下载内核源码后,通过make bcm2711_defconfig生成配置文件;
- 然后执行make ARCH=arm64 CROSS_COMPILE=xxxx- menuconfig,在
Platform selection ---> [*] Broadcom BCM2835 family
目录项中选择CONFIG_ARCH_BCM2835平台架构
- 然后执行make ARCH=arm64 CROSS_COMPILE=xxxx- all -j8编译内核,生成rch/arm64/boot/Imag文件和arch/arm64/boot/dts/bcm2710-rpi-3-b.dtb文件
3 启动qemu
qemu-system-aarch64 -kernel Image -initrd ../rootfs.arm64.cpio.gz -m 1024M -smp 4 -append "root=/dev/ram rw console=ttyAMA0 earlycon=pl011,0x3f201000" -nographic -M raspi3 -dtb bcm2710-rpi-3-b.dtb
注意:
(1) -m 指定的内存总量一般不能够太多(我配置2048无法启动)
(2) -smp需要指定4,表示4个核;(指定2无法启动)
(3)-append参数中,通过earlycon=p1011,0x3f201000可看到早期串口打印,调试阶段建议打开