I know that ROM code contains a jump vector as instruction to make CPU to look the MLO or the first 512 bytes from boot sector. I have a couple of confusions about booting?
-
Is MLO the file that contains this 512 bytes ?
-
Is MLO the boot sector?
-
How do the cpu reads MLO and put its contents into RAM if it do not have any mmc driver at this stage?
-
Also I have observed that while copying MLO, uboot.img, uImage and device tree blob, I have to copy MLO first.Why?
-
Because in MLO there are no filesystem drivers cause it can have only 512 bytes, we need to use U-boot.bin/img file? What if it can have more storage within it to support all the useful functioality of uboot, in that case do not have to use uboot stage?
-
Is initial ramdisk image is used by U-boot to load kernel and driver modules that kernel will use, or kernel uses ramdisk when its loaded?