url : git@github.com:lisider/linux.git
branch : ok6410a-linux-5.11
commit id : d64fe683e8d36e8fff882f1319de00f442fea1a8
config : ok6410A_sdboot_mini_defconfig
前提
vmlinux -objcopy-> arch/arm/boot/Image
arch/arm/boot/Image -gzip & add arch/arm/boot/compressed/head.S-> arch/arm/boot/compressed/vmlinux
arch/arm/boot/compressed/vmlinux -objcopy-> arch/arm/boot/zImage
arch/arm/boot/zImage -mkuboot-> arch/arm/boot/uImage
问题 :
1. U-boot中的 kernel_entry 对应 linux中的哪一条代码?
答案 :
arch/arm/boot/compressed/head.S 中的 start 标号
linux-5.11 uImage 的启动过程
arch/arm/boot/compressed/head.S
- 2 Image 开MMU并转到 start_kernel 的过程
arch/arm/kernel/head.S
init/main.c
cpu_idle
kernel_init
kthreadd