Prepare the SD card for the Minnow Board
========================================

 1. Partition the SD card with a GPT partition table

    sudo cgdisk /dev/mmcblk0

    Create two partitions:

     a) First partition of a few dozens of megabytes, which will be
        used to store the bootloader and the kernel image. Type must
        be EF00 (EFI partition).

     b) Second partition of any size, which will be used to store the
        root filesystem. Type must be 8300 (Linux filesystem)

 2. Prepare the boot partition

    We will format it, mount it, copy the EFI data generated by
    Buildroot, and the kernel image.

    sudo mkfs.vfat -F 32 -n boot /dev/mmcblk0p1
    sudo mount /dev/mmcblk0p1 /mnt
    sudo cp -a output/images/efi-part/* /mnt/
    sudo cp output/images/bzImage /mnt/
    sudo umount /mnt

 3. Prepare the root partition

    We will format it, mount it, and extract the root filesystem.

    sudo mkfs.ext3 -L root /dev/mmcblk0p2
    sudo mount /dev/mmcblk0p2 /mnt
    sudo tar -C /mnt -xf output/images/rootfs.tar
    sudo umount /mnt

 4. Enjoy

Additional information about this board can be found at
http://www.minnowboard.org/.
