Giter VIP home page Giter VIP logo

tegra-demo-distro's People

Contributors

atharvanan1 avatar brgl avatar dwalkes avatar frosteyes avatar ichergui avatar joekale-pp avatar kekiefer avatar madisongh avatar percevalsa avatar quaresmajose avatar schlumpf avatar theyoctojester avatar up2datecyborg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tegra-demo-distro's Issues

Mender partitions (A/B/data) within the SDcard image?

Hi,

I'm stuck on first boot with my image. Here is the context:

  • Target: Jetson Nano Developer Kit
  • Branch: hardknott
  • Machine: jetson-nano-devkit
  • Distro: tegrademo-mender
  • Image: core-image-minimal
  • SD card: 32GB

Flashed using the dosdcard.sh script on host

$ sudo ./dosdcard.sh /dev/mmcblk0

On first boot the system gets stuck at first boot

[    6.806289] systemd[1]: Starting Mender service to grow data partition size...
...
[    6.916597] systemd[1]: mender-grow-data.service: Main process exited, code=exited, status=1/FAILURE
[    6.917367] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
[    6.931597] systemd[1]: mender-grow-data.service: Failed with result 'exit-code'.
[    6.940498] systemd[1]: Failed to start Mender service to grow data partition size.

When I look at the status of the mender grow service (target is maintenance mode)

Mar 24 10:25:19 jetson-nano-devkit mender-client-resize-data-part[3566]: cat: can't open '/sys/block/mmcblk0/mmcblk0p3/size': No such file or directory

So, fdisk shows that there is a single partition only:

$ fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 29.72 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 8223F1A7-3AD2-41DC-8A71-E8B92B422E8D

Device         Start      End  Sectors Size Type
/dev/mmcblk0p1  2048 29362175 29360128  14G Linux filesystem

The mender data partition is not available and the mender-grow-data.service is right.
So, my question is whether the mender data partition should be within the image that is written to SDcard? Or at what point the mender data partition will be created?

Thanks.

failed to build custom distro with mender enabled

Hi, I created a custom distro layer using the create-distro-layer script:

> ./scripts-setup/create-distro-layer -d my-mender -m

After that, I tried to build an image using this distro:

> . ./setup-env -m jetson-nano-devkit-emmc -d my-mender build-my-mender
> bitbake core-image-minimal

Bitbake gives me the following error:

NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.
ERROR: Configuration has been re-parsed over 20 times, breaking out of the loop...
ERROR: Error parsing configuration files
Traceback (most recent call last):
  File "/home/hesmar/Development/3dvisionlabs/embedded/yocto2/tegra-demo-distro/repos/poky/bitbake/lib/bb/cookerdata.py", line 281, in CookerDataBuilder.parseBaseConfiguration(worker=False):
                                      "breaking out of the loop...")
    >                    raise Exception("Too deep config re-parse loop. Check locations where "
                                         "BB_INVALIDCONF is being set (ConfigParsed event handlers)")
Exception: Too deep config re-parse loop. Check locations where BB_INVALIDCONF is being set (ConfigParsed event handlers)

If I create the distro without Mender (removing the -m argument), bitbake works fine. How can I make it work with Mender support enabled?

Non-X11 images

I'm building Weston image without X11. Nano and NX.

CI jobs:
https://github.com/meta-flutter/meta-flutter/blob/jw/nvidia_nx/.github/workflows/dunfell-nvidia-jetson-nano-devkit.yml
https://github.com/meta-flutter/meta-flutter/blob/jw/nvidia_nx/.github/workflows/dunfell-nvidia-jetson-xavier-nx-devkit.yml

X11 appears to be tightly coupled with demo-image-weston, and the build is ignoring this:
echo 'DISTRO_FEATURES_remove = "x11"' >> ./conf/local.conf

If DISTRO_FEATURES doesn't have x11, it shouldn't build anything with X11 dependency.

Same with vulkan recipes, they're all dependent on x11; where the actual repo supports backend of direct2display, xcb, x11, and Wayland.

Basically adding DISTRO_FEATURES_remove = "x11" should no longer include any x11 dependent recipes in the image.

What's the by-design approach for non-X11 images?

docker broken on latest dunfell branch commit "http: invalid Host header"

I just realized docker is completely broken on the latest dunfell branch of tegra-demo-distro with demo-image-full, I believe due to this issue. Any attempts to start a container fail with

root@jetson-nano-2gb-devkit:~# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
70f5ac315c5a: Pull complete
Digest: sha256:88ec0acaa3ec199d3b7eaf73588f4518c25f9d34f58ce9a0df68429c5af48e8d
Status: Downloaded newer image for hello-world:latest
http: invalid Host header

I don't see any fixes for this in meta-virtualization dunfell branch, nor do I see any in the corresponding docker-ce 19.03 or moby 19.03 branches.

I have verified this was introduced with this poky patch and have verified that reverting this commit resolves the issue.

