I am trying to build the Open Industrial Linux Image and I am facing some problems when I try to run the builded image in the TQMLS1028A
I try to build the image with an Linux Mint 19.3 with the kernel 5.0.21-rt16 and with an Ubuntu 16.04.7 LTS with the kernel 4.15.0-112 generic. When I make the Image with both Linux gives the same error when the board boots
I format the SDCard to be a boot device with Rufus Version 3.11, because for some reason that I dont understand when I use the command
sudo dd if=./sdcard.img of=/dev/mmcblk0
The SDcard doesnt recognize the image and it doesnt work at all. So that is why I use Rufus to copy the image inside of the SDCard.
After putting the Image inside of the SDCard I try to start my MBLS1028A-IND and it is giving me the error “unable to read the file fsl-ls1028a-mbks1028a.dtb”
Here are the complete logs of the error that is giving the board.
Error give in the board boots Page1/2
Error give when the board boots Page1/2
Additionally I have the output logs when I was building the image with the command “make all”. If you need them let me know and I can send them.
If there any hint of what else I can do? If you need any other information let me know.
As request here is the text what is on the images
U-Boot SPL 2018.03 (Dec 23 2020 - 02:20:50 +0100) Initialzing DDR using fixed setting Configuring DDR for 1600 MT/s data rate Trying to boot from MMC1 U-Boot 2018.03 (Dec 23 2020 - 02:20:50 +0100) SoC: LS1028AE Rev1.0 (0x870b0010) Clock Configuration: CPU0(A72):1300 MHz CPU1(A72):1300 MHz Bus: 400 MHz DDR: 1600 MT/s Reset Configuration Word (RCW): 00000000: 34004010 00000030 00000000 00000000 00000010: 00000000 008e0000 0030c000 00000000 00000020: 00a03150 00002580 00000000 00008096 00000030: 00000000 00000010 00000000 00000000 00000040: 00000000 00000000 00000000 00000000 00000050: 00000000 00000000 00000000 00000000 00000060: 00000000 00000000 000e7000 00000000 00000070: eb580000 03000000 Model: TQMLS1028A on MBLS1028A Board: MBLS1028A Booting from: SD I2C: ready DRAM: 958 MiB (DDR4, 32-bit, CL=11, ECC on) FSL_SDHC: 0, FSL_SDHC: 1 PPA Firmware: Version ebbd1ea Using SERDES1 Protocol: 60248 (0xeb58) PCIe0: pcie@3400000 disabled PCIe1: pcie@3500000 Root Complex: no link MMC: Loading Environment from MMC... *** Warning - bad CRC, using default environment Failed (-5) In: serial Out: serial Err: serial TQMLS1028A EEPROM: ID: TQMLS1028A-P1.103 SN: 72927904 MAC: 00:d0:93:4a:77:f6 Net: phy path: /pcie@1f0000000/netc_mdio/phy@3 phy path: /pcie@1f0000000/netc_mdio/phy@0 eth0: enetc#0, eth1: enetc#1 [PRIME], eth2: enetc#2, eth3: netc_mdio Warning: enetc#3 (eth4) using random MAC address - fa:4f:8a:fa:a8:bd , eth4: enetc#3 trying to set up RGMII trying to set up QSGMII for SERDES x5xx!!!! Hit any key to stop autoboot: 3 2 1 0 Booting from sd card ... 102464 bytes read in 22 ms (4.4 MiB/s) Loading hdp firmware from 0x0000000082000000 offset 0x0000000000002000 Loading hdp firmware Complete 9721536 bytes read in 679 ms (13.7 MiB/s) Uncompressed size: 22053376 = 0x1508200 ** Unable to read file fsl-ls1028a-mbls1028a.dtb ** libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Setting bus to 5 Setting bus to 5 ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree Booting from emmc ... ** No partition table - mmc 1 ** Loading hdp firmware from 0x0000000082000000 offset 0x0000000000002000 Loading hdp firmware Complete ** No partition table - mmc 1 ** Uncompressed size: 22053376 = 0x1508200 ** No partition table - mmc 1 ** libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Setting bus to 5 Setting bus to 5 ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree Booting from SPI NOR flash... SF: Detected mx66u51235f with page size 256 Bytes, erase size 64 KiB, total 64 MiB device 0 offset 0x480000, size 0x80000 SF: 524288 bytes @ 0x480000 Read: OK Loading hdp firmware from 0x0000000082000000 offset 0x0000000000002000 Loading hdp firmware Complete SF: Detected mx66u51235f with page size 256 Bytes, erase size 64 KiB, total 64 MiB device 0 offset 0x500000, size 0xa00000 SF: 10485760 bytes @ 0x500000 Read: OK Error: Bad gzipped data libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Setting bus to 5 Setting bus to 5 Bad Linux ARM64 Image magic! No boot device !!! reset =>
Here is the output of the printenv
command of u-boot
=> printev nv addemmc=setenv bootargs ${bootargs} root=/dev/mmcblk1p2 rootfstype=ext4 addsd=setenv bootargs ${bootargs} root=/dev/mmcblk0p2 rootfstype=ext4 addspi=setenv bootargs ${bootargs} root=ubi0_0 rw rootfstype=ubifs ubi.mtd=7 addtty=setenv bootargs ${bootargs} console=ttyS0,115200 addvideo=setenv bootargs ${bootargs} cma=256M video=1920x1080-32@60 arch=arm baudrate=115200 board=tqmls1028a_mbls1028a board_name=tqmls1028a boardinit=run resetusb; run resetphy; boot=SD bootargs=console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256 bootcmd=run sdboot; run emmcboot; run spiboot; run panicboot bootdelay=3 cpu=armv8 emmcargs=run addemmc addtty addvideo emmcboot=echo Booting from emmc ...; setenv bootargs; run emmcargs; run emmchdpload; run emmcimageload; run emmcfdtload;run setmacaddr;run boardinit;booti ${loadaddr} - ${fdtaddr} emmcfdtload=fatload mmc 1:1 ${fdtaddr} ${fdt_file}; emmchdpload=fatload mmc 1:1 ${loadaddr} ls1028a-dp-fw.bin; hdp load ${loadaddr}; emmcimageload=fatload mmc 1:1 ${fdtaddr} Image.gz; unzip $fdtaddr $loadaddr eth1addr=00:d0:93:4a:77:f7 eth2addr=00:d0:93:4a:77:f8 eth3addr=00:d0:93:4a:77:f9 ethact=enetc#1 ethaddr=00:d0:93:4a:77:f6 ethprime=enetc#1 fdt_file=fsl-ls1028a-mbls1028a.dtb fdtaddr=0x88000000 fdtcontroladdr=bba199d0 firmwarepart=1 gpio_expander_1_addr=0x25 gpio_expander_2_addr=0x70 gpio_expander_i2c_bus=5 hwconfig=fsl_ddr:bank_intlv=auto kernel_file=Image.gz loadaddr=0x82000000 mmcdev=1 mmcsddev=0 panicboot=echo No boot device !!! reset rcw_emmc_file=rcw_1300_emmc.bin rcw_max_size=1024 rcw_qspi_file=rcw_1300_spi_nor.bin rcw_sd_file=rcw_1300_sd.bin rcw_sd_offset=0x8 resetphy=i2c dev ${gpio_expander_i2c_bus}; i2c mw ${gpio_expander_2_addr} 0x3 0xd5; i2c mw ${gpio_expander_2_addr} 0x1 0xd5; sleep 0.1; i2c mw ${gpio_expander_2_addr} 0x1 0xff; resetusb=i2c dev ${gpio_expander_i2c_bus}; i2c mw ${gpio_expander_1_addr} 0x6.1 0xfd; i2c mw ${gpio_expander_1_addr} 0x2.1 0xfd; sleep 0.1; i2c mw ${gpio_expander_1_addr} 0x2.1 0xff; rootfs_mtddev=RootFS sdargs=run addsd addtty addvideo sdboot=echo Booting from sd card ...; setenv bootargs; run sdargs; run sdhdpload; run sdimageload; run sdfdtload;run setmacaddr;run boardinit;booti ${loadaddr} - ${fdtaddr} sdfdtload=fatload mmc 0:1 ${fdtaddr} ${fdt_file}; sdhdpload=fatload mmc 0:1 ${loadaddr} ls1028a-dp-fw.bin; hdp load ${loadaddr}; sdimageload=fatload mmc 0:1 ${fdtaddr} Image.gz; unzip $fdtaddr $loadaddr set_getcmd=if test "${ipmode}" != static; then setenv getcmd dhcp; setenv autoload yes; else setenv getcmd tftp; setenv autoload no; fi setmacaddr=fdt addr ${fdtaddr}; fdt resize 4;fdt set /soc/pcie@1f0000000/pci@0,5/port@0/ mac-address ${switch_mac_addr}; soc=fsl-layerscape spiargs=run addspi addtty addvideo spiboot=echo Booting from SPI NOR flash...; setenv bootargs; run spiargs; run spihdpload spikernelload spifdtload ; run setmacaddr;run boardinit;booti ${loadaddr} - ${fdtaddr}; spifdtload=sf probe 0; sf read ${fdtaddr} DTB spihdpload=sf probe; sf read ${loadaddr} HDP; hdp load ${loadaddr}; spikernelload=sf probe 0; sf read ${fdtaddr} Linux; unzip ${fdtaddr} ${loadaddr} stderr=serial stdin=serial stdout=serial switch_mac_addr=[00 d0 93 4a 77 fb] uboot_emmc_file=u-boot-with-spl_emmc.bin uboot_max_size=0x300000 uboot_qspi_file=u-boot-with-spl_qspi.bin uboot_sd_file=u-boot-with-spl_sdcard.bin uboot_sd_offset=0x800 update_fdt_emmc=run set_getcmd; if ${getcmd} ${fdt_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; echo Write fdt image to mmc ${mmcdev}:${firmwarepart}...; save mmc ${mmcdev}:${firmwarepart} ${loadaddr} ${fdt_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd update_fdt_qspi=run set_getcmd; if ${getcmd} ${fdt_file}; then if itest ${filesize} > 0; then sf probe; sf update ${loadaddr} DTB ${filesize};fi; fi; setenv filesize; setenv blkc; setenv getcmd update_fdt_sd=run set_getcmd; if ${getcmd} ${fdt_file}; then if itest ${filesize} > 0; then mmc dev ${mmcsddev}; mmc rescan; echo Write fdt image to mmc ${mmcsddev}:${firmwarepart}...; save mmc ${mmcsddev}:${firmwarepart} ${loadaddr} ${fdt_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd update_kernel_emmc=run set_getcmd; if ${getcmd} ${kernel_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; echo Write kernel image to mmc ${mmcdev}:${firmwarepart}...; save mmc ${mmcdev}:${firmwarepart} ${loadaddr} ${kernel_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd update_kernel_qspi=run set_getcmd; if ${getcmd} ${kernel_file}; then if itest ${filesize} > 0; then sf probe; sf update ${loadaddr} Linux ${filesize};fi; fi; setenv filesize; setenv blkc; setenv getcmd update_kernel_sd=run set_getcmd; if ${getcmd} ${kernel_file}; then if itest ${filesize} > 0; then mmc dev ${mmcsddev}; mmc rescan; echo Write kernel image to mmc ${mmcsddev}:${firmwarepart}...; save mmc ${mmcsddev}:${firmwarepart} ${loadaddr} ${kernel_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd update_rcw_emmc=run set_getcmd; if ${getcmd} ${rcw_emmc_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${rcw_max_size}; then mmc write ${loadaddr} ${rcw_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd update_rcw_qspi=run set_getcmd; if ${getcmd} ${rcw_qspi_file}; then if itest ${filesize} > 0; then if itest ${filesize} <= ${uboot_max_size}; then sf probe; sf update ${loadaddr} RCW ${filesize};fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd update_rcw_sd=run set_getcmd; if ${getcmd} ${rcw_sd_file}; then if itest ${filesize} > 0; then mmc dev 0; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${rcw_max_size}; then mmc write ${loadaddr} ${rcw_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd update_uboot_emmc=run set_getcmd; if ${getcmd} ${uboot_emmc_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${uboot_max_size}; then mmc write ${loadaddr} ${uboot_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd update_uboot_qspi=run set_getcmd; if ${getcmd} ${uboot_qspi_file}; then if itest ${filesize} > 0; then if itest ${filesize} <= ${uboot_max_size}; then sf probe; sf update ${loadaddr} U-Boot-PBL ${filesize};fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd update_uboot_sd=run set_getcmd; if ${getcmd} ${uboot_sd_file}; then if itest ${filesize} > 0; then mmc dev ${mmcsddev}; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${uboot_max_size}; then mmc write ${loadaddr} ${uboot_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd vendor=tqc Environment size: 7098/524284 bytes =>
Image of the partions of the SDCard
Thank you in advance
Advertisement
Answer
According to sdfdtload=fatload mmc 0:1 ${fdtaddr} ${fdt_file};
fsl-ls1028a-mbls1028a.dtb
is expected to reside in mmc 0:1
. It may just be missing or have a different name – I recently had a similar issue on a Marvell-based SBC. An alternative would be to replace sdfdtload=fatload mmc 0:1 ${fdtaddr} ${fdt_file};
by an equivalent command that would load it from the root of the partition of 268 MB you found it in, in the case it would not be mmc 0:1
.
In the case you would have to modify your current u-boot environment, you should be able to make your changes persistent by using the saveenv
u-boot command. A side effect should be to make the CRC-related warning message go away: it may be issued because there is currently no valid u-boot environment saved in flash at the location it should be stored at.