AnsweredAssumed Answered

New to Embedded, Trying to sort out the SDcard structure

Question asked by Rodney Fulk on Nov 17, 2012
Latest reply on Nov 23, 2012 by Daiane Angolini

I am not very experienced with Linux in General but I am trying to sort out what is on my SDcard and I am hoping to find some answers.


Can someone explain to me what is going on?


I have been trying to find out on my own where everything is and how it all ties together but I am confused.


I was at a freescale training session but the trainer was very busy and I thought I had a handle on it but not sure...


My impression is that the disk image has the MBR, then the uboot with any of its settings, then the base kernel in uImage form. My impression is that they are "hard coded" onto the hard drive and not really in a partition. This is followed by the root file system which resides in standard partitions.

When the root fs is mounted then the kernel can load any modules it needs and can run any configurations it needs.


Is this accurate or could someone help me out here?


Originally there was a separate /boot partition with Linux but I seldom see that anymore. My impression was that the small boot partition was required to make sure the kernel resided in the beginning of the drive as a limitation of the cmos in standard PC's but is no longer the case.


So then assuming I have the structure correct I should be able to update the uBoot or uImage without affecting the rootfs?


Can you have multiple kernels to load from with our uboot system just like a standard PC does with lilo or grub?


I am assuming the Kernel for Android and Linux are the same and that Android is a framework loaded over the top of the Linux Kernel. So you could easily have a multi boot system that uses the same kernel . If this is the case then you could run either Linux or Android based on what rootfs you decided to load?


And lastly if uboot and uimage are both hard coded onto the drive do they need to reside in /boot as well?

Under my ltib (imx53  11.09.01) I see there is the uncompressed kernel vmlinux, the normal zImage and the uImage files. As well as the uboot.bin file.


Also, since I have the start-r board and the linaro builds do not run on my machine I am wondering if I just use their images and swap out the kernel for the 10.04 ubuntu one that works if this will allow me to run the linaro 12.04 version without issue since it is really the same kernel just compiled with a couple different drivers in the 10.04 ubuntu that I got with my board.


Thank you!