I am trying to understand linux boot proces on x86 and ARM archtectiure and wanted to know the difference between booting linux on x86 and booting linux on ARM.
I have gone through the linux boot protocol on x86 and find that kernel is loaded in two steps.
https://www.kernel.org/doc/Documentation/x86/boot.txt
1) Load real mode kernel code with allocation for command line parameters.
2) Load the protected mode(non-real) kernel code.
Is it beacause of the unusual address space of x86 archtectiure?
I don't see such behaviour on ARM side where linux Image is loaded as a whole into CPU address mapped to logical kernel space at contiguous location.
Could anyone provide me the insight of linux booting process on both these architecture?