oe4t / tegra-demo-distro Goto Github PK
View Code? Open in Web Editor NEWReference/demonstration distro for meta-tegra
License: MIT License
Reference/demonstration distro for meta-tegra
License: MIT License
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.
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 !!!
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.
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.
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.
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.
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
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.
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.
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:
/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.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
.
best case scenerio for getting demo-image-full without wayland/weston and using XFCE instead ? looking to build a local systems for some testing.
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"
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.
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,
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...`
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)
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?
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:
tegra-demo-distro
, branch wip-dunfell-l4t-r32.6
demo-image-sato
Xavier AGX devkit
)# capturetest
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]
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']
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
Hi,
this repo is currently based on git submodules. Are there any plans to support kas in future?
best regards
Schlumpf
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:
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.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).
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?
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
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??
Hi,
I'm stuck on first boot with my image. Here is the context:
hardknott
jetson-nano-devkit
tegrademo-mender
core-image-minimal
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.
I'm unable to create an extensible SDK when using this repo.
Is it unsupported, or am I doing something wrong?
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
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
Hi,
I try to flash my TX2NX with a fresh build of tegra-demo-distro using the branch Kirkstone.
Here what I done
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.
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?
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.
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?
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?
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 ?
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
??
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
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?
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?
I'm getting a build error on the latest "dunfell-l4t-r32.4.3" branch. I can recreate the error with the following steps:
. ./setup-env --machine jetson-tx2 --distro tegrademo-mender
build/conf/local.conf
with the following:
IMAGE_INSTALL_append = "cuda-nvrtc cuda-curand"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks dev-pkgs"
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.
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:
git submodule update --init
. ./setup-env --machine jetson-tx2-devkit --distro tegrademo-mender
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.
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
Hi,
I use the branch "dunfell-l4t-r32.5.0" for tests as I need JetPack 4.5 for the moment.
./doflash
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?
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.
@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
?
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
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
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.