Installing Linux images to SD Card Print


This note explains how to install a bootable Linux image to the SD Card of the NXP i.MX RT1050 EVK board. Having installed a Linux image to the SD Card, you would be able to boot Linux on the target automatically on any power up or reset cycle.

To install the sample Linux image (rootfs.uImage) from the Emcraft software distribution just follow the instructions:

  1. Make sure that SD Card is formatted as described in SD Card partitioning.
  2. Remove SD Card from the NXP i.MX RT1050 EVK board, and plug it into PC.
  3. Find out a /dev/sdX device the system has assigned to your SD Card:
  4. $ dmesg | tail
    sd 1:0:0:0: [sdb] 31116288 512-byte logical blocks: (15.9GB/14.8 GiB)
    sd 1:0:0:0: [sdb] Cache data unavailable
    sd 1:0:0:0: [sdb] Assuming drive cache: write through
    sd 1:0:0:0: [sdb] Cache data unavailable
    sd 1:0:0:0: [sdb] Assuming drive cache: write through
    sdb: sdb1

  5. Mount the first partition of the SD Card, and copy rootfs.uImage file:
  6. $ sudo mount /dev/sdb1 /mnt
    $ cp rootfs.uImage /mnt

  7. Umount, and safely remove the SD Card:
  8. $ sudo umount /mnt
    $ sync

  9. Insert the SD Card back to the SD Card holder on the NXP i.MX RT1050 EVK board. Power on the EVK board. Connect to the serial console, and make sure that Linux boot up to console:
  10. U-Boot 2017.09-rc1-cortexm-2.5.0 (Oct 17 2017 - 01:47:42 +0300)

    CPU: i.MX RT105x at 600MHz
    Model: NXP i.RT1050 EVK
    DRAM: 32 MiB
    MMC: FSL_SDHC: 0
    reading uboot.env
    Video: 480x272x24
    In: serial@40184000
    Out: serial@40184000
    Err: serial@40184000
    Net: eth0: ethernet@402D8000
    reading splash-rt1050-series_24.bmp
    reading mxrt105x-evk.ini
    Hit any key to stop autoboot: 0
    reading rootfs.uImage
    7749634 bytes read in 1783 ms (4.1 MiB/s)
    ## Booting kernel from Legacy Image at 80007fc0 ...
    Image Name: Linux-4.5.0-cortexm-2.5.0
    Image Type: ARM Linux Multi-File Image (uncompressed)
    Data Size: 7749570 Bytes = 7.4 MiB
    Load Address: 80008000
    Entry Point: 80008001
    Contents:
    Image 0: 7739904 Bytes = 7.4 MiB
    Image 1: 9654 Bytes = 9.4 KiB
    Verifying Checksum ... OK
    ## Flattened Device Tree from multi component Image at 80007FC0
    Booting using the fdt at 0x80769a0c
    Loading Multi-File Image ... OK
    Loading Device Tree to 81e77000, end 81e7c5b5 ... OK

    Starting kernel ...

    Booting Linux on physical CPU 0x0
    Linux version 4.5.0-cortexm-2.5.0 ( This e-mail address is being protected from spambots. You need JavaScript enabled to view it ) (gcc version 4.7.4 20130508 (prerelease) (20170818-165657- build on build.emcraft by build) ) #1 Tue Oct 17 01:50:48 +0400 2017 CPU: ARMv7-M [411fc271] revision 1 (ARMv7M), cr=00000000
    ...
    init started: BusyBox v1.24.2 (2017-10-17 01:49:35 +0400)
    ...
    / # ls
    bin etc lib root tmp
    crankdemo httpd mnt sbin usr
    dev init proc sys var
    / #