Board description
Custom baseboard supporting NVIDIA Jetson Orin Nano/NX
General
Currently, I am working on integrating Mender into an existing functional Yocto configuration for a Jetson Orin Nano Board. As we all know, integrating Mender into new Tegra boards is always fun, and since I am currently stuck, I wanted to ask for advice here. I have already tried to adopt the changes from @Austriker (as seen in his thread), but I am encountering errors in my build.
Versions
Jetpack 5
Yocto Scarthgap
Yocto Config
meta-mender - branch: scarthgap GitHub - mendersoftware/meta-mender: Yocto Project meta layer for the Mender client
meta-mender-community - branch: jetson-orin-nx-support GitHub - Austriker/meta-mender-community: Community supported integration layers for Mender on various boards
meta-tegra - branch: scarthgap-l4t-r35.x GitHub - OE4T/meta-tegra: BSP layer for NVIDIA Jetson platforms, based on L4T
local.conf
require conf/machine/jetson-orin-nano-devkit-nvme.conf
CONF_VERSION = "2"
INIT_MANAGER = "systemd"
INHERIT += "mender-full"
MENDER_ARTIFACT_NAME = "NeverEndingStory"
USE_REDUNDANT_FLASH_LAYOUT_DEFAULT = "1"
EMMC_SIZE = "34359738368"
MENDER_DATA_PART_NUMBER = "17"
MENDER_STORAGE_DEVICE = "/dev/nvme0n1"
INHERIT:remove = "tegra-support-sanity distro_layer_buildinfo"
INHERIT += "tegra-mender-setup"
MENDER_FEATURES_ENABLE:append = " mender-growfs-data"
MENDER_FEATURES_DISABLE:append = " mender-uboot"
MENDER_STORAGE_TOTAL_SIZE_MB = "121440"
IMAGE_FSTYPES:tegra = "tegraflash mender dataimg"
IMAGE_FSTYPES:pn-tegra-minimal-initramfs:tegra = "${INITRAMFS_FSTYPES}"
IMAGE_FSTYPES:pn-tegra-initrd-flash-initramfs:tegra = "${TEGRA_INITRD_FLASH_INITRAMFS_FSTYPES}"
bblayers.conf
BBLAYERS ?= " \
${TOPDIR}/../poky/meta \
${TOPDIR}/../poky/meta-yocto-bsp \
${TOPDIR}/../meta-openembedded/meta-oe \
${TOPDIR}/../meta-openembedded/meta-multimedia \
${TOPDIR}/../meta-openembedded/meta-networking \
${TOPDIR}/../meta-openembedded/meta-python \
${TOPDIR}/../meta-tailscale \
${TOPDIR}/../meta-tegra \
${TOPDIR}/../meta-mender/meta-mender-core \
${TOPDIR}/../meta-mender-community/meta-mender-tegra \
"
Errors
When I try to start a build, I quickly receive the following error:
ERROR: No recipes in default available for:
/workspaces/operating-system/build-tegra/../meta-mender-community/meta-mender-tegra/recipes-bsp/uefi/l4t-launcher-rootfs-ab-config_%.bbappend
/workspaces/operating-system/build-tegra/../meta-mender-community/meta-mender-tegra/recipes-kernel/linux/linux-jammy-nvidia-tegra_5.15%.bbappend
Since its “only” for JP 6 I am going to remove those two bbappends, as the git commit states
“[JP 6 only: Use new recipe for uefi config”
After that the image successfully builds in Yocto.
However when flashing with the ./initflashscript, I receive the following errors:
./initrd-flash output
Starting at 2025-01-28T00:28:06+01:00
Machine: p3768-0000-p3767-0001
Rootfs device: nvme0n1p1
Found Jetson device in recovery mode at USB 2-2
== Step 1: Signing binaries at 2025-01-28T00:28:06+01:00 ==
cp: cannot stat 'signed/*': No such file or directory
cp: cannot stat 'signed/flash.xml.tmp': No such file or directory
sed: can't read flash.xml.tmp: No such file or directory
== Step 2: Boot Jetson via RCM at 2025-01-28T00:28:26+01:00 ==
Found Jetson device in recovery mode at USB 2-2
== Step 3: Sending flash sequence commands at 2025-01-28T00:28:29+01:00 ==
Waiting for USB storage device flashpkg from b8440206.......[/dev/sdb]
Device size in blocks: 262144
Unmounted /dev/sdb.
== Step 4: Writing partitions on external storage device at 2025-01-28T00:28:54+01:00 ==
Waiting for USB storage device nvme0n1 from b8440206...[/dev/sdb]
Traceback (most recent call last):
File "/home/pkoegel/tegra/nvflashxmlparse", line 483, in <module>
ret = main()
File "/home/pkoegel/tegra/nvflashxmlparse", line 408, in main
rewrite_layout(args.filename, args.rewrite_contents_from.split(','), outf)
File "/home/pkoegel/tegra/nvflashxmlparse", line 266, in rewrite_layout
maptree = ET.parse(mapfile)
File "/usr/lib/python3.8/xml/etree/ElementTree.py", line 1202, in parse
tree.parse(source, parser)
File "/usr/lib/python3.8/xml/etree/ElementTree.py", line 595, in parse
self._root = parser._parse_whole(source)
xml.etree.ElementTree.ParseError: no element found: line 1, column 0
Traceback (most recent call last):
File "/home/pkoegel/tegra/nvflashxmlparse", line 483, in <module>
ret = main()
File "/home/pkoegel/tegra/nvflashxmlparse", line 426, in main
layout = PartitionLayout(args.filename)
File "/home/pkoegel/tegra/nvflashxmlparse", line 142, in __init__
tree = ET.parse(configfile)
File "/usr/lib/python3.8/xml/etree/ElementTree.py", line 1202, in parse
tree.parse(source, parser)
File "/usr/lib/python3.8/xml/etree/ElementTree.py", line 595, in parse
self._root = parser._parse_whole(source)
xml.etree.ElementTree.ParseError: no element found: line 1, column 0
No partition definitions found in initrd-flash.xml
ERR: write failure to external storage at 2025-01-28T00:28:57+01:00
Console
[ 8.203195] nvdla 158c0000.nvdla1: deferred probe timeout, ignoring dependency
[ 8.209600] nvdla: probe of 158c0000.nvdla1 failed with error -110
[ 8.216876] irq: IRQ308: trimming hierarchy from :pmc@c360000
[ 8.221649] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 8.229498] tegra-se-nvhost 15810000.se: Adding to iommu group 52
[ 8.234974] tegra-se-nvhost 15810000.se: initialized
[ 8.241106] tegra-se-nvhost 15810000.se: tegra_se_probe: complete
[ 8.245706] tegra-se-nvhost 15820000.se: Adding to iommu group 53
[ 8.252202] tegra-se-nvhost 15820000.se: initialized
[ 8.257862] tegra-se-nvhost 15820000.se: tegra_se_probe: complete
[ 8.262921] tegra-se-nvhost 15840000.se: Adding to iommu group 54
[ 8.269449] tegra-se-nvhost 15840000.se: initialized
[ 8.275540] tegra-se-nvhost 15840000.se: tegra_se_probe: complete
[ 8.280827] tegra_actmon d230000.actmon: in actmon_register()...
[ 8.286298] tegra_actmon d230000.actmon: bwmgr_disable = 1
[ 8.292250] tegra_actmon d230000.actmon: initialization Completed for the device mc_all
[ 8.299806] hvc_sysfs: hypervisor is not present
[ 8.304216] clk: Disabling unused clocks
[ 8.346025] ALSA device list:
[ 8.346122] No soundcards found.
[ 8.347184] Freeing unused kernel memory: 4416K
[ 8.348072] Run /init as init process
128+0 records in
128+0 records out
mke2fs 1.47.0 (5-Feb-2023)
Found /tmp/flashpkg.ext4
[ 8.457929] Mass Storage Function, version: 2009/09/11
[ 8.458083] LUN: removable file: (no medium)
[ 8.458946] tegra-xudc 3550000.xudc: EP 0 (type: ctrl, dir: out) enabled
Exported /tmp/flashpkg.ext4 as flashpkg
Waiting for host to connect...[ 8.967129] mmc1: SDHCI controller on 3400000.sdhci [3400000.sdhci] using ADMA 64-bit
[ 8.978011] tegra-xudc 3550000.xudc: EP 3 (type: bulk, dir: in) enabled
[ 8.978224] tegra-xudc 3550000.xudc: EP 2 (type: bulk, dir: out) enabled
[ 8.996027] usb 1-2.2: new full-speed USB device number 6 using tegra-xusb
[ 8.996751] usb 1-2.2: Device not responding to setup address.
[ 9.204754] usb 1-2.2: Device not responding to setup address.
[ 9.412177] usb 1-2.2: device not accepting address 6, error -71
[connected]
Waiting for host to disconnect...[ 9.492376] usb 1-2.2: new full-speed USB device number 7 using tegra-xusb
[ 9.493419] usb 1-2.2: Device not responding to setup address.
[ 9.700751] usb 1-2.2: Device not responding to setup address.
[ 9.908188] usb 1-2.2: device not accepting address 7, error -71
[ 9.909444] usb 1-2-port2: unable to enumerate USB device
[ 9.988182] usb 1-2.5: new high-speed USB device number 8 using tegra-xusb
[ 10.093098] usb 1-2.5: New USB device found, idVendor=0424, idProduct=2740, bcdDevice= 2.00
[ 10.093337] usb 1-2.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 10.093541] usb 1-2.5: Product: Hub Controller
[ 10.093679] usb 1-2.5: Manufacturer: Microchip Tech
[ 11.600451] tegra-xudc 3550000.xudc: ep 3 disabled
[ 11.600616] tegra-xudc 3550000.xudc: ep 2 disabled
[disconnected]
[ 12.471295] tegra-xudc 3550000.xudc: ep 0 disabled
[ 12.478310] loop: module loaded
[ 12.479461] EXT4-fs (loop0): mounted filesystem with ordered data mode. Opts: (null)
Processing: bootloader
Processing: extra-pre-wipe
Processing: erase-mmc
Processing: export-devices nvme0n1
[ 12.488807] Mass Storage Function, version: 2009/09/11
[ 12.488958] LUN: removable file: (no medium)
[ 12.489604] tegra-xudc 3550000.xudc: EP 0 (type: ctrl, dir: out) enabled
[ 12.930466] tegra-xudc 3550000.xudc: EP 3 (type: bulk, dir: in) enabled
[ 12.930680] tegra-xudc 3550000.xudc: EP 2 (type: bulk, dir: out) enabled
[ 14.888183] tegra-xudc 3550000.xudc: ep 3 disabled
[ 14.888350] tegra-xudc 3550000.xudc: ep 2 disabled
[ 15.499102] tegra-xudc 3550000.xudc: ep 0 disabled
Processing: extra
Processing: reboot
Waiting for boot device programming to complete
Is there anyone who faced similar problems and could resolve them?
Cheers!