To boot to Linux from an SD card/MMC, it is assumed that all following configuration files for booting are in the same directory under a Linux machine:
- RAM-based U-Boot image (u-boot.bin)
- Kernel image (uImage)
- Flat device tree file (mpc8536ds.dtb)
- Root file syste (rootfs.ext2.gz.uboot)
- Latest boot-format
Perform the following sequence of tasks to boot to Linux from an SD card/MMC; note that the MPC8536DS system is used as an example:
- Plug an empty SD card/MMC into the Linux machine.
- Use Linux command fdisk to create two partitions: one 512-Mbyte FAT16 and one ext2/ext3 with remainder of the available disk size.
- Use Linux command mkfs to create the FAT file system for the first partition.
- Use mkfs to create the ext2/ext3 file system for the second partitions
- Follow the procedure for putting a Boot Image on an SD Card/MMC.
- Use boot_format to put the boot image on the card.
- Put the root file system (rootfs.ext2.gz.uboot) on the second partition using the following commands:
— dd if=rootfs.ext2.gz.uboot of=rootfs.gz bs=64 skip=64 — gunzip rootfs.gz — dd if=rootfs of=/dev/sdc2
- Mount the FAT system (mount /dev/sdc1 /mnt/tmp).
- Copy the kernel file (cp uImage /mnt/tmp) and flat device tree file (cp mpc8536ds.dtb /mnt/tmp) to the root directory of the FAT system.
- After above step is performed properly, all the required files and information are on the SD card/MMC.
- Unmount the FAT system (umount /mnt/tmp).
- If a Linux desk PC is used:
a) Unplug the SD card/MMC from this PC. b) Plug the SD card/MMC into a system that is going to boot from this card.