How can I make the sdcard inserted into the carrier board recognized as 'mmcblk1p1'?

Hello,

I am using Jetson XNX and custom carrier board.
I am trying to boot from an external sd card.
There is an error “ERROR: mmcblk1p1 not found”.

, How can I make the sdcard inserted into the carrier board recognized as ‘mmcblk1p1’?

extlinux.conf is shown below.

TIMEOUT 30
DEFAULT primary

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      FDT /boot/tegra194-p3668-all-p3509-0000.dtb
      INITRD /boot/initrd
      APPEND ${cbootargs} root=/dev/mmcblk2p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 nv-auto-config

Thank you.

I am not sure if this question is in right direction.

By default, the driver of sdmmc3 is not enabled. Which means no matter what hardware you enabled now, the software is not enabled yet… that is why many “sdmmc3” topics in this forum… you can check those topics first if the device tree is still the default one…

If driver is not enabled, then no need to check extlinux.conf…

1 Like

Hello,

\

The external sd card is activated through dtb modification.
The problem is that the mmcblk number is different every boot.

Thank you.

Could you share the dmesg of 2 cases where the mmcblk number is different?

1 Like

Hello,

Sorry for attaching the image

I’ll redirect dmesg and deliver it as a .txt file
First of all, please provide the information below.

1. Copy JetPack 5.0.2 rootfs to sdcard and insert it. Flash AI module with the L4T driver package by executing the following command: $ sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk1p1

After flashing is complete, the module restarts and ‘Error: mmcblk1p1 not found.’ appears as shown in the attached photo.

Attempt to remove and reinsert the sdcard to test sdcard recognition
→ Confirmed that the sdcard is recognized as mmcblk2.

- When JetPack 4.x was flashed and booted to emmc, and sdcard was activated with dtb, it appeared as '/dev/mmcblk1p1'. - Using the same method to activate sdcard in Jetpack 5.x, it appears as '/dev/mmblk2p1'.

Thank you.

Hi,

Please share full text. This screenshot does not help.

1 Like

Hello, @WayneWWW

Here is dmesg full text.

before_dtb.txt (76.3 KB)
after_dtb.txt (65.2 KB)

Thank you.

What did you modify in your device tree? Why the emmc and internal sd sdhci controller are both enabled at same time?

You should only enable extra sdcard slot. No need to enable internal sdcard sdhci too.

1 Like

Hello,

Will the above problem be solved if I disable the internal sdcard sdhci in dts?

Thank you.

Yes, it would.

But the actual problem is if you didn’t do anything and the internal sdcard sdhci is enabled, then your module has problem in eeprom.

1 Like

Hello, @WayneWWW

tegra194-p3668-common.dtsi (14.9 KB)
tegra194-p3668-common_orig.dtsi (13.4 KB)

Changed from tegra194-p3668-common_orig.dtsi to tegra194-p3668-common.dtsi.

here
sdhci_emmc: sdhci@3460000 {
uhs-mask = <0x0>;
#if TEGRA_SDMC_VERSION >= DT_VERSION_2
supports-cqe;
#else
nvidia,enable-hwcq;
#endif
status = “okay”;
};

Should I remove the ?

Thank you.

Are you using emmc module or sdcard module?

Hello,

I’m using emmc module now.

Thank you.

Then you need to disable another sdhci which is for sd.

1 Like

Hello,

When I run the kernel compilation, I get the following error.

Jetpack 5.0.2 

aiserver@aiserver-H110-D3:/media/aiserver/data1/manage_jetpack_version/xavier_nx_502/Linux_for_Tegra/source/public$ ./nvbuild.sh -o /media/aiserver/data1/manage_jetpack_version/xavier_nx_502/Linux_for_Tegra/source/public/kernel_out/
Error: Path /home/aiserver/l4t-toolchain/bin/aarch64-buildroot-linux-gnu-/bin/aarch64-buildroot-linux-gnu-gcc does not exist.

Is the toolchain setting method in the kernel customization item correct?
https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/Kernel/KernelCustomization.html

Thank you.

Just path error. Why not fix it by yourself first…

Error: Path /home/aiserver/l4t-toolchain/bin/aarch64-buildroot-linux-gnu-/bin/aarch64-buildroot-linux-gnu-gcc does not exist.

The document you are referring to is also out of date too…

1 Like

Hello,

When I checked CROSS_COMPILE_AARCH64_PATH, it came out correctly, so I knew there was no problem.

aiserver@aiserver-H110-D3:/media/aiserver/data1/manage_jetpack_version/xavier_nx_502/Linux_for_Tegra/source$ echo $CROSS_COMPILE_AARCH64_PATH
/home/aiserver/l4t-toolchain/bin/aarch64-buildroot-linux-gnu-

Thank you.

Hello,

Do not enter the full path where the toolchain is installed.
You need to set the path only to the folder where the bin folder exists.

export CROSS_COMPILE_AARCH64_PATH=/home/aiserver/l4t-toolchain/

Thank you.

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