P3668-0000 SD boot issue

I am using JetPack 5.1.1, flashing to Xavier NX on a custom carrier board.
When I flash the Jetson with flash.sh, it works fine.
Now, I need to generate SD card images for customers’ boards which have SD-card Jetson modules.
I modified the file jetson-disk-image-creator to accept the text of my custom board name, and set the path as mmcblk1p1. Our carrier board uses the mmc address lower than the SD slot on Jetson, so our carrier board’s SD slot is mmcblk0, and Jetson SD slot is mmcblk1p1.

function check_device()
{
 case "${board}" in
 jetson-xavier-nx-devkit)
  case "${rootfs_dev}" in
  "SD" | "sd")
   rootfs_dev="mmcblk0p1"
   ;;
  "USB" | "usb")
   rootfs_dev="sda1"
   ;;
  *)
   usage "Incorrect root filesystem device - Supported devices - SD, USB"
   ;;
  esac
  ;;
 <custom_carrier_boardname>+p3668-0000-qspi-sd)
  case "${rootfs_dev}" in
  "SD" | "sd")
   rootfs_dev="mmcblk1p1" # mmcblk0p1 on p3509, mmcblk1p1 on our Carrier board
   ;;
  "USB" | "usb")
   rootfs_dev="sda1"
   ;;
  *)
   usage "Incorrect root filesystem device - Supported devices - SD, USB"
   ;;
  esac
  ;;

Then I run
sudo ./jetson-disk-image-creator.sh -o sdImage_xxx.img -b <custom_carrier_boardname>+p3668-0000-qspi-sd -d SD

Then I use the Disks program on Ubuntu or Balena Etcher on Windows to flash an SD card.
Once flashed, I put the SD card into Jetson, Jetson into my carrier board, then I get this UART boot log:
balenaFlashedmmcblk1p1_log.log (34.3 KB)
There is nothing in the carrier board’s uSD slot during boot.
It seems to find the SD card, but not be able to find or open partitions on it.
So why does the boot work if I use flash.sh, but not if I use the image I generate and then flash to the SD card?
It seems to find the SD card but not all of the partitions it needs, see file line 432, 436, 448, etc…

Hi user56856,

Are you using the custom BSP package to flash your board?

Have you also tried mmcblk1p1 for your carrier board?

Could you share the full log when you run this command to generate image?

Are you using the custom BSP package to flash your board?

I am using JetPack 5.1.1, downloaded, unpacked, compiled, then I changed the .dts files, re-compiled, and flashed, and that works fine for each board that I flash from the build PC with flash.sh

Have you also tried mmcblk1p1 for your carrier board?

Notice that mmcblk0p1 in the script is for jetson-xavier-nx -devkit, which we are not using. We use mmcblk1p1 on our custom board, which
works better than mmcblk0p1. mmcblk0p1 does not find any device (which makes sense, it is the empty slot on carrier board). So I believe that mmcblk1p1 is the best, that is why I edited the script.

Could you share the full log when you run this command to generate image?

Sure, log attached. I have replaced the name of our carrier board with for privacy, but our board is a one-word name with no brackets or other characters.
sdGenerationLog1.txt (62.1 KB)

I don’t know if you notice that or not. Your log has cboot. Cboot only exists on jetpack4.

You are telling that you are using jp5.1.1. This is obvious conflict.

The bootloader on the board didn’t get updated because you only use sdcard image.

You cannot use sdcard image here. You have to at least flash your jetson board once with sdkmanager to update the bootloader.

1 Like

Ok, thank you for pointing that out!
That makes sense, I remember reading that 5.x uses UEFI, and 4.x used Cboot.

Well, we were hoping to issue new SD cards to customers so that the could upgrade from 4.6 to 5.1.1. Is this possible?

Hi,

Not possible. Their module must get flashed once. Or they need to run OTA upgrade.

Sdcard won’t be able to do that.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.