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.
...
Make sure that SD Card is formatted.
Remove SD Card from the NXP i.MX RT1050 RT10XX EVK board, and plug it into PC.
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
Mount the first partition of the SD Card, and copy
rootfs.uImage
file:Code Block $ sudo mount /dev/sdb1 /mnt $ cp rootfs.uImage /mnt
Umount, and safely remove the SD Card:
Code Block $ sudo umount /mnt $ sync
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 / #