Description:
I am trying to extend 2-camera (IMX-219) to support 4-camera. I am able to build kernel with device-tree changes.
However after flashing, the jetson is not booting after uefi. I have attached serial-console log.
“Jetson UEFI firmware (version 3.1-32827747 built on 2023-03-19T14:56:32+00:00)”
It gives error
ASSERT [DxeCore] /out/nvidia/bootloader/uefi/Jetson_RELEASE/edk2/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c(562): !(((INTN)(RETURN_STATUS)(Status)) < 0)
Resetting the system in 5 seconds.
Shutdown state requested 1
Rebooting system …
For this I have made changes to following files and build the kernel.
- hardware\nvidia\platform\t23x\p3768\kernel-dts\Makefile
- hardware\nvidia\platform\t23x\p3768\kernel-dts\tegra234-p3767-camera-p3768-imx219-quad.dts
- dtsi files : extended *imx219-dual.dtsi to *imax219-quad.dtsi, as follows
tegra234-p3767-0000-p3509-a02.dts
|—> tegra234-p3767-camera-p3768-imx219-quad.dts
|—> tegra234-p3509-a02.dtsi
|—> tegra234-p3768-camera-rbpcv2-imx219-quad.dtsi
|—> tegra234-camera-rbpcv2-imx219-quad.dtsi
Steps to build: all of these were successful
$ make ARCH=arm64 LOCALVERSION=-tegra CROSS_COMPILE=/aarch64–glibc–stable-2020.08-1/bin/aarch64-buildroot-linux-gnu- O=/public_sources/Linux_for_Tegra/source/public/kernel_out defconfig
$ make ARCH=arm64 LOCALVERSION=-tegra CROSS_COMPILE=/aarch64–glibc–stable-2020.08-1/bin/aarch64-buildroot-linux-gnu- O=/public_sources/Linux_for_Tegra/source/public/kernel_out Image
$ make ARCH=arm64 LOCALVERSION=-tegra CROSS_COMPILE=/aarch64–glibc–stable-2020.08-1/bin/aarch64-buildroot-linux-gnu- O=/public_sources/Linux_for_Tegra/source/public/kernel_out dtbs
$ make ARCH=arm64 LOCALVERSION=-tegra CROSS_COMPILE=/aarch64–glibc–stable-2020.08-1/bin/aarch64-buildroot-linux-gnu- O=/public_sources/Linux_for_Tegra/source/public/kernel_out modules$ sudo ./apply_binaries.sh
$ sudo tools/l4t_create_default_user.sh -u nvidia -p nvidia -a -n nvidia-desktop --accept-license
Image copy
$ cp -rfv /public_sources/Linux_for_Tegra/source/public/kernel_out/arch/arm64/boot/Image kernel/
device-tree copy
$ cp -rfv /public_sources/Linux_for_Tegra/source/public/kernel_out/arch/arm64/boot/dts/nvidia/* kernel/dtb/
Install modules
$ sudo rsync -azPu /public_sources/Linux_for_Tegra/source/public/modules_out/lib/modules/ rootfs/lib/modules/
Flash the system to the NVMe SSD to dev kit and also custom board (derived from dev-kit).
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --showlogs --network usb0 p3509-a02+p3767-0000 internal
I have tried to use flash.sh , but it did not work. It resulted in busy-spin.
$ sudo ./flash.sh p3509-a02+p3767-0000 nvme0n1p1
Attachments:
- Jetson_serial_console_uefi_debug_bin.log
- Jetson_serial_contol_uefi_release_bin.log
- flash_3-4_0_20240825-153946.log (initrdlog)
- flash_success.log (screen capture)
Any guidance or suggestion will be highly helpful.
Jetson_serial_console_uefi_debug_bin.log (302.2 KB)
flash_success.log (306.6 KB)
flash_3-4_0_20240825-153946.log (41.6 KB)
Jetson_serial_contol_uefi_release_bin.log (164.9 KB)