I would rather just switch to kirkstone-l4t-r32.7.x, however I think there's a blocking issue there at OE4T/meta-tegra#1194 which would need to be backported before my deepstream docker example will work on kirkstone, and it looks like it won't be trivial to backport that one (although I haven't fully wrapped my head around it yet).

I’m curious if anyone has suggestions about how to resolve and/or if anyone else cares about docker support on dunfell.

Fails to boot on successful flash for machine jetson-nano-emmc on changing rootfs size

MACHINE jetson-nano-emmc fails to boot up after making the changes to the default ROOTFSPART_SIZE from 5233442816 to 4700000000 (or any other value).
ROOTFSPART_SIZE = "4700000000" was added in the build/conf/local.conf file to modify the rootfs size.
The failure can be seen on both the dunfell and master branches.

Output of the Test scenario on assigning ROOTFSPART_SIZE value 4700000000

MACHINE jetson-nano-emmc flashes successfully as per:

[ 128.7239 ] [................................................] 100%
[ 128.7398 ] Writing partition APP_b with core-image-dev.ext4.img
[ 128.7769 ] [................................................] 100%
[ 250.8511 ] Writing partition UDA with core-image-dev-bulletcam.dataimg.img
[ 252.2688 ] [................................................] 100%
[ 252.8476 ]
[ 252.8504 ] tegradevflash --write BCT bulletcam.bct
[ 252.8526 ] Cboot version 00.01.0000
[ 252.8546 ] Writing partition BCT with bulletcam.bct
[ 252.8553 ] [................................................] 100%
[ 253.2510 ]
[ 253.2511 ] Flashing completed

[ 253.2513 ] Coldbooting the device
[ 253.2537 ] tegradevflash --reboot coldboot
[ 253.2561 ] Cboot version 00.01.0000
[ 253.2584 ]

but fails to boot up as per the messages on serial port:

[0000.375] GSC3 Carveout Base=0x000000017f300000 Size=0x00d00000
[0000.391] RamDump Carveout Base=0x00000000ff280000 Size=0x00080000
[0000.397] Platform-DebugCarveout: 0
[0000.401] Nck Carveout Base=0x00000000ff080000 Size=0x00200000
[0000.406] Non secure mode, and RB not enabled.
[0000.423] Csd NumOfBlocks=0
[0000.614] *** Booting BFS1.
[0000.617] Read PT from (0:3)
[0000.623] Using BFS PT to query partitions
[0000.628] PT: Partition LNX NOT found !
[0001.223] *** Failing over to KFS2.

There is no MB1-BCT device type corresponding to pt type: 9

Hello,

I am trying to change the partition layout to use NVME but I am getting this error:

| [   1.3744 ]
| [   1.3744 ] Parsing config file :tegra19x-mb1-bct-device-qspi-p3668.cfg
| [   1.3744 ] Added Platform Config 9 data with size :- 40
| [   1.3744 ]
| [   1.3744 ] Updating mb1-bct with firmware information
| [   1.3766 ] tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo flash.xml.bin
| [   1.3774 ] MB1-BCT version: 0x1
| [   1.3802 ]
| [   1.3802 ] Updating mb1-bct with storage information
| [   1.3821 ] tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatestorageinfo flash.xml.bin
| [   1.3828 ] MB1-BCT version: 0x1
| [   1.3830 ] There is no MB1-BCT device type corresponding to pt type: 9
| [   1.3873 ]
| Error: Return value 2
| Command tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatestorageinfo flash.xml.bin
| WARNING: exit code 1 from a shell command.
| 

I have modified flash_mender.xml via a patch to replace the device type like this:

--- ../flash_mender.xml    2021-09-25 18:51:12.112779029 +0200
+++ ../flash_mender.xml        2021-09-25 18:56:35.133990639 +0200
@@ -498,7 +498,7 @@
               device. </description>
         </partition>
     </device>
-    <device type="sdcard" instance="0" sector_size="512" num_sectors="33554432">
+    <device type="nvme" instance="0" sector_size="512" num_sectors="33554432">
         <partition name="master_boot_record" type="protective_master_boot_record">
             <allocation_policy> sequential </allocation_policy>
             <filesystem_type> basic </filesystem_type>

Does this make sense? Is using NVME supported with yocto (it is with jetpack)? If it is not supported can you guide me where should I make modifications to supported so I can submit a PR?

td-initramfs

Hi

I can't seem to find any information about this. I am trying to use SW update and A/B support on branch dunfell-l4t-r32.5.0 and I get the error no buildable providers for td-initramfs. Any help would be appreciated.

Thanks

Error running bitbake image-sato

I am getting the following error and cant build the image

ERROR: Nothing RPROVIDES 'vulkan-demos' (but /home/mete/tegra-demo-distro/layers/meta-tegrademo/recipes-demo/packagegroups/packagegroup-demo-vulkantests.bb RDEPENDS on or otherwise requires it)

NOTE: Runtime target 'vulkan-demos' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['vulkan-demos']
NOTE: Runtime target 'packagegroup-demo-vulkantests' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-demo-vulkantests', 'vulkan-demos']

ERROR: Required build target 'demo-image-sato' has no buildable providers.
Missing or unbuildable dependency chain was: ['demo-image-sato', 'packagegroup-demo-vulkantests', 'vulkan-demos']

Mender update fails on Xavier NX

Hi!

I'm trying to integrate mender with our system but I can't correctly update the device. I first noticed this error on a custom system but I can reproduce it with the vanilla demo-image-base image with hosted mender.

The update fails when the ArtifactInstall_Leave_80_bl-update state script runs and exits with an error. The offending line is:

if ! chroot "${mnt}" /usr/sbin/nv_update_engine --install no-reboot; then

And this is what happens inside:

5399  openat(AT_FDCWD, "/opt/ota_package/bl_update_payload", O_RDONLY) = 3
5399  fstat(3, {st_mode=S_IFREG|0644, st_size=47626452, ...}) = 0
5399  read(3, "NVIDIA__BLOB__V2\0\0\2\0\324\270\326\0020\0\0\0\33\0\0\0\0\0\0\0\324\270\326\2\0\0\0\0\0\0\0\0spe-fw\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\330\f\0\0\360r\1\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0mb2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\310\177\1\0000\232\2\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0cpu-bootloader\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\370\31\4\0\200\260\6\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0secure-os\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0x\312\n\0\300\263\5\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
5399  write(1, "HEADER: MAGIC NVIDIA__BLOB__V2\n", 31) = 31
5399  write(1, "HEX_VALUE 131072\n", 17) = 17
5399  write(1, "BLOB_SIZE 47626452\n", 19) = 19
5399  write(1, "HEADER_SIZE 48\n", 15)  = 15
5399  write(1, "NUMBER_OF_ELEMENTS 27\n", 22) = 22
5399  write(1, "HEADER_TYPE 0\n", 14)   = 14
5399  write(1, "UNCOMP_SIZE 47626452\n", 21) = 21
5399  write(1, "MB1_RATCHET_LV 0\n", 17) = 17
5399  write(1, "MTS_RATCHET_LV 0\n", 17) = 17
5399  write(1, "ROLLBACK_FUSE_LV 0\n", 19) = 19
5399  lseek(3, 0, SEEK_SET)             = 0
5399  read(3, "NVIDIA__BLOB__V2\0\0\2\0\324\270\326\0020\0\0\0\33\0\0\0\0\0\0\0\324\270\326\2\0\0\0\0\0\0\0\0spe-fw\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\330\f\0\0\360r\1\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0mb2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\310\177\1\0000\232\2\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0cpu-bootloader\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\370\31\4\0\200\260\6\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0secure-os\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0x\312\n\0\300\263\5\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
5399  openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 4
5399  fstat(4, {st_mode=S_IFREG|0644, st_size=154, ...}) = 0
5399  read(4, "TNSPEC 3668-300-0000-B.0-1-2-jetson-xavier-nx-devkit-mmcblk0p1\nTEGRA_CHIPID 0x19\nTEGRA_OTA_BOOT_DEVICE /dev/mtdblock0\nTEGRA_OTA_GPT_DEVICE /dev/mtdblock0\n", 4096) = 154
5399  read(4, "", 4096)                 = 0
5399  close(4)                          = 0
5399  openat(AT_FDCWD, "/etc/nv_boot_control.conf", O_RDONLY) = 4
5399  fstat(4, {st_mode=S_IFREG|0644, st_size=154, ...}) = 0
5399  read(4, "TNSPEC 3668-300-0000-B.0-1-2-jetson-xavier-nx-devkit-mmcblk0p1\nTEGRA_CHIPID 0x19\nTEGRA_OTA_BOOT_DEVICE /dev/mtdblock0\nTEGRA_OTA_GPT_DEVICE /dev/mtdblock0\n", 4096) = 154
5399  close(4)                          = 0
5399  write(1, "config COMPATIBLE_SPEC not found in /etc/nv_boot_control.conf\nDevice TN Spec: 3668-300-0000-B.0-1-2-jetson-xavier-nx-devkit-mmcblk0p1\n", 134) = 134
5399  write(1, "Can't find matching TN Spec in OTA Blob!\n", 41) = 41
5399  close(3)                          = 0
5399  write(1, "OTA Blob update failed. Status: 3\n", 34) = 34
5399  write(1, "/usr/sbin/nv_bootloader_payload_updater --no-dependent-partition failed.\n", 73) = 73
5399  exit_group(3)     

Unfortunately I have no idea what this program is trying to achieve. Please advise on where to look next.

EDIT

This is the complete strace output.

vi 54080000.vi: tegra_channel_error_status:error 4000

Discussed in #212

Originally posted by danny1209 July 6, 2022
Hi,
the same camera driver code, which I tested in Nvidia Jetpack(4.6.1) and Yocto image(r32.6.1), in Nvidia Jetpack without any problem, but in the yocto image I get this error randomly.
Does someone have idea? Many thanks!
[ +5.504766] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 323
[ +0.010939] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 326
[ +0.011669] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 327
[ +0.027073] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 328
[ +0.176216] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 336
[ +0.008547] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 339
[ +7.909677] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 811
[ +0.013990] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 814
[ +0.008594] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 815
[ +0.024170] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 816
[ +0.011398] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 817
[ +0.330701] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 834
[ +0.030137] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 837
[ +3.310245] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1033
[ +0.011153] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1036
[ +0.007940] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1037
[ +0.008616] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1038
[ +0.022319] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1039
[ +0.012201] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1040
[ +0.433352] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1064
[ +0.033104] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1067
[ +0.008397] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1069
[ +0.022633] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1070
[ +5.314889] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1386
[ +0.015588] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1389
[ +0.008200] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1390
[ +0.025992] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1391
[ +0.012990] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1392
[ +0.027335] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1393
[ +0.134684] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1399
[ +0.008994] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 1402
[ +18.240584] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2494
[ +0.012088] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2497
[ +0.010495] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2498
[ +0.023996] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2499
[ +0.014485] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2500
[ +0.254508] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2512
[ +0.008330] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2515
[ +4.276389] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2767
[ +0.007530] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2770
[ +0.024126] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2771
[ +0.008575] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2772
[Sep20 10:48] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2783
[ +0.018917] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 2786
[ +4.339508] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3043
[ +0.008507] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3046
[ +0.026125] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3047
[ +0.009472] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3048
[ +0.029929] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3049
[ +0.107592] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3053
[ +0.009297] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3056
[ +2.061126] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3178
[ +0.010532] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3181
[ +0.008783] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3182
[ +0.034177] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3183
[ +0.010365] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3184
[ +0.029124] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3185
[ +0.222668] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3195
[ +0.007349] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3198
[ +0.009580] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 3199
[ +14.440909] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4063
[ +0.062984] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4067
[ +0.170522] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4076
[ +2.293817] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4212
[ +0.008771] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4215
[ +0.022856] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4216
[ +0.009250] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4217
[ +0.053486] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4218
[ +0.254865] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4229
[ +0.007745] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4232
[ +0.008885] vi 54080000.vi: tegra_channel_error_status:error 4000 frame 4233

Best regards
Danny

Error running bitbake image-full

I am getting the following fatal error when trying to bitbake image-full
repository '/home/mete/tegra-demo distro/build/downloads/git2/github.com.opencv.opencv_3rdparty.git/' does not exist
opencv-4.1.0-r0 do_unpack: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; unset _PYTHON_SYSCONFIGDATA_NAME; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus";

I looked around the opencv_3rd party repo and its a strange repo with a placeholder master branch and code divided into different branches. Could it be related to that? Can we skip building examples requiring 3rd_party?

No UVC Camera and IWLWIFI

Hi,

I already tried all demo images on Jetson Nano Devkit as described in the READ.ME. I have an Intel 8265 on M.2 interface and a UVC camera on USB. However there is no video device and no wifi/bluetooth device listed anywhere. I checked kernel config (bitbake -c menuconfig virtual/kernel) and the modules seems to be enabled. However there is no kernel module under /lib/modules/4.9.253-l4t-r32.6+gf8935b85523e/kernel/net/wireless.

How do I enable the UVC camera and the wireless module?

lsusb output

Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface
Bus 001 Device 006: ID 17ef:608d Lenovo Optical Mouse
Bus 001 Device 005: ID 17ef:608c Lenovo Lenovo Calliope USB Keyboard
Bus 001 Device 004: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lspci output

00:01.0 PCI bridge: NVIDIA Corporation Device 0fae (rev a1)
00:02.0 PCI bridge: NVIDIA Corporation Device 0faf (rev a1)
01:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)

lsmod output

Module                  Size  Used by
overlay                57776  0
nvgpu                1896634  13
fuse                  125841  1

Thanks in advance.
Ibrahim

gst-plugins-bad vulkan build failure

Hitting
ERROR: gstreamer1.0-plugins-bad-1.14.4-r0 do_compile: oe_runmake failed

Perhaps I need to override the package config for gstreamer1.0-plugins-bad.

../../../gst-plugins-bad-1.14.4/ext/vulkan/vkerror.c: In function '_vk_result_to_string':
../../../gst-plugins-bad-1.14.4/ext/vulkan/vkerror.c:66:16: error: 'VK_RESULT_BEGIN_RANGE' undeclared (first use in this function); did you mean 'VK_RESULT_MAX_ENUM'?
../../../gst-plugins-bad-1.14.4/ext/vulkan/vkerror.c:66:16: note: each undeclared identifier is reported only once for each function it appears in
Makefile:994: recipe for target 'libgstvulkan_la-vkerror.lo' failed
| ../../aarch64-oe4t-linux-libtool  --tag=CC   --mode=compile aarch64-oe4t-linux-gcc  -march=armv8-a+crc -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot -DHAVE_CONFIG_H -I. -I../../../gst-plugins-bad-1.14.4/ext/vulkan -I../..    -I../../../gst-plugins-bad-1.14.4/gst-libs -I../../gst-libs -I../../ext/vulkan -pthread -I/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot/usr/include/gstreamer-1.0 -I/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot/usr/include/glib-2.0 -I/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot/usr/lib/glib-2.0/include  -DGST_USE_UNSTABLE_API -fno-strict-aliasing  -DG_THREADS_MANDATORY -DG_DISABLE_CAST_CHECKS -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wwrite-strings -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wnested-externs       -fvisibility=hidden -pthread -I/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot/usr/include/gstreamer-1.0 -I/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot/usr/include/glib-2.0 -I/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot/usr/lib/glib-2.0/include -pthread -I/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot/usr/include/gstreamer-1.0 -I/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot/usr/include/glib-2.0 -I/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot/usr/lib/glib-2.0/include  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0=/usr/src/debug/gstreamer1.0-plugins-bad/1.14.4-r0                      -fdebug-prefix-map=/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0=/usr/src/debug/gstreamer1.0-plugins-bad/1.14.4-r0                      -fdebug-prefix-map=/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot=                      -fdebug-prefix-map=/__w/meta-flutter/jetson-nano-devkit/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/gstreamer1.0-plugins-bad/1.14.4-r0/recipe-sysroot-native=  -c -o libgstvulkan_la-vkerror.lo `test -f 'vkerror.c' || echo '../../../gst-plugins-bad-1.14.4/ext/vulkan/'`vkerror.c

Is there an expected Vulkan header version required for GST 1.14.4? Perhaps I'm running something too new.

build of deepstream 6.2 fails on branch kirkstone with target jetson-agx-xavier-devkit

Found issue when updating own distro to kirkstone, so checked build on tegra-demo-distro to verify where issue was.

To recreate:

    git clone https://github.com/OE4T/tegra-demo-distro.git
    cd tegra-demo-distro
    git checkout kirkstone
    git submodule update --init
    . ./setup-env --machine jetson-agx-xavier-devkit 
    bitbake deepstream-6.2

Error test:

    ERROR: deepstream-6.2-6.2.0-1-r0 do_package_qa: QA Issue: /opt/nvidia/deepstream/deepstream-6.2/lib/libnvds_riva_tts.so contained in package deepstream-6.2 requires libgrpc++.so.1.50()(64bit), but no providers found in RDEPENDS:deepstream-6.2? [file-rdeps]
    ERROR: deepstream-6.2-6.2.0-1-r0 do_package_qa: QA Issue: /opt/nvidia/deepstream/deepstream-6.2/lib/libnvds_riva_tts.so contained in package deepstream-6.2 requires libprotobuf.so.32()(64bit), but no providers found in RDEPENDS:deepstream-6.2? [file-rdeps]

R32.6.1-t194: Gstreamer capturetest script doesn't work properly

Describe the bug

Testing on wip-dunfell-l4t-r32.6, jetson-agx-xavier-devkit, demo-image-sato .

# capturetest
(gst-launch-1.0:7221): GStreamer-CRITICAL **: 00:20:11.376: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
WARNING: erroneous pipeline: no element "video"

Fixing the capturetest script is needed .

To Reproduce
Steps to reproduce the behavior:

  1. Use tegra-demo-distro, branch wip-dunfell-l4t-r32.6
  2. Build demo-image-sato
  3. Load onto target (tested with Xavier AGX devkit)
  4. try the following commands
# capturetest

upgrade from dunfell-l4t-r32.4.3 to dunfell-l4t-r32.6.1 via mender failed

Hello,

I have multiple Jetson Nano devices running a custom image based on the demo-image-base from the dunfell-l4t-r32.4.3 branch.

I would like to upgrade these Jetson devices to L4T 32.6.1 through Mender. I have successfully built an image based on the dunfell-l4t-r32.6.1 branch and deployed this new image on a Jetson via Mender.
However, when the Jetson boots, it fails and boots to the old 32.4.3 version.

I have read that U-Boot was moved to QSPI after the r32.5.1 version, but I am using an SD card. Maybe my issue is related to this.

Can you tell me if this OTA upgrade is possible ? If yes, how can I do it ?

Thanks.

Bad kernel command-line for jetson nano

Hi!

I've been using meta-tegra with a custom distro on Xavier NX for some time with no major issues. We're now verifying the feasibility of downsizing to nano and so I built a regular core-image-minimal with the tegra demo distro for testing and I can't boot it on a brand new nano board - it goes into initramfs shell. The reason for the failure is this: the initramfs tries to mount a non-existent /dev/mmcblk0p because this is what it gets from the kernel command line which looks like this:

Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1075 core_edp_ma=4000 gpt tegra_fbmem=0x800000@0x92ca9000 is_hdmi_initialised=1  earlycon=uart8250,mmio32,0x70006000  root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 root=/dev/mmcblk0p rw rootwait  

I'm not sure where this invalid value comes from and why are there two root= parameters (one's correct). They are not set in KERNEL_ARGS in any way. Here's my build config:

meta                 = "HEAD:0e7201d43a0af436f450512fe444e3f271b20b24"
meta-tegra           
contrib              = "HEAD:146ceaa7400cdd92d9aad4f005cd3c6ba84b0e8c"
meta-oe              
meta-python          
meta-networking      
meta-filesystems     = "HEAD:11eae114522a6befa06c7f4021a83bc016133543"
meta-virtualization  = "HEAD:8be0bc1480e649b2df5f9f8e87e01c5acbe61182"
meta-tegra-support   
meta-demo-ci         
meta-tegrademo       = "dunfell-l4t-r32.5.0:a99d2da668e7ed6df5927501c134301dd5b43ef0"

Mender update has no effect on Xavier NX (eMMC)

Hello,

I've been working on the Xavier NX (eMMC) version of my embedded project.

mender install /data/myupdate.mender executes without error. I then commit using mender commit and reboot.

But the system still uses the same partition after that (mmcblk0p1). But it should uses mmblk0p11 :/

What do I do wrong ?

Can't Flash Jetson TX2 NX with Kirkstone branch

Hi,
I try to flash my TX2NX with a fresh build of tegra-demo-distro using the branch Kirkstone.
Here what I done

  1. clone tegra-demo-distro and checkout branche kirkstone
  2. git submodule update --init
  3. . ./setup-env --machine jetson-xavier-nx-devkit-tx2-nx
  4. bitbake core-image-minimal
  5. tar xvf core-image-minimal-jetson-xavier-nx-devkit-tx2-nx.tegraflash.tar.gz
  6. sudo ./doflash.sh

And the last part failed every time. But when I try my build from dunfell it work and i can flash it.

Here the log of doflash.sh

[   0.0096 ] tegrasign_v3.py --getmode mode.txt --key None
[   0.0097 ] Assuming zero filled SBK key
[   0.0026 ] Generating RCM messages
[   0.0049 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm mb1_recovery_prod.bin 0 0
[   0.0062 ] RCM 0 is saved as rcm_0.rcm
[   0.0068 ] RCM 1 is saved as rcm_1.rcm
[   0.0068 ] List of rcm files are saved in rcm_list.xml
[   0.0068 ] 
[   0.0068 ] Signing RCM messages
[   0.0168 ] tegrasign_v3.py --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0169 ] Assuming zero filled SBK key
[   0.0174 ] Copying signature to RCM mesages
[   0.0200 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml
[   0.0224 ] 
[   0.0225 ] Parsing partition layout
[   0.0252 ] tegraparser_v2 --pt flash.xml.tmp
[   0.0268 ] 
[   0.0270 ] Using default ramcode: 0
[   0.0270 ] Disable BPMP dtb trim, using default dtb
[   0.0270 ] 
[   0.0270 ] Creating list of images to be signed
[   0.0285 ] tegrahost_v2 --chip 0x18 0 --partitionlayout flash.xml.bin --list images_list.xml zerosbk
[   0.0581 ] 
[   0.0581 ] Generating signatures
[   0.0677 ] tegrasign_v3.py --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.0678 ] Assuming zero filled SBK key
[   0.3394 ] Generating br-bct
[   0.3417 ] Updating dev and MSS params in BR BCT
[   0.3418 ] tegrabct_v2 --dev_param emmc.cfg --sdram jetson-xavier-nx-devkit-tx2-nx.cfg --brbct br_bct.cfg --chip 0x18 0
[   0.3570 ] 
[   0.3571 ] Updating bl info
[   0.3600 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.3622 ] 
[   0.3623 ] Updating smd info
[   0.3646 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --updatesmdinfo flash.xml.bin
[   0.3661 ] 
[   0.3661 ] Updating Odmdata
[   0.3688 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 0 --updatefields Odmdata =0x2090000
[   0.3717 ] 
[   0.3718 ] Get Signed section of bct
[   0.3746 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 0 --listbct bct_list.xml
[   0.3763 ] 
[   0.3788 ] tegrasign_v3.py --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.3803 ] Assuming zero filled SBK key
[   0.4339 ] 
[   0.4339 ] Updating BCT with signature
[   0.4368 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 0 --updatesig bct_list_signed.xml
[   0.4401 ] 
[   0.4402 ] Generating coldboot mb1-bct
[   0.4429 ] tegrabct_v2 --chip 0x18 0 --mb1bct mb1_cold_boot_bct.cfg --sdram jetson-xavier-nx-devkit-tx2-nx.cfg --misc tegra186-mb1-bct-misc-si-l4t.cfg --scr mobile_scr.cfg --pinmux tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg --pmc tegra186-mb1-bct-pad-p3636-0001-a00.cfg --pmic tegra186-mb1-bct-pmic-p3636-0001-a00.cfg --brcommand tegra186-mb1-bct-bootrom-p3636-0001-a00.cfg --prod tegra186-mb1-bct-prod-p3636-0001-a00.cfg
[   0.4442 ] MB1-BCT version: 0xf
[   0.4445 ] Copying Sdram info from 1 to 2 set
[   0.4582 ] Copying Sdram info from 2 to 3 set
[   0.4588 ] Packing sdram param for instance[0]
[   0.4592 ] Packing sdram param for instance[1]
[   0.4595 ] Packing sdram param for instance[2]
[   0.4598 ] Packing sdram param for instance[3]

[   0.4601 ] Parsing config file :tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg 
[   0.4607 ] Appending platform config data of size :- 2280
[   0.4611 ] 
[   0.4611 ] Parsing config file :mobile_scr.cfg 
[   0.4611 ] Appending platform config data of size :- 12240
[   0.4611 ] 
[   0.4611 ] Parsing config file :tegra186-mb1-bct-pad-p3636-0001-a00.cfg 
[   0.4611 ] Appending platform config data of size :- 24
[   0.4611 ] 
[   0.4611 ] Parsing config file :tegra186-mb1-bct-pmic-p3636-0001-a00.cfg 
[   0.4611 ] Appending platform config data of size :- 508
[   0.4611 ] 
[   0.4611 ] Parsing config file :tegra186-mb1-bct-bootrom-p3636-0001-a00.cfg 
[   0.4611 ] Appending platform config data of size :- 64
[   0.4611 ] 
[   0.4612 ] Parsing config file :tegra186-mb1-bct-prod-p3636-0001-a00.cfg 
[   0.4612 ] Appending platform config data of size :- 1628
[   0.4612 ] 
[   0.4612 ] Updating mb1-bct with firmware information
[   0.4638 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo flash.xml.bin
[   0.4652 ] MB1-BCT version: 0xf
[   0.4659 ] 
[   0.4660 ] Updating mb1-bct with storage information
[   0.4687 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_cold_boot_bct_MB1.bct --updatestorageinfo flash.xml.bin
[   0.4702 ] MB1-BCT version: 0xf
[   0.4709 ] 
[   0.4732 ] tegrahost_v2 --chip 0x18 --align mb1_cold_boot_bct_MB1.bct
[   0.4743 ] 
[   0.4766 ] tegrahost_v2 --chip 0x18 0 --appendsigheader mb1_cold_boot_bct_MB1.bct zerosbk
[   0.4778 ] 
[   0.4879 ] tegrasign_v3.py --key None --list mb1_cold_boot_bct_MB1_sigheader.bct_list.xml --pubkeyhash pub_key.key
[   0.4881 ] Assuming zero filled SBK key
[   0.4888 ] tegrahost_v2 --chip 0x18 0 --updatesigheader mb1_cold_boot_bct_MB1_sigheader.bct.encrypt mb1_cold_boot_bct_MB1_sigheader.bct.hash zerosbk
[   0.4902 ] 
[   0.4904 ] Generating recovery mb1-bct
[   0.4928 ] tegrabct_v2 --chip 0x18 0 --mb1bct mb1_bct.cfg --sdram jetson-xavier-nx-devkit-tx2-nx.cfg --misc tegra186-mb1-bct-misc-si-l4t.cfg --scr minimal_scr.cfg --pinmux tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg --pmc tegra186-mb1-bct-pad-p3636-0001-a00.cfg --pmic tegra186-mb1-bct-pmic-p3636-0001-a00.cfg --brcommand tegra186-mb1-bct-bootrom-p3636-0001-a00.cfg --prod tegra186-mb1-bct-prod-p3636-0001-a00.cfg
[   0.4939 ] MB1-BCT version: 0xf
[   0.4942 ] Copying Sdram info from 1 to 2 set
[   0.5094 ] Copying Sdram info from 2 to 3 set
[   0.5098 ] Packing sdram param for instance[0]
[   0.5101 ] Packing sdram param for instance[1]
[   0.5104 ] Packing sdram param for instance[2]
[   0.5106 ] Packing sdram param for instance[3]

[   0.5109 ] Parsing config file :tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg 
[   0.5114 ] Appending platform config data of size :- 2280

[   0.5117 ] Parsing config file :minimal_scr.cfg 
[   0.5120 ] Appending platform config data of size :- 12240

[   0.5124 ] Parsing config file :tegra186-mb1-bct-pad-p3636-0001-a00.cfg 
[   0.5127 ] Appending platform config data of size :- 24
[   0.5127 ] 
[   0.5127 ] Parsing config file :tegra186-mb1-bct-pmic-p3636-0001-a00.cfg 
[   0.5127 ] Appending platform config data of size :- 508
[   0.5127 ] 
[   0.5128 ] Parsing config file :tegra186-mb1-bct-bootrom-p3636-0001-a00.cfg 
[   0.5128 ] Appending platform config data of size :- 64
[   0.5128 ] 
[   0.5128 ] Parsing config file :tegra186-mb1-bct-prod-p3636-0001-a00.cfg 
[   0.5128 ] Appending platform config data of size :- 1628
[   0.5128 ] 
[   0.5129 ] Updating mb1-bct with firmware information
[   0.5152 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_bct_MB1.bct --updatefwinfo flash.xml.bin
[   0.5161 ] MB1-BCT version: 0xf
[   0.5167 ] 
[   0.5167 ] Updating mb1-bct with storage information
[   0.5196 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_bct_MB1.bct --updatestorageinfo flash.xml.bin
[   0.5214 ] MB1-BCT version: 0xf
[   0.5219 ] 
[   0.5243 ] tegrahost_v2 --chip 0x18 --align mb1_bct_MB1.bct
[   0.5254 ] 
[   0.5278 ] tegrahost_v2 --chip 0x18 0 --appendsigheader mb1_bct_MB1.bct zerosbk
[   0.5295 ] 
[   0.5400 ] tegrasign_v3.py --key None --list mb1_bct_MB1_sigheader.bct_list.xml --pubkeyhash pub_key.key
[   0.5401 ] Assuming zero filled SBK key
[   0.5410 ] tegrahost_v2 --chip 0x18 0 --updatesigheader mb1_bct_MB1_sigheader.bct.encrypt mb1_bct_MB1_sigheader.bct.hash zerosbk
[   0.5422 ] 
[   0.5424 ] Copying signatures
[   0.5448 ] tegrahost_v2 --chip 0x18 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[   0.5796 ] 
[   0.5797 ] Boot Rom communication
[   0.5819 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml
[   0.5830 ] BootRom is not running
[   5.7503 ] 
[   6.7539 ] tegrarcm_v2 --isapplet
[   6.7550 ] Applet version 01.00.0000
[   6.8282 ] 
[   6.8283 ] Sending BCTs
[   6.8305 ] tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt
[   6.8314 ] Applet version 01.00.0000
[   6.9205 ] Sending bct_bootrom
[   6.9207 ] [................................................] 100%
[   6.9221 ] Sending bct_mb1
[   6.9232 ] [................................................] 100%
[   6.9304 ] 
Error: Return value 8
Command tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt

Have you any idea of what I'm doing wrong ?
I used core-image-minimal to avoid long build.

/data on another disk

Hello,
I already created a custom distribution for a special board setup.
The board I am using consists of a Jetson Xavier NX and a 16 GB SD/MMC (/dev/mmcblk0).
Flashing using ./doflash works as expected.

The hardware also contains a 128GB SSD (/dev/sda).
I would like to create a GPT partition table, one primary ext4 partition and mount that one as /data.

I tested this setup using the normal doflash, boot the board, mount -o remount,rw /, edit fstab to use sda1 as data, parted to create partition layout (mktable, mkpart), mkfs.ext4, ...

Now I would like to automate the process, so it requires only a doflash and all is set up automatically.

Can you help me what to do?

repos/meta-mender/meta-mender-core/classes/mender-setup.bbclass:MENDER_DATA_PART ??= "${MENDER_DATA_PART_DEFAULT}"
repos/meta-mender/meta-mender-core/classes/mender-setup.bbclass:MENDER_DATA_PART_DEFAULT = "${MENDER_STORAGE_DEVICE_BASE}${MENDER_DATA_PART_NUMBER}"

I assume one thing I need to do is to define MENDER_DATA_PART to /dev/sda1. Correct?

How can I automate the the parted + mkfs.ext4 step?
Should I create a service that checks if /dev/sda1 exists and if it is missing, it creates it using parted and mkfs.ext4 calls?
Hook this before /data is mounted?
E.g. something like that:

if [ -e /dev/sda -a -e /dev/sda1 -a "$(blkid --output value --match-tag PTTYPE /dev/sda)" = "gpt" -a "$(blkid --output value --match-tag LABEL /dev/sda1)" = "magic_identifier" ]; then
  echo "all fine"
else
  parted -a opt -s /dev/sda "mktable gpt"
  while [ -e /dev/sda1 ]; do usleep 10000; done
  parted -a opt -s /dev/sda "mkpart primary ext4 1M 100%"
  while [ ! -e /dev/sda1 ]; do usleep 10000; done
  mkfs.ext4 -F -L magic_identifier /dev/sda1
  #systemctl reboot
fi

??

How to add meta-ros (ros 2 dashing), meta-qt5 and meta-boot2qt to demo-image-full on Nvidia Jetson TX2?

I'am a newbie in Yocto Project, From the inputs given by the team members in this tegra-demo-distro repo, I was successfully able to built the "demo-image-full" (Dunfell) image and boot it on my Jetson TX2. My Host PC is running on Ubuntu 18.04 LTS.
I tried adding meta-ros using the inputs from and from this link but ended up in errors.
My bblayers.conf :
BBLAYERS ?= "
/home/hope/DunfellOS/tegra-demo-distro/layers/meta
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-tegra
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-tegra/contrib
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-oe
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-python
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-networking
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-filesystems
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-virtualization
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-tegra-community
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-mender-core
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-mender-tegra
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-tegra-support
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-demo-ci
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-tegrademo
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-ros/meta-ros2
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-ros/meta-ros2-dashing
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-ros/meta-ros-backports-gatesgarth
/home/hope/DunfellOS/tegra-demo-distro/layers/meta-ros/meta-ros-common
"
also. added these two lines at beginning of bblayers.conf :
ROS_OE_RELEASE_SERIES = "dunfell"
ROS_DISTRO = "dashing"

--> And i have added a demo-image-ros2.bb file in layers/meta-tegrademo/recipes-demo/images/demo-image-ros2.bb.
demo-image-ros2.bb :

require demo-image-full.bb

SUMMARY = "An image including a bare-minimum installation of ROS 2 and including some basic pub/sub examples. It includes two DDS middleware implementations, FastDDS and Cyclone DDS"
DESCRIPTION = "${SUMMARY}"

inherit ros_distro_${ROS_DISTRO}
inherit ${ROS_DISTRO_TYPE}_image

TOOLCHAIN_HOST_TASK:append = " nativesdk-packagegroup-cuda-sdk-host"

ROS_SYSROOT_BUILD_DEPENDENCIES = "
ament-lint-auto
ament-cmake-auto
ament-cmake-core
ament-cmake-cppcheck
ament-cmake-cpplint
ament-cmake-export-definitions
ament-cmake-export-dependencies
ament-cmake-export-include-directories
ament-cmake-export-interfaces
ament-cmake-export-libraries
ament-cmake-export-link-flags
ament-cmake-gmock
ament-cmake-gtest
ament-cmake-include-directories
ament-cmake-libraries
ament-cmake
ament-cmake-pytest
ament-cmake-python
ament-cmake-ros
ament-cmake-target-dependencies
ament-cmake-test
ament-cmake-uncrustify
ament-cmake-flake8
ament-cmake-pep257
ament-copyright
ament-cpplint
ament-flake8
ament-index-python
ament-lint-cmake
ament-package
ament-pclint
ament-pep257
ament-pyflakes
ament-uncrustify
ament-xmllint
cmake
eigen3-cmake-module
fastcdr
fastrtps-cmake-module
fastrtps
git
gmock-vendor
gtest-vendor
pkgconfig
python-cmake-module
python3-catkin-pkg
python3-empy
python3
python3-nose
python3-pytest
rcutils
rmw-implementation-cmake
rosidl-cmake
rosidl-default-generators
rosidl-generator-c
rosidl-generator-cpp
rosidl-generator-dds-idl
rosidl-generator-py
rosidl-parser
rosidl-runtime-c
rosidl-runtime-cpp
rosidl-typesupport-c
rosidl-typesupport-cpp
rosidl-typesupport-fastrtps-cpp
rosidl-typesupport-interface
rosidl-typesupport-introspection-c
rosidl-typesupport-introspection-cpp
foonathan-memory-vendor
libyaml-vendor
"

IMAGE_INSTALL:append = "
ros-base
examples-rclcpp-minimal-action-client
examples-rclcpp-minimal-action-server
examples-rclcpp-minimal-client
examples-rclcpp-minimal-composition
examples-rclcpp-minimal-publisher
examples-rclcpp-minimal-service
examples-rclcpp-minimal-subscriber
examples-rclcpp-minimal-timer
examples-rclpy-executors
examples-rclpy-minimal-action-client
examples-rclpy-minimal-action-server
examples-rclpy-minimal-client
examples-rclpy-minimal-publisher
examples-rclpy-minimal-service
examples-rclpy-minimal-subscriber
demo-nodes-cpp
demo-nodes-cpp-rosnative
demo-nodes-py
cyclonedds
rmw-cyclonedds-cpp
tmux
python3-argcomplete
glibc-utils
localedef
rt-tests
stress
${ROS_SYSROOT_BUILD_DEPENDENCIES}
opencv-staticdev
lttng-tools lttng-modules lttng-ust
libstdc++
libstdc++-dev
libnvvpi1
libnvvpi1-dev
"

IMAGE_LINGUAS = "en-us"
GLIBC_GENERATE_LOCALES = "en_US.UTF-8"

But these methods ended up in errors:
Loading cache: 100% |#################################################################################| Time: 0:00:00
Loaded 4551 entries from dependency cache.
ERROR: ExpansionError during parsing /home/hope/DunfellOS/tegra-demo-distro/layers/meta-tegra-community/recipes-test/eglstreams/eglstreams-kms-example_git.bb

I'am seeking the help from you guys for advicing me the ways on which i can built a demo-image-full without errors, so that when i ON my jetson TX2, it should directly boot to my Qt application using meta-boot2qt, which has dependecies on ROS2 and QT5 (Thats why Meta-ros, meta-qt5 and meta-boot2qt).

Thanks in Advance for you precious time and efforts !!!

mender install won't update

I'm using this repo with a Xavier NX.

I'd say maybe 1 out of 5-10 times my mender -install update won't switch partitions. I can pop out my SD card and I can see the rootfs A/B images and I can tell they are different as I keep a file that holds the version of my image in the filesystem.

Even manually changing the slots doesn't seem to do anything nvbootctrl set-active-boot-slot

Any tips on how to debug this? Or, things I could be doing incorrectly?

package_write_rpm error.

Hi OE4T developer, I met a probleam like this: I want to install some files into my rootfs, and I write a ac8265.bb file and build it into my image.bb,but when I build my project, it show some error like pic2. I don't know the reason I have wrote do_package_write_rpm[noexec] = "1" in my bb file, it warned me to the mistakes.
image
image

boot failed after adding rsync (dunfell-l4t-r32.5.0, jetson-xavier-nx-devkit, tegrademo-mender)

Hi,
I use the branch "dunfell-l4t-r32.5.0" for tests as I need JetPack 4.5 for the moment.

  • I switched the working copy with all submodules to the specific branch.
  • After that I setup the environment for machine "jetson-xavier-nx-devkit" and distribution "tegrademo-mender".
  • I did a build for "demo-image-full"
  • Boot the device into recovery mode
  • I flashed the device using ./doflash
  • The device works as expected

Because I am missing "rsync" I edit conf/local.conf and added the line

IMAGE_INSTALL += "rsync"

After that I tried to update the device using mender.
The device does not boot correctly anymore using the new slot and rollback to the previous slot after some attempts.
Because of this I flashed the device with the new image and to start with a "clean environment".
The device run into the same error on boot:

[    6.522339] tegra-ivc ivc-bc00000.rtcpu:echo@0: echo: ver=0 grp=1 RX[16x64]=0x1000-0x1480 TX[16x64]=0x1480-0x1900
[    6.522682] tegra-ivc ivc-bc00000.rtcpu:dbg@1: dbg: ver=0 grp=1 RX[1x384]=0x1900-0x1b00 TX[1x384]=0x1b00-0x1d00
[    6.523093] tegra-ivc ivc-bc00000.rtcpu:dbg@2: dbg: ver=0 grp=1 RX[1x8192]=0x1d00-0x3d80 TX[1x8192]=0x3d80-0x5e00
[    6.523680] tegra-ivc ivc-bc00000.rtcpu:ivccontrol@3: ivccontrol: ver=0 grp=1 RX[64x320]=0x5e00-0xae80 TX[64x320]=0xae80-0xff00
[    6.523996] tegra-ivc ivc-bc00000.rtcpu:ivccapture@4: ivccapture: ver=0 grp=1 RX[512x64]=0xff00-0x17f80 TX[512x64]=0x17f80-0x20000
[    6.524449] tegra186-cam-rtcpu bc00000.rtcpu: using cam RTCPU IRQ (65)
[    6.524581] tegra186-cam-rtcpu bc00000.rtcpu: tegra_camrtc_mon_create is successful
[    6.525691] tegra186-cam-rtcpu bc00000.rtcpu: firmware version cpu=rce cmd=5 sha1=cf2bef3ad10e437272857b76308abef8ffb80bda
[    6.534770] Wake83 for irq=211
[    6.537494] gpio tegra-gpio wake67 for gpio=48(G:0)
[    6.542384] gpio tegra-gpio-aon wake29 for gpio=36(EE:4)
[    6.548022] input: gpio-keys as /devices/gpio-keys/input/input4
[    6.584340] tegra_rtc c2a0000.rtc: setting system clock to 2000-01-01 01:05:10 UTC (946688710)
[    6.585074] mmcblk mmc0:aaaa: Card claimed for testing.
[    6.623785] bpmp: mounted debugfs mirror
[    6.630788] ALSA device list:
[    6.630910]   #0: tegra-hda-xnx at 0x3518000 irq 64
[    6.631029]   #1: jetson-xaviernx-ape
[    6.633668] Freeing unused kernel memory: 11136K
[    8.195870] random: crng init done
[   10.386087] EXT4-fs (mmcblk0p1): couldn't mount as ext3 due to feature incompatibilities
[   10.386794] EXT4-fs (mmcblk0p1): couldn't mount as ext2 due to feature incompatibilities
[   10.465615] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[   10.490699] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
[   10.490699] 
[   10.490893] CPU: 3 PID: 1 Comm: switch_root Not tainted 4.9.201-l4t-r32.5+gc68230c5b46a #1
[   10.491044] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[   10.491158] Call trace:
[   10.491217] [<ffffff800808bc88>] dump_backtrace+0x0/0x178
[   10.491316] [<ffffff800808be24>] show_stack+0x24/0x30
[   10.491413] [<ffffff80084578a4>] dump_stack+0xa4/0xc8
[   10.491506] [<ffffff80081c6ae0>] panic+0x128/0x28c
[   10.491598] [<ffffff80080b7dc4>] do_exit+0xa34/0xa58
[   10.491688] [<ffffff80080b7e74>] do_group_exit+0x3c/0xa0
[   10.491787] [<ffffff80080b7ef8>] __wake_up_parent+0x0/0x40
[   10.491884] [<ffffff8008083900>] el0_svc_naked+0x34/0x38
[   10.491983] SMP: stopping secondary CPUs
[   10.492237] Kernel Offset: disabled
[   10.492501] Memory Limit: none
[   10.492771] trusty-log panic notifier - trusty version Built: 08:56:10 Jul  9 2021 [   10.500464] Rebooting in 5 seconds..

I do not understand why "switch_root" fails just because rsync (and if I realized the build output correctly some other recipe has been build) is added to the image.

Anyone can help?

How can we add devtools package managers such as apt or apt-get (devtools) to our image?

          Just add the needed kernel modules to your image.  If you know that just those two are needed, then putting
CORE_IMAGE_EXTRA_INSTALL = "kernel-module-iwlwifi kernel-module-uvcvideo"

in your local.conf should be enough. If there are other kernel modules that you might need, you could just use

CORE_IMAGE_EXTRA_INSTALL = "kernel-modules"

to have all kernel modules included in the image.

Originally posted by @madisongh in #174 (comment)

kbd compilation error after pulling changes

After pulling the latest changes via git pull, I get an error compiling the kbd package (See attachment). Strangely, this error persists even if I revert the affected repository (poky) to the previous commit. For my part, I can only fix the problem by deleting the whole build folder and restarting the build from scratch.

To be honest, I don't really understand where the error lies, since everything should be the same as before when resetting to the previous commit, right? Is there something I'm missing?

Compilation error
ERROR: kbd-2.2.0-r0 do_compile: oe_runmake failed
ERROR: kbd-2.2.0-r0 do_compile: Execution of '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/temp/run.do_compile.2943431' failed with exit code 1
ERROR: Logfile of failure stored in: /mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/temp/log.do_compile.2943431
Log data follows:
| DEBUG: Executing python function autotools_aclocals
| DEBUG: SITE files ['endian-little', 'bit-64', 'arm-common', 'arm-64', 'common-linux', 'common-glibc', 'aarch64-linux', 'common']
| DEBUG: Python function autotools_aclocals finished
| DEBUG: Executing shell function do_compile
| NOTE: make -j 12
| make  all-recursive
| make[1]: Entering directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build'
| Making all in src
| make[2]: Entering directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src'
| Making all in libcommon
| make[3]: Entering directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src/libcommon'
| make[3]: Nothing to be done for 'all'.
| make[3]: Leaving directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src/libcommon'
| Making all in libkbdfile
| make[3]: Entering directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src/libkbdfile'
| make[3]: Nothing to be done for 'all'.
| make[3]: Leaving directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src/libkbdfile'
| Making all in libkeymap
| make[3]: Entering directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src/libkeymap'
| make  all-am
| make[4]: Entering directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src/libkeymap'
| ../../aarch64-oe4t-linux-libtool  --tag=CC   --mode=compile aarch64-oe4t-linux-gcc  -march=armv8-a+crc -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/recipe-sysroot -DHAVE_CONFIG_H -I. -I../../../kbd-2.2.0/src/libkeymap -I../..   -I../../../kbd-2.2.0/src/libkeymap -I. -I../../../kbd-2.2.0/src/libkeymap/.. -I./.. -I../../../kbd-2.2.0/src/libkeymap/../libcommon -I./../libcommon -I../../../kbd-2.2.0/src/libkeymap/../libkbdfile -I./../libkbdfile -DDATADIR=\"/usr/share\" -DLOCALEDIR=\"/usr/share/locale\" -U_GNU_SOURCE -funit-at-a-time   -g -O2 -D_FORTIFY_SOURCE=2  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0=/usr/src/debug/kbd/2.2.0-r0                      -fdebug-prefix-map=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0=/usr/src/debug/kbd/2.2.0-r0                      -fdebug-prefix-map=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/recipe-sysroot=                      -fdebug-prefix-map=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/recipe-sysroot-native=  -Waggregate-return -Wall -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Wmissing-declarations -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings -c -o analyze.lo ../../../kbd-2.2.0/src/libkeymap/analyze.c
| aarch64-oe4t-linux-libtool: compile:  aarch64-oe4t-linux-gcc -march=armv8-a+crc -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/recipe-sysroot -DHAVE_CONFIG_H -I. -I../../../kbd-2.2.0/src/libkeymap -I../.. -I../../../kbd-2.2.0/src/libkeymap -I. -I../../../kbd-2.2.0/src/libkeymap/.. -I./.. -I../../../kbd-2.2.0/src/libkeymap/../libcommon -I./../libcommon -I../../../kbd-2.2.0/src/libkeymap/../libkbdfile -I./../libkbdfile -DDATADIR=\"/usr/share\" -DLOCALEDIR=\"/usr/share/locale\" -U_GNU_SOURCE -funit-at-a-time -g -O2 -D_FORTIFY_SOURCE=2 -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0=/usr/src/debug/kbd/2.2.0-r0 -fdebug-prefix-map=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0=/usr/src/debug/kbd/2.2.0-r0 -fdebug-prefix-map=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/recipe-sysroot= -fdebug-prefix-map=/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/recipe-sysroot-native= -Waggregate-return -Wall -Wcast-align -Wconversion -Wdisabled-optimization -Wextra -Wmissing-declarations -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings -c ../../../kbd-2.2.0/src/libkeymap/analyze.c  -fPIC -DPIC -o .libs/analyze.o
| analyze.l: In function 'find_incl_file_near_fn':
| analyze.l:141:24: warning: passing argument 2 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:37: note: expected 'char **' but argument is of type 'const char **'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                               ~~~~~~~^~~~~~~
| analyze.l:141:42: warning: passing argument 3 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:53: note: expected 'char **' but argument is of type 'const char * const*'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                                               ~~~~~~~^~~~~~~~
| analyze.l: In function 'find_standard_incl_file':
| analyze.l:168:22: warning: passing argument 2 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:37: note: expected 'char **' but argument is of type 'const char * const*'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                               ~~~~~~~^~~~~~~
| analyze.l:168:40: warning: passing argument 3 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:53: note: expected 'char **' but argument is of type 'const char * const*'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                                               ~~~~~~~^~~~~~~~
| analyze.l:197:24: warning: passing argument 2 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:37: note: expected 'char **' but argument is of type 'const char * const*'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                               ~~~~~~~^~~~~~~
| analyze.l:197:42: warning: passing argument 3 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:53: note: expected 'char **' but argument is of type 'const char * const*'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                                               ~~~~~~~^~~~~~~~
| analyze.l: In function 'find_incl_file':
| analyze.l:210:27: warning: passing argument 2 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:37: note: expected 'char **' but argument is of type 'const char * const*'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                               ~~~~~~~^~~~~~~
| analyze.l:210:45: warning: passing argument 3 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:53: note: expected 'char **' but argument is of type 'const char * const*'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                                               ~~~~~~~^~~~~~~~
| analyze.l:225:26: warning: passing argument 2 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:37: note: expected 'char **' but argument is of type 'const char **'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                               ~~~~~~~^~~~~~~
| analyze.l:225:36: warning: passing argument 3 of 'kbdfile_find' from incompatible pointer type [-Wincompatible-pointer-types]
| In file included from ../../../kbd-2.2.0/src/libkeymap/keymap/kmap.h:36,
|                  from ../../../kbd-2.2.0/src/libkeymap/keymap.h:8,
|                  from ../../../kbd-2.2.0/src/libkeymap/analyze.c:1:
| ../../../kbd-2.2.0/src/libkeymap/../libkbdfile/kbdfile.h:40:53: note: expected 'char **' but argument is of type 'const char * const*'
|  int kbdfile_find(char *fnam, char **dirpath, char **suffixes, struct kbdfile *fp);
|                                               ~~~~~~~^~~~~~~~
| In file included from analyze.l:10:
| analyze.l: In function 'yylex':
| analyze.l:466:19: error: format not a string literal and no format arguments [-Werror=format-security]
| ../../../kbd-2.2.0/src/libkeymap/contextP.h:79:55: note: in definition of macro 'lk_log_cond'
|     lk_log(ctx, level, __FILE__, __LINE__, __func__, ##arg); \
|                                                        ^~~
| analyze.l:466:6: note: in expansion of macro 'ERR'
| cc1: some warnings being treated as errors
| make[4]: *** [Makefile:604: analyze.lo] Error 1
| make[4]: Leaving directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src/libkeymap'
| make[3]: *** [Makefile:476: all] Error 2
| make[3]: Leaving directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src/libkeymap'
| make[2]: *** [Makefile:1083: all-recursive] Error 1
| make[2]: Leaving directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build/src'
| make[1]: *** [Makefile:471: all-recursive] Error 1
| make[1]: Leaving directory '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/build'
| make: *** [Makefile:402: all] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/mnt/HDD2TB/tegra-demo-distro/build/tmp/work/aarch64-oe4t-linux/kbd/2.2.0-r0/temp/run.do_compile.2943431' failed with exit code 1
ERROR: Task (/mnt/HDD2TB/tegra-demo-distro/layers/meta/recipes-core/kbd/kbd_2.2.0.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2017 tasks of which 2013 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /mnt/HDD2TB/tegra-demo-distro/layers/meta/recipes-core/kbd/kbd_2.2.0.bb:do_compile
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

meta-mender-commercial failed with kirkstone branch

Hi,

I try to update my current distro from dunfell to kirkstone.
We use mender-delta-binary and I have some issue with the meta-mender repository.
It seems that the receipts in meta-mender-commercial are not compatible with kirkstone.

For now i will create a fork on my account an try to fix it but do you have an idea of when you will make the change ?

ERROR: Variable EXTRA_IMAGECMD_ext4_append file: /home/DockerUser/working_directory/workspace/BXT4_folder/BXT4/layers/meta-mender-commercial/conf/layer.conf line: 20 contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake.

what is ip address for ethernet port in devkit?

I have built a image for the Jetson Xavier NX with the following commands:

$ . ./setup-env --machine jetson-xavier-nx-devkit
$ bitbake demo-image-base

What is the default IP address for the Ethernet port?

ExpansionError during parsing eglstreams-kms-example

Hi there 👋🏻

I got this error during a build. It's most likely a problem upstream, but I'll open the issue here because I pretend looking into it later on if this is not a common problem. For now I just removed the eglstreams-kms-example recipes and took it out of the packagegroup.

System: docker running Ubuntu 18.04.

Logs:

ubuntu@b1c3a3ad4551:~/volume/tegra-demo-distro$ bitbake demo-image-full
ERROR: ExpansionError during parsing /home/ubuntu/volume/tegra-demo-distro/layers/meta-tegra-community/recipes-test/eglstreams/eglstreams-kms-example_git.bb | ETA:  0:02:13
Traceback (most recent call last):
  File "/home/ubuntu/volume/tegra-demo-distro/repos/poky/bitbake/lib/bb/fetch2/__init__.py", line 1175, in srcrev_internal_helper(ud=<bb.fetch2.FetchData object at 0x7fd920f31a90>, d=<bb.data_smart.DataSmart object at 0x7fd9210c2630>, name='default'):
         if srcrev == "AUTOINC":
    >        srcrev = ud.method.latest_revision(ud, d, name)
     
  File "/home/ubuntu/volume/tegra-demo-distro/repos/poky/bitbake/lib/bb/fetch2/__init__.py", line 1590, in Git.latest_revision(ud=<bb.fetch2.FetchData object at 0x7fd920f31a90>, d=<bb.data_smart.DataSmart object at 0x7fd9210c2630>, name='default'):
             except KeyError:
    >            revs[key] = rev = self._latest_revision(ud, d, name)
                 return rev
  File "/home/ubuntu/volume/tegra-demo-distro/repos/poky/bitbake/lib/bb/fetch2/git.py", line 705, in Git._latest_revision(ud=<bb.fetch2.FetchData object at 0x7fd920f31a90>, d=<bb.data_smart.DataSmart object at 0x7fd9210c2630>, name='default'):
             """
    >        output = self._lsremote(ud, d, "")
             # Tags of the form ^{} may not work, need to fallback to other form
  File "/home/ubuntu/volume/tegra-demo-distro/repos/poky/bitbake/lib/bb/fetch2/git.py", line 694, in Git._lsremote(ud=<bb.fetch2.FetchData object at 0x7fd920f31a90>, d=<bb.data_smart.DataSmart object at 0x7fd9210c2630>, search=''):
                     bb.fetch2.check_network_access(d, cmd, repourl)
    >            output = runfetchcmd(cmd, d, True)
                 if not output:
  File "/home/ubuntu/volume/tegra-demo-distro/repos/poky/bitbake/lib/bb/fetch2/__init__.py", line 892, in runfetchcmd(cmd='export PSEUDO_DISABLED=1; export PATH="/home/ubuntu/volume/tegra-demo-distro/layers/scripts:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin/aarch64-oe4t-linux:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot/usr/bin/crossscripts:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/sbin:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/sbin:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/bin:/home/ubuntu/volume/tegra-demo-distro/repos/poky/bitbake/bin:/home/ubuntu/volume/tegra-demo-distro/tmp/hosttools"; export HOME="/home/ubuntu"; git -c core.fsyncobjectfiles=0 ls-remote "https://github.com/madisongh/eglstreams-kms-example" ', d=<bb.data_smart.DataSmart object at 0x7fd920f31cf8>, quiet=True, cleanup=[], log=None, workdir=None):
     
    >        raise FetchError(error_message)
     
bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export PATH="/home/ubuntu/volume/tegra-demo-distro/layers/scripts:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin/aarch64-oe4t-linux:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot/usr/bin/crossscripts:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/sbin:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/sbin:/home/ubuntu/volume/tegra-demo-distro/tmp/work/armv8a_tegra-oe4t-linux/eglstreams-kms-example/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/bin:/home/ubuntu/volume/tegra-demo-distro/repos/poky/bitbake/bin:/home/ubuntu/volume/tegra-demo-distro/tmp/hosttools"; export HOME="/home/ubuntu"; git -c core.fsyncobjectfiles=0 ls-remote "https://github.com/madisongh/eglstreams-kms-example"  failed with exit code 128, no output

WARNING: /home/ubuntu/volume/tegra-demo-distro/layers/meta-python/recipes-devtools/python/python3-pint_0.11.bb: Cooker received SIGTERM, shutting down...
WARNING: /home/ubuntu/volume/tegra-demo-distro/layers/meta-python/recipes-devtools/python/python3-scapy_0.25.bb: Cooker received SIGTERM, shutting down...
WARNING: /home/ubuntu/volume/tegra-demo-distro/layers/meta-virtualization/recipes-extended/images/uxen-guest-image-minimal.bb: Cooker received SIGTERM, shutting down...`

question about mender install/commit and this repo

@dwalkes This isn't really so much an issue as a question about the wiki

https://github.com/OE4T/tegra-demo-distro/wiki/Mender-Integration-Tests

Is it true that upon a success mender -install that nvbootctrl will always just switch to the opposite active boot slot from the one it is currently in? So, basically the last good update becomes the new "golden/fallback" image?

From the wiki I see that if the install is interrupted (loss of power) mender will stay in the current slot.

Is it necessary to ever issue mender -commit?

Mender Image Upgrade failed (bootloader update error)

Hello, I'm trying to upgrade my Jetson nano (with a yocto image) trought mender.
So I've uploaded my .mender image on my mender server and programmed a release for my device.

The upgrade process start fine but I rapidly got an error :
Feb 11 10:46:37 jetson-nano-qspi-sd mender[4710]: time="2022-02-11T10:46:37Z" level=info msg="Executing script: ArtifactInstall_Leave_80_bl-update"
Feb 11 10:46:37 jetson-nano-qspi-sd mender[4710]: time="2022-02-11T10:46:37Z" level=info msg="Collected output (stderr) while running script /var/lib/mender/scripts/ArtifactInstall_Leave_80_bl-update\nERR: cannot perform bootloader update\n\n---------- end of script output"

I tried to run the tegra-bootloader-update manually, but here I've the following error :
Error: missing entries for partitions: BCT, RP1, PT, VER, DTB, LNX
for TNSPEC 3448-401-0000-B.0-1-0-jetson-nano-qspi-sd-mmcblk0p1

I really don't know how to fix that. Do you have any idea ?

Thanks

Mender delta updates fail to work due to systemd-machine-id-setup service

As promised in this discussion; here's a suggestion for making Mender delta updates work.

At the beginning of the boot process, systemd-machine-id-setup will change the machine ID in /etc/machine-id. If the root filesystem is writable at this moment in time, this will effectively change the root filesystem, and thereby disabling the ability to use Mender delta updates (which assumes an unmodified root filesystem to allow for incremental updates).

By making sure the kernel already mounts the root filesystem as read-only, this change of /etc/machine-id is prevented. This can be done as follows:

diff --git a/layers/meta-tegrademo/conf/distro/tegrademo-mender.conf b/layers/meta-tegrademo/conf/distro/tegrademo-mender.conf
index 0acf1d7..a842607 100644
--- a/layers/meta-tegrademo/conf/distro/tegrademo-mender.conf
+++ b/layers/meta-tegrademo/conf/distro/tegrademo-mender.conf
@@ -41,3 +41,6 @@ PREFERRED_PROVIDER_virtual/bootloader:tegra186 = "cboot-t18x"
 
 # Use u-boot by default on the TX2 COT when using the FIT image
 PREFERRED_PROVIDER_virtual/bootloader:jetson-tx2-devkit-cot = "u-boot-tegra"
+
+# Force root FS to be read-only at early boot, to make sure Mender delta-updates will work.
+KERNEL_ARGS += "ro"

Because we also want various runtime-configurable persistent system configuration changes, we have an overlay mount for /etc.

Aside from this minor issue, there seems to be a general compatibility issue of systemd with read-only root filesystems and overlayed /etc mounts. Some unconfigurable aspects of systemd simply assume that the root filesystem is writable at early boot time (i.e. before the /etc overlay is mounted). This leads to interesting problems like:

  • The hostname not being configurable. Systemd sets the hostname from what is in /etc at very early boot time, before any overlay is mounted (which, of course, is where the customized hostname is). This can not be configured, systemd just assumes /etc is correct and writable at this point.
  • Enabling services that are disabled in the (read-only) root filesystem by default. systemctl enable ... creates symlinks in the overlayed /etc filesystem, but at the very early boot time, the read-only root filesystem version of /etc is used.
  • ...

We did not find a suitable solution for working with systemd and (partly) persistent changes in /etc.

failed to mounting ext4 file system using ext3 subsystem

Hi

I have prepare the tegraflash file using "bitbake demo-image-weston".
Build is successfully.
Now I have flash the SD card using "./dosdcard.sh", it is also success.

Now when I connect the SD Card to NVIDIA Tegra Jetson Xavier NX board, it is giving error
failed to mounting ext4 file system using ext3 subsystem
failed to mounting ext4 file system using ext2 subsystem

Can you please suggest what could be the problem?

Regards,

Transaction Check Error With "dev-pkgs" and "cuda-curand"/"cuda-nvrtc" on "dunfell-l4t-r32.4.3"

I'm getting a build error on the latest "dunfell-l4t-r32.4.3" branch. I can recreate the error with the following steps:

  • Pull the latest version of the branch (and update the submodules)
  • Setup the environment with . ./setup-env --machine jetson-tx2 --distro tegrademo-mender
  • Modify build/conf/local.conf with the following:
    • Add IMAGE_INSTALL_append = "cuda-nvrtc cuda-curand"
    • Change EXTRA_IMAGE_FEATURES to EXTRA_IMAGE_FEATURES ?= "debug-tweaks dev-pkgs"
  • Execute bitbake core-image-base

The build fails at the core-image-base-1.0-r0 do_rootfs step; logs are attached: log.do_rootfs.txt

I can get around this issue by switching poky to a previous commit, e32d854e33bc.

Please let me know if I can provide any more information to help.

Docker not working properly in tegra-demo-distro-image-full (Honister)

Hi, I followed the instructions for creating a custom distro using the Honister branch for a TX2i. When I try running docker containers I get a somewhat ambiguous error. So I thought perhaps I did something wrong in my own distro. I wen't back to the tegra-demo-distro demo-image-full with no changes and installed it on my TX2i. I receive the same error while attempting to run the container:

audit: type=1701 audit(1638380233.899:35): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=6460 comm="nvc:[driver]" exe="/usr/bin/nvidia-container-cli" sig=11
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: driver error: failed to process request: unknown.

I've tried several different containers and I always get this same error. I've attached the output from journalctl -b -u docker.service as well. Any ideas?
Thanks
-David
docker-fail-log.txt

UEFI boot screen does not show up

Firstly, thank you for all the effort in putting this BSP together! I am trying to investigate an issue where the UEFI boot screen will not display at bootup. I am creating this issue here as it's reproducable on the devkits as well. I can move it to the meta-tegra project if desired.

Hardware is jetson-xavier-nx-devkit with sd card. I am currently on the kirkstone branch that uses jetpack 35.3.1 version. I built demo-image-base without any modifications; it boots up fine but i do not see the Nvidia bootlogo at startup. Using the UEFI prebuilt binary from Nvidia works. Basically just adding this to demo-image-base.bb: PREFERRED_PROVIDER_virtual/bootloader = "tegra-uefi-prebuilt"

So seems like the default edk2-firmware-tegra bootloader provider is broken somewhere. Any workarounds/fixes? I need to modify the UEFI source to implement drivers for our custom board, which i have completed. This is one last remaining features i am trying to get to work.

Thank you for all your effort. I have attached the logs here which seem identical between prebuilt and locally built uefi bin. By locally i mean using the default settings in tegra-common.inc:
PREFERRED_PROVIDER_virtual/bootloader ?= "edk2-firmware-tegra"

log_kirk-demo_Uefi-prebuilt_Kern-stock_devkit.log
log_kirk-demo_Uefi-local_Kern-stock_devkit.log

Mender Image Upgrade failed - can't update bootloader

Same as #190 maybe. Not sure.
I've built an image with mender support for my Jetson Nano EMMC, and can't get to install the mender artifact (performed as a test for future OTA updates).

root@jetcam:~# mender install jetcam-image-minimal-jetson-nano-devkit-emmc.mender 
INFO[0000] Loaded configuration file: /var/lib/mender/mender.conf 
INFO[0000] Loaded configuration file: /etc/mender/mender.conf 
INFO[0000] Mender running on partition: /dev/mmcblk0p1  
INFO[0000] Start updating from local image file: [jetcam-image-minimal-jetson-nano-devkit-emmc.mender] 
Installing Artifact of size 89011200...
INFO[0000] No public key was provided for authenticating the artifact 
INFO[0000] Update Module path "/usr/share/mender/modules/v3" could not be opened (open /usr/share/mender/modules/v3: no such file or directory). Update modules will not be available 
INFO[0000] Opening device "/dev/mmcblk0p18" for writing 
INFO[0000] Native sector size of block device /dev/mmcblk0p18 is 512 bytes. Mender will write in chunks of 1048576 bytes 
.............................................................. - 100 %
INFO[0041] All bytes were successfully written to the new partition 
INFO[0041] The optimized block-device writer wrote a total of 4743 frames, where 0 frames did need to be rewritten (i.e., skipped) 
INFO[0042] Wrote 4972347392/4972347392 bytes to the inactive partition 
INFO[0042] Enabling partition with new image installed to be a boot candidate: 18 
INFO[0042] Executing script: ArtifactInstall_Leave_80_bl-update 
INFO[0042] Collected output (stderr) while running script /var/lib/mender/scripts/ArtifactInstall_Leave_80_bl-update
ERR: cannot perform bootloader update

---------- end of script output 
ERRO[0042] ArtifactInstall_Leave script failed: statescript: error executing 'ArtifactInstall_Leave_80_bl-update': 1 : exit status 1 
Rolling back Artifact...
INFO[0042] Rolling back to the active partition: (1).   
ERRO[0042] statescript: error executing 'ArtifactInstall_Leave_80_bl-update': 1 : exit status 1

So, I tried to run the ArtifactInstall_Leave_80_bl-update separately to investigate the matter:

root@jetcam:~# /var/lib/mender/scripts/ArtifactInstall_Leave_80_bl-update 
Installing NVIDIA bootloader update payload
mount: /tmp/nvbup.r77OHf: /dev/mmcblk0p1 already mounted on /.
ERR: Missing /opt/ota_package directory in installed rootfs

Weird. Since the /opt/ota_package/bl_update_payload is there :'(

root@jetcam:~# ls /opt/ota_package/bl_update_payload -alh
-rw-r--r--    1 root     root        5.6M Mar  9  2018 /opt/ota_package/bl_update_payload
root@jetcam:~#

Rerunning the script a second time gives:

Installing NVIDIA bootloader update payload
mount: /tmp/nvbup.GpF3jc: /dev/mmcblk0p1 already mounted on /.
ERR: Missing /opt/ota_package directory in installed rootfs

Not sure that this is the actual partition that should be used for BL update

I have no idea what to do next, at this point... I'll keep investigating though.
Any idea ?

Thanks

unable to extract nvidia-l4t-graphics-demos_32.5.0 with workaround

branches tested:

  • https://github.com/OE4T/tegra-demo-distro/commit/9089b6b920ef21a47b96049e86f8d673490f14ca
  • https://github.com/OE4T/tegra-demo-distro/commit/a008bc408a651c4dfd17f5575cf5a6a4af446e48

build configuration

Build Configuration:
BB_VERSION           = "1.49.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "aarch64-oe4t-linux"
MACHINE              = "jetson-tx2-devkit"
DISTRO               = "tegrademo-mender"
DISTRO_VERSION       = "3.2+snapshot"
TUNE_FEATURES        = "aarch64 armv8a crc"
TARGET_FPU           = ""
meta                 = "HEAD:2ffbb020fe1d9f332fdc58cd93d7a41885850771"
meta-tegra           
contrib              = "HEAD:33e503050fdf69c5e25fcc7d1e9d114a138bc14a"
meta-oe              
meta-python          
meta-networking      
meta-filesystems     = "HEAD:326d19c39389f977d22a745ca3fcf6ab58c235ea"
meta-virtualization  = "HEAD:e7a0ea3e0fc43f6c2ec8fee70ec1315014ffbec1"
meta-mender-core     = "HEAD:f5864bfb32906b87cc24d5b84e74805994f0ef3e"
meta-mender-tegra    = "HEAD:d59118bcdb701aa84c3ecf458f0c4c4c6cd3e6ea"
meta-tegra-support   
meta-demo-ci         
meta-tegrademo       = "master:a008bc408a651c4dfd17f5575cf5a6a4af446e48"

host machine:

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:        18.04
Codename:       bionic

uname -a
Linux buildybarge 5.4.0-65-generic #73~18.04.1-Ubuntu SMP Tue Jan 19 09:02:24 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

steps:

  1. checkout tegra-demo-distro to desired commit
  2. update submodules with git submodule update --init
  3. run setup-env for tx2 and tegrademo-mender . ./setup-env --machine jetson-tx2-devkit --distro tegrademo-mender
  4. (note nvidia/sdkm_downloads is populated in $HOME/Downloads)
  5. execute bitbake for full image bitbake demo-image-full

Before long (after many modules have downloaded but before most start compiling) I run into the following error

DEBUG: Executing python function extend_recipe_sysroot
NOTE: Direct dependencies are ['virtual:native:/home/ubuntu/tegra-demo-distro/layers/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb:do_populate_sysroot', 'virtual:native:/home/ubuntu/tegra-demo-distro/layers/meta/recipes-extended/xz/xz_5.2.5.bb:do_populate_sysroot']
NOTE: Installed into sysroot: ['zstd-native', 'xz-native', 'quilt-native', 'gnu-config-native', 'automake-native', 'gettext-minimal-native', 'autoconf-native', 'libtool-native', 'texinfo-dummy-native', 'm4-native']
NOTE: Skipping as already exists in sysroot: []
DEBUG: sed -e 's:^[^/]*/:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/recipe-sysroot-native/:g' /home/ubuntu/tegra-demo-distro/build/tmp/sysroots-components/x86_64/quilt-native/fixmepath /home/ubuntu/tegra-demo-distro/build/tmp/sysroots-components/x86_64/gnu-config-native/fixmepath /home/ubuntu/tegra-demo-distro/build/tmp/sysroots-components/x86_64/automake-native/fixmepath /home/ubuntu/tegra-demo-distro/build/tmp/sysroots-components/x86_64/autoconf-native/fixmepath /home/ubuntu/tegra-demo-distro/build/tmp/sysroots-components/x86_64/libtool-native/fixmepath | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/recipe-sysroot:g; s:FIXMESTAGINGDIRHOST:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/recipe-sysroot-native:g' -e 's:FIXME_PSEUDO_SYSROOT:/home/ubuntu/tegra-demo-distro/build/tmp/sysroots-components/x86_64/pseudo-native:g' -e 's:FIXME_HOSTTOOLS_DIR:/home/ubuntu/tegra-demo-distro/build/tmp/hosttools:g' -e 's:FIXME_PKGDATA_DIR:/home/ubuntu/tegra-demo-distro/build/tmp/pkgdata/jetson-tx2-devkit:g' -e 's:FIXME_PSEUDO_LOCALSTATEDIR:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/pseudo/:g' -e 's:FIXME_LOGFIFO:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/temp/fifo.7896:g'
DEBUG: Python function extend_recipe_sysroot finished
DEBUG: Executing python function do_unpack
DEBUG: Executing python function base_do_unpack
NOTE: Unpacking /home/ubuntu/tegra-demo-distro/build/downloads/nvidia-l4t-graphics-demos_32.5.0-20210115151051_arm64.deb to /home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/l4t-graphics-demos/
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
ERROR: Unpack failure for URL: 'https://repo.download.nvidia.com/jetson/t186/pool/main/n/nvidia-l4t-graphics-demos/nvidia-l4t-graphics-demos_32.5.0-20210115151051_arm64.deb;subdir=l4t-graphics-demos'. Unpack command PATH="/home/ubuntu/tegra-demo-distro/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/ubuntu/tegra-demo-distro/layers/scripts:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/recipe-sysroot-native/usr/bin/aarch64-oe4t-linux:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/recipe-sysroot/usr/bin/crossscripts:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/recipe-sysroot-native/usr/sbin:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/recipe-sysroot-native/usr/bin:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/recipe-sysroot-native/sbin:/home/ubuntu/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-nvidia-glheaders/32.5.0-r0/recipe-sysroot-native/bin:/home/ubuntu/tegra-demo-distro/repos/poky/bitbake/bin:/home/ubuntu/tegra-demo-distro/build/tmp/hosttools" ar x /home/ubuntu/tegra-demo-distro/build/downloads/nvidia-l4t-graphics-demos_32.5.0-20210115151051_arm64.deb data.tar.zst && tar --no-same-owner -xpf data.tar.zst && rm data.tar.zst failed with return value 2
DEBUG: Python function base_do_unpack finished
DEBUG: Python function do_unpack finished

The core problem appears to be the version of tar that is available on ubuntu 18.04 and the usage of zstd compressed data.

The version of tar that I am running is v1.29

tar --version
tar (GNU tar) 1.29

It appears that zstd compression was added to tar at version 1.31. Ubuntu 18.04 doesn't appear to provide tar at a version higher than v1.29 through apt.

workaround

I've downloaded and compiled tar v1.31 from https://www.gnu.org/software/tar/ and am now able to make it past this error.

note: v1.33 of tar introduces a new error with perform_packagecopy for several recipes which is a core helper from the poky meta library

The error from v1.33 tar looks like the following

Exception: subprocess.CalledProcessError: Command 'tar -cf - -C /home/ubuntu/tegra-demo-distro/build-32-4-3/tmp/work/all-oe4t-linux/tzd
ata/2021a-r0/image -p -S . | tar -xf - -C /home/ubuntu/tegra-demo-distro/build-32-4-3/tmp/work/all-oe4t-linux/tzdata/2021a-r0/package' 
returned non-zero exit status 2.

Subprocess output:
tar: ./etc/localtime: Cannot change mode to rwxrwxrwx: Operation not permitted
tar: Exiting with failure status due to previous errors

KAS support?

Hi,
this repo is currently based on git submodules. Are there any plans to support kas in future?

best regards
Schlumpf

L4t graphics demo of EGL image can't display on AGX Orin

Hi,

I cloned the repo and build the demo-image-egl image as the readme instructed.
I managed to boot the image on a Jetson AGX Orin devkit 32GB board.
However the l4t graphics demos can't get displayed.

Error log:

root@jetson-agx-orin-devkit:/usr/bin/l4t-graphics-demos/egldevice# ./bubble
DRM_CLIENT_CAP_ATOMIC not available.
Could not create the DRM device
<omit program help texts here>

Display_init not yet done[0].
Display_init not yet done[0].

I tried all the demos, they are give the same errors.

The eglstreams-kms-example can't display either with error log:

root@jetson-agx-orin-devkit:/usr/bin# ./eglstreams-kms-example       
GetDrmFd: drmDeviceFile is /dev/dri/card0
ERROR:  not available.

I tried three branches, kirkstone, mickledore and langdale; they all gave the same errors.

How to test gpu ?

Hi OE4T developers, how can I test gpu function? I want to install jtop to watch GPU,but it occurred error when I python3 setup.py install . And the yocto system couldn't apt install nvidia-jetpack , I don't know how to verify the gpu.
image

Jetson nano has problem with start up from mmc

Hello,

we want to use Jetson nano on branch dunfell-l4t-r32.4.3 and have got followed message at u-boot start, kernel is not loaded because my rootfs is on partition 1 and u-boot need it on 0 regarding followed message:

`
U-Boot 2020.04 (Jan 05 2022 - 19:59:34 +0000)

SoC: tegra210
Model: NVIDIA Jetson Nano Developer Kit
Board: NVIDIA P3450-0002
DRAM: 4 GiB
MMC: sdhci@700b0000: 1, sdhci@700b0600: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: No ethernet found.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
starting USB...
Bus usb@7d000000: tegrausb: Invalid dr_mode 2 for host mode
probe failed, error -1
No working controllers found
No ethernet found.
<...>
No ethernet found.
Config file not found
starting USB...
Bus usb@7d000000: tegrausb: Invalid dr_mode 2 for host mode
probe failed, error -1
No working controllers found
No ethernet found.
No ethernet found.
Tegra210 (P3450-0002) # ls mmc 0:1

4096 . 4096 .. 16384 lost+found 4096 bin 4096 boot 4096 dev 4096 etc 4096 home 4096 lib 4096 media 4096 mnt 4096 proc 4096 run 4096 sbin 4096 sys 4096 tmp 4096 usr 4096 var Tegra210 (P3450-0002) # ls mmc 0:0 ** Unrecognized filesystem type ** `

Unable to create ext SDK

I'm unable to create an extensible SDK when using this repo.
Is it unsupported, or am I doing something wrong?

Cannot run mender setup

I am not sure if this the correct repo to ask this but I am trying to follow the mender on jetson nano tutorial. After a little head-scratching I was finally able to deploy the resulting images on to the nano and was greeted with a nice gui.

I thought that since we define the tenant token in the build process my jetson would automagically show on my hosted.mender dashboard. Sadly there was nothing. The tutorials on the mender hub website did finish at that exact moment and didn't actually offer any next steps. Which I find very weird. It simply falls short to demonstrate that if you follow the steps you reach a fully working mender setup

So I did run systemctl status mender-client

`● mender-client.service - Mender OTA update service
Loaded: loaded (/lib/systemd/system/mender-client.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2000-01-01 01:13:02 UTC; 20 years 11 months ago
Main PID: 4489 (mender)
Tasks: 10 (limit: 4184)
Memory: 18.5M
CGroup: /system.slice/mender-client.service
└─4489 /usr/bin/mender -daemon

Dec 10 23:49:45 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:49:45Z" level=info msg="State transition: authorize-wait [Idle] -> authorize [Sync]"
Dec 10 23:50:05 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:50:05Z" level=error msg="Failure occurred while executing authorization request: &url.Error{Op:"Post", URL:"https://docker.mender.>
Dec 10 23:50:05 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:50:05Z" level=error msg="Authorization request error: dial tcp: lookup docker.mender.io on 127.0.0.1:53: read udp 127.0.0.1:54533->12>
Dec 10 23:50:05 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:50:05Z" level=error msg="Authorize failed: transient error: authorization request failed: generic error occurred while executing auth>
Dec 10 23:50:05 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:50:05Z" level=info msg="State transition: authorize [Sync] -> authorize-wait [Idle]"
Dec 10 23:54:45 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:54:45Z" level=info msg="State transition: authorize-wait [Idle] -> authorize [Sync]"
Dec 10 23:55:05 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:55:05Z" level=error msg="Failure occurred while executing authorization request: &url.Error{Op:"Post", URL:"https://docker.mender.>
Dec 10 23:55:05 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:55:05Z" level=error msg="Authorization request error: dial tcp: lookup docker.mender.io on 127.0.0.1:53: read udp 127.0.0.1:46408->12>
Dec 10 23:55:05 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:55:05Z" level=error msg="Authorize failed: transient error: authorization request failed: generic error occurred while executing auth>
Dec 10 23:55:05 jetson-nano-qspi-sd mender[4489]: time="2020-12-10T23:55:05Z" level=info msg="State transition: authorize [Sync] -> authorize-wait [Idle]"
`
2 things drew my attention somehow this process runs before NTP got a chance to get correct date. Thus if there was a need for certificate based communication it would fail.

On the other hand I believe this URL is not the correct one URL:\"https://docker.mender.io/api/devices/v1/authentication/auth_requests\ I imagine it should be hosted.mender.io.. smthing.

So I tried to run mender setup which again failed because
ERRO[0000] Error checking write permissions to directory "/": open /temporaryFile267989584: read-only file system

So I tried pointing mender with mender setup -c /data/mender.conf to the writable folder /data which gave me glimpse of hope after asking me for credentials. But my hope was quickly crushed with the following

ERRO[0048] Error parsing JSON response.: json: cannot unmarshal object into Go value of type string

I then tried commenting out the following line IMAGE_FEATURES_append = " read-only-rootfs" on the tegra-demo.conf layer and rebake the image in an attempt to make the / folder writable which didn't work.

Now I think I am out of ideas.

cmake fails: version `GLIBC_2.29' not found for libm.so.6

Hello again guys,

I stumbled another issue that I could not resolve when trying to use cmake within a Nvidia container on top of Yocto. I get the messages:
cmake: /lib/aarch64-linux-gnu/libm.so.6: version GLIBC_2.29' not found (required by /usr/lib/libxml2.so.2)
cmake: /lib/aarch64-linux-gnu/libm.so.6: version GLIBC_2.29' not found (required by /usr/lib/libxml2.so.2)
cmake: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.28' not found (required by /usr/lib/libp11-kit.so.0)
and when I run strings /lib/libc.so.6 |grep GLIBC_ in Yocto, I get:

GLIBC_2.17 GLIBC_2.18 GLIBC_2.22 GLIBC_2.23 GLIBC_2.24 GLIBC_2.25 GLIBC_2.26 GLIBC_2.27 GLIBC_2.28 GLIBC_2.29 GLIBC_2.30 GLIBC_PRIVATE
but running strings /lib/aarch64-linux-gnu/libc.so.6 |grep GLIBC_ in the Nvidia container, I get:

GLIBC_2.17 GLIBC_2.18 GLIBC_2.22 GLIBC_2.23 GLIBC_2.24 GLIBC_2.25 GLIBC_2.26 GLIBC_2.27 GLIBC_PRIVATE

Does that mean that the version of libm.so.6 in Yocto is more recent than the one in the Nvidia container? and if so why is it case? I am still on dunfell branch at R32.7.2 and my image is the TensoRT 8.2.1 which is the one that comes with JetPack 4.6.2 so I shouldn't have a compatibility mismatch, right?

Thanks again

random build failures on kirkstone with custom TX2 hardware

We have ported the vc_mipi_camera bits for this to the current meta-tegra kernel and latest kirkstone branch => kirkstone-l4t-r32.7.x

The test device has 2 cameras on the CapableRobots baseboard, where the yocto machine is jetson-xavier-nx-devkit-tx2-nx, and most of the time the demo image bits build fine, except when they don't:

| aarch64-oe4t-linux-gcc-ar -rv egldevice/libnvgldemo.a egldevice/nvgldemo_main.o
| r - egldevice/nvgldemo_main.o
| aarch64-oe4t-linux-gcc-ar -rv egldevice/libnvgldemo.a egldevice/nvgldemo_parse.o
| r - egldevice/nvgldemo_parse.o
| aarch64-oe4t-linux-gcc-ar -rv egldevice/libnvgldemo.a egldevice/nvgldemo_shader.o
| aarch64-oe4t-linux-gcc-ar -rv egldevice/libnvgldemo.a egldevice/nvgldemo_texture.o
| r - egldevice/nvgldemo_shader.o
| aarch64-oe4t-linux-gcc-ar -rv egldevice/libnvgldemo.a egldevice/nvgldemo_socket.o
| r - egldevice/nvgldemo_socket.o
| /home/nerdboy/my_stuff/home/hardware/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-graphics-demos/32.7.3-20221122092958-r0/recipe-sysroot-native/usr/bin/aarch64-oe4t-linux/../../libexec/aarch64-oe4t-linux/gcc/aarch64-oe4t-linux/11.3.0/ar: egldevice/libnvgldemo.a: error reading nvgldemo_shader.o: file truncated
| r - egldevice/nvgldemo_texture.o
| make[1]: *** [<builtin>: egldevice/libnvgldemo.a(egldevice/nvgldemo_socket.o)] Error 1
| make[1]: *** Waiting for unfinished jobs....
| rm egldevice/nvgldemo_os_posix.o egldevice/nvgldemo_texture.o egldevice/nvgldemo_cqueue.o egldevice/nvgldemo_preswap.o egldevice/nvgldemo_main.o egldevice/nvgldemo_shader.o egldevice/nvgldemo_win_egldevice.o egldevice/nvgldemo_parse.o egldevice/nvgldemo_socket.o egldevice/nvgldemo_math.o
| make[1]: Leaving directory '/home/nerdboy/my_stuff/home/hardware/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-graphics-demos/32.7.3-20221122092958-r0/l4t-graphics-demos/usr/src/nvidia/graphics_demos/nvgldemo'
| make: *** [Makefile:118: ../nvgldemo/egldevice/libnvgldemo.a] Error 2
| make: *** Waiting for unfinished jobs....
| make: Leaving directory '/home/nerdboy/my_stuff/home/hardware/tegra-demo-distro/build/tmp/work/armv8a_tegra-oe4t-linux/l4t-graphics-demos/32.7.3-20221122092958-r0/l4t-graphics-demos/usr/src/nvidia/graphics_demos/ctree'
| ERROR: oe_runmake failed

Once that ^^ happens no amount of cleaning/rebuiilding seems to help and I have no idea what the root cause is. Help??

L4T R32.5.0: address Nano devkit flash layout change for Mender

With R32.5.0, the Nano devkit's flash layout has changed to move all of the boot partitions into the QSPI flash. Unfortunately, there is insufficient space in the flash to hold all of those partitions and the expanded U-Boot environment (larger than the L4T default plus having two copies for redundancy) that we currently have configured for Mender on that platform.

I temporarily worked around the issue during 32.5.0 integration by dropping the EKS and BMP partitions (which are described as
"optional" in the XML file) in the Mender custom flash layout for that platform, but it turns out that that has knock-on effects with handing BUP payloads. The BUP generator will include them in the payload (it hard-codes the payload contents rather than using the XML file to determine what should be included), and applying the update will fail due to the missing partitions.

Since meta-mender-tegra doesn't currently support bootloader updates as part of Mender updates on the Nano, it's not going to cause immediate problems, but it should be addressed.

Options:

  1. Reduce the U-Boot environment space for Mender. This should work OK if the space for the redundant environment copies is large enough (need to calculate this).
  2. Patch the l4t_bup_gen.func script to allow optional partitions to be excluded (at least EKS and BMP), and update the bootfiles list for the platform to exclude eks.img and bmp.blob when building Mender images for jetson-nano-devkit.
  3. Patch the bootloader updater script in L4T (and the tegra-boot-tools updater program) to ignore missing partitions for the optional entries, instead of raising an error.

Option 1 is probably the best if the environment will fit. Option 2 is probably more technically correct (particularly if the entry lists could be derived from the XML file contents), but could be a pain to maintain over time. Option 3 is least desirable, as it opens the door for possible incorrect handling of updates (and potentially bricking the device).

xusb firmare loading fails after kernel payload update

Hi,
I have an issue when uploading the kernel. We have an OS for nvidia Jetson Xavier based on meta-tegra where everything works fine when flashing with the autogenerated scripts.
We have also been updating the rootfs without a problem, and we have found issues doing so with kernel_only.bup-payload. We are using nv_update_engine for it, first enabling redundancy and then installing the payload. Thats it. No error message, all success, but when rebooting, usb is not working and in dmesg we can find the following errors:

tegra-xusb 3610000.xhci: cannot find firmware....retry after 1 second
[ 14.975822] tegra-xusb 3610000.xhci: Direct firmware load for tegra19x_xusb_firmware failed with error -2
[ 14.975829] tegra-xusb 3610000.xhci: cannot find firmware....retry after 1 second
[ 15.600459] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 15.601534] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 15.999778] tegra-xusb 3610000.xhci: Leaving it upto user to load firmware!
[ 15.999826] tegra-xusb 3610000.xhci: Direct firmware load for tegra19x_xusb_firmware failed with error -2
[ 15.999832] tegra-xusb 3610000.xhci: Giving up on firmware

We tried also updating the xusb_only.bup-payload. When it is just that payload, it works properly, but if we update the kernel too, then we have the same issue. It also happens with bup-payload (the main one).

I have tried to update to the autogenerated payloads from the similar build as I have flashed on the board, so there shouldnt be differences on the partition table, on the kernel size or anything like that. No changes in xusb firmware either.

Am I missing some step here?

Thanks in advance,
Alvaro.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.