Creating a Bootable NuttX SD Card From Scratch

To create a bootable Micro SD card, here are the steps:

  1. Format the card with a FAT filesystem

    Under macOS, you can use Disk Utility. Under Linux, here are the commands (replace /dev/sdb with the path to your SD Card device:

    $ sudo parted /dev/sdb --script -- mklabel JUPITERNANO
    $ sudo parted /dev/sdb --script -- mkpart primary fat32 1MiB 100%
    $ sudo mkfs.vfat -F32 /dev/sdb1
  2. Copy the U-Boot binary and U-Boot environment files to the SD Card.

    Copy BOOT.BIN, u-boot.bin and uboot.env from a working bootable NuttX SD Card. I’ll post instructions for building them using the Jupiter Nano Tools later.

    BOOT.BIN is the at91bootstrap second stage bootloader. U-Boot is the third stage bootloader. The first stage is the internal ROMBOOT program stored on the SAMA5D27C chip.

  3. Copy the nuttx.bin binary to the SD Card

    $ cp nuttx.bin /media/your_user_name/JUPITERNANO/

Now you can take the SD Card out of the reader, put it into the Jupiter Nano, and boot it.