Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This note explains how to install a bootable Linux image to the SD Card of the NXP i.MX RT105 RT10XX 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.

...

  1. Make sure that SD Card is formatted.

  2. Remove SD Card from the NXP i.MX RT1050 RT10XX EVK board, and plug it into PC.

  3. Find out a /dev/sdX device the system has assigned to your SD Card:

    Code Block
    $ 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
  4. Mount the first partition of the SD Card, and copy rootfs.uImage file:

    Code Block
    $ sudo mount /dev/sdb1 /mnt
    $ cp rootfs.uImage /mnt
  5. Umount, and safely remove the SD Card:

    Code Block
    $ sudo umount /mnt
    $ sync
  6. Insert the SD Card back to the SD Card holder on the NXP i.MX RT1050 RT10XX EVK board. Power on the EVK board. Connect to the serial console, and make sure that Linux boot up to console:

    Code Block
    U-Boot SPL 20222024.04 (SepDec 2519 20232024 - 08:16:2146 +0000)
    Trying to boot from MMC1
    
    
    U-Boot 20222024.04 (SepDec 2524 20232024 - 0806:1630:2118 +0000)
    
    DRAM:  32 MiB
    Core:  7179 devices, 1318 uclasses, devicetree: separate
    MMC:   FSL_SDHC: 0
    Loading Environment from MMC... OK
    In:    serial@40184000
    Out:   serial@40184000
    Err:   serial@40184000
    Net:   eth0: ethernet@402D8000ethernet@402d8000
    Hit any key to stop autoboot:  0
    82774628579371 bytes read in 14705857 ms (51.4 MiB/s)
    ## Booting kernel from Legacy Image at 80007fc0 ...
       Image Name:   Linux-56.156.7136
       Image Type:   ARM Linux Multi-File Image (uncompressed)
       Data Size:    82773988579307 Bytes = 78.92 MiB
       Load Address: 80008000
       Entry Point:  80008001
       Contents:
          Image 0: 82698568567460 Bytes = 78.92 MiB
          Image 1: 753011835 Bytes = 711.46 KiB
       Verifying Checksum ... OK
    ## Flattened Device Tree from multi component Image at 80007FC0
       Booting using the fdt at 0x807eb02c0x80833ab0
    Working FDT set to 80833ab0
       Loading Multi-File Image to 80008000
       Loading Device Tree to 81e8100081dfa000, end 81e85d6981dffe3a ... OK
    Working FDT set to 81dfa000
    
    Starting kernel ...
    
    Booting Linux on physical CPU 0x0
    Linux version 56.156.7136 (sasha@workbench.emcraft.com)  (arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10.3-2021.10)  10.3.1 20210824 (release), GNU ld (GNU Arm Embedded Toolchain 10.3-2021.10)  2.36.1.20210621) #2 PREEMPT MonTue SepDec 2524 0806:0342:1132 UTC 2023
    CPU: ARMv7-M [411fc271] revision 1 (ARMv7M), cr=00000000
    CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    OF: fdt: Machine model: NXP IMXRT1050-evk board
    2024
    .....
    Run /init as init process
    [7151] Jan 01 00:0052:0131 Running in background
    / # mmc0: new high speed SDHC card at address 0007
    mmcblk0: mmc0:0007 SD8GB 7.42 GiB
     mmcblk0: p1
    Micrel KSZ8081 or KSZ8091 402d8000.ethernet-1:02: attached PHY driver  (mii_bus:phy_addr=402d8000.ethernet-1:02, irq=POLL)
    fec 402d8000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    random: crng init done
    
    / # ls
    bin       hello.ko  lib       proc      syssbin       varusr
    dev       httpd     linuxrc   root      sys       tmpvar
    etc       init      mnt       run sbin      usrtmp
    / #