Troubleshooting SD Card Boot Error
Customer encountered an error message while duplicating an SD card, affecting booting up. The issue may lie in a discrepancy between variables in the disk_read function. Detailed procedures and steps taken by the customer are provided for diagnosing the problem.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
1. Issue : Customer could not confirm booting up(u-boot) after duplicating SD card. They got following error message on console. ---- Error reading cluster ** Unable to read file u-boot.img ** SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### ---- Customer confirmed reason why this message occur as shown below. - ret variable and nr_blocks variable did not match in function of disk_read() of ~fs/fat/fat.c (When they confirm value of those, ret=0 and nr_blocks=8.) 2. Question : Could you please give your advice which point will affect this error(cause difference ret and nr_blocks 3. Environment : - Customer create their program based on Linux processor SDK ver 08_06_00_42 - They confirmed this issue under their custom board (They have two custom board, and they confirmed same condition for both board.) Please see next slide about how they duplicate SD.
4. Additional information : 4-1. Procedure to duplicate SD card (Case 1 (Use dd command)): 4-1-1. They prepare following three SD card. SD1 : RMSDE-016GU1A (buffalo INC (16GB)) SD2 : Same as SD1 one SD3 : SDSQUAR-032G-JN3MA (SanDisk INC (32GB)) 4-1-2. They write default tisdk-default-image-am62xx-evm.wic.xz by using balenaEtcher tool to SD1 . After that, they replace their custom binary files from original files on boot partition. 4-1-3. They confirmed booting up correctly on their custom board with SD1 . 4-1-4. They generate img file by using following dd command. And write it to SD2 . Command : $ sudo dd if=/dev/sdb of=./sdcard1.img bs=4096 count=165120; sync $ sudo dd if=./sdcard1.img of=/dev/sdb bs=4096; sync 4-1-5. They could NOT confirm booting up correctly on their custom board with SD2 . 4-1-6. They used SD3 instead of SD2 , however they also could NOT confirm booting up correctly on their custom board wich SD3 .
4. Additional information : 4-2. Procedure to duplicate SD card (Case 2 (use Clone Drive on BalenaEtcher tool )): 4-2-1. They prepare following four SD card. From SD1 SD4 : Same parts number with 16GB. 4-2-2. They performed format by using following tool for SD1-SD4 . https://www.sdcard.org/ja/downloads-2/formatter-2/ 4-2-3. They write default tisdk-default-image-am62xx-evm.wic.xz by using balenaEtcher tool to SD1 . After that, they confirmed booting up correctly on TI AM62 EVM . 4-2-4. They duplicate filesystem by using Clone Drive from SD1 to SD2-SD4 . After that, they confirmed booting up correctly on TI AM62 EVM . 4-2-5. They replace their custom binary files for SD1 . After that, they confirmed booting up correctly on their custom board . 4-2-6. They duplicate filesystem by using Clone Drive from SD1 to SD2-SD4 . After that, they could NOT confirm booting up correctly on their custom board with SD2-SD4 .
Information for E2E (2024/1/8 9:28 posted) >Try leaving out the `count=` parameter. When copying an SD card you'd always want to cope the _entire_ device. We have already performed following command as well. Command : $ sudo dd bs=1M if='/dev/sdb' of='./sdcard1.img' status=progress $ sudo dd bs=1M if='./sdcard1.img' of='/dev/sdb' status=progress Block size is 1M and removed count parameter. However, we also have same error. And also performed format before performing dd command.