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

 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.ext4 -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/ or http://elinux.org/Minnowboard:MinnowMax.
