We are trying to build an image based on L4T 35.1.0, and the BSP worked well with Jetpack 5.0.2.
The BSP replaces some files in Linux_for_tegra folder:
tegra234-p3701-0004-p3737-0000.dtb
Image inside kernal folder
Some dtsi files inside the bootloader folder
Based on other previous topics for other carrier boards, we tried to modify balena-jetson-orin/layers/meta-balena-jetson/recipes-kernel/linux/linux-tegra_%.bbappend, and it built, but it when we deployed it to the board, it won’t boot and won’t show up on balena cloud.
Can I get some help to apply the BSP for building Balena OS?
I believe we can try something like this: Support Connect-tech Rogue AGX Carrier board for Jetson Xavier - #7 by codewithcheese, and I am thinking to add dtb file inside balena-jetson-orin/layers/meta-balena-jetson/recipes-kernel/linux (please correct me if I am wrong), but not sure about where I can replace dtsi files. So it would be really helpful if I you could direct me where to look at!
Hi @changkk , if the device boots with the standard balenaOS image for the AGX Orin and you can see the device online by connecting it to the internet trough a USB ETH or WiFi dongle, you can try follow the steps in I2C and Other Interfaces - Balena Documentation to place the pre-compiled dtb for the Aetina carrier board in /mnt/sysroot/active/current/boot/ and then type the dtb name in the dashboard configuration panel. Might be that the Aetina kernel has some other drivers, but that’s not visible by looking at the pre-compiled kernel image. You’d have to compare the Aetina kernel changes against the standard Nvidia kernel to determine this.
Thank you for the reply, @acostach !
I tried to boot the board up with the standard balenaOS image, but it didn’t boot up. The changes in the BSP between the standard Nvidia kernel are
tegra234-p3701-0004-p3737-0000.dtb
Image inside kernal folder
Some dtsi files inside the bootloader folder
So it would be really helpful if I can have some guidance about where I can replace these files or at least where to look at in the balena image building process.
Hi @changkk , are you able to see where the boot process hangs? You mention “Some dtsi files inside the bootloader folder” so if you see an error like this on debug UART:
Thank you so much @acostach! Your answer was really helpful. I finally made it to show up on the Balena dashboard.
When I flashed with standard Orin Balena image with original jetson BSP, the message said the flash was successful, but the board didn’t reboot after the flash (remained as the recovery mode), and the fan didn’t spin.
So this time, I flashed with standard Orin Balena image with patched jetson BSP (I replaced dtb, dtsi, image file, and downloaded from the local webserver), and the message said the flash was successful, and the board rebooted, and fan was spinning, but the device didn’t show up on the dashboard with the directly connected ethernet. So I connected the ethernet via usb, now it shows up on the dashboard!
Hi @acostach , I have been working on the board thanks to your help, I have additional question coming up. Per your advice above, I needed to use usb ethernet converter to connect to the internet. The board has two ethernet interfaces and those two showed up on ls -l /sys/class/net/eth*/device with the normal Jetpack Ubuntu with BSP, but not with the Balena.
Could you guide me where to look at for this stuff?
@changkk I suspect that this happens because the flashed image loads the Devkit dtb. Can you please confirm if you placed the Aetina dtb inside /mnt/sysroot/active/current/boot/ and then set the FDT in the dashboard configuration page as per I2C and Other Interfaces - Balena Documentation ?
@acostach Thanks so much for your help so far. I tried to place the Aetina dtb and changed the dashboard configuration, but it didn’t boot up the board, and I had to flash again. However, we could make the board working with the internet interface that we have without USB dongle. Just for those who are trying to do the similar things, let me share the process we took below:
Apply Aetina’s Jetpack BSP to the downloaded Nvidia Orin BSP
Upload the modified Orin BSP to the local server and update the BSP url to the local server url in resin-jetson-flash.js
Connect the ethernet cable to the board via USB dongle, and flash.
Once the device shows up on Balena dashboard, shutdown the ethernet interface of USB dongle (Balena connection will be off), move the ethernet cable to the native ethernet interface available (for now, just only one of two ethernet interfaces shows up though), and reboot.
What we still didn’t get yet are:
When we place the Aetina dtb inside the directory you mentioned /mnt/sysroot/active/current/boot/ with the device configuration, it didn’t boot up.
Still we couldn’t get the one of the ethernet interface.