How does the file linux-2.6.32.2/arch/arm/boot/compressed/head.S packed as the entry point of kernel image?
In the main Makefile of kernel source including the architecture specific Makefile was included by the line
include $(srctree)/arch/$(SRCARCH)/Makefile
And how does the Makefile in other directories were invoked/parsed to build vmlinux object file from their corresponding directories'
source files, for example in case of arm architecture, the directories like
1)linux-2.6.32.2/arch/arm/kernel
2)linux-2.6.32.2/arch/arm/boot
3)linux-2.6.32.2/arch/arm/boot/compressed and so and so?
I could not locate the lines responsible for that in main Makefile.
And how it was ensured so that the file linux-2.6.32.2/arch/arm/boot/compressed/head.o packed as the first file in the kernel image memory layout in case zImage was the target?
In other words, how the linker script file linux-2.6.32.2/arch/arm/boot/compressed/vmlinux.lds.in ensured to be called in appropriate order to make start function in linux-2.6.32.2/arch/arm/boot/compressed/head.S to be the entry point of kernel image?
Please reply!
|