Running ‘./nvbuild.sh -o $PWD/kernel_out’ on a Jetson Dev-kit. Receiving an error:
Error: Missing kernel image /home/XYZ/Linux_for_Tegra/source/public/kernel_out/arch/arm64/boot/Image
Do you build on your host?
No I am building on the target platform which is TX2.
I intend to install the RT patch for TX2. Using the steps in from Kernel Customization — NVIDIA Jetson Linux Developer Guide 1 documentation to install the RT patch. Command cat /etc/nv_tegra_release shows: R32 (release) and Revision 7.2.
Ran the script for a second time and get this error:
~/Linux_for_Tegra/source/public$ ./nvbuild.sh -o /home/Linux_for_Tegra/source/public/kernel
Building kernel-4.9 sources
scripts/kconfig/conf --silentoldconfig Kconfig
*** Configuration file “.config” not found!
*** Please run some configurator (e.g. “make oldconfig” or
*** “make menuconfig” or “make xconfig”).
scripts/kconfig/Makefile:37: recipe for target ‘silentoldconfig’ failed
make[3]: *** [silentoldconfig] Error 1
Makefile:575: recipe for target ‘silentoldconfig’ failed
make[2]: *** [silentoldconfig] Error 2
make[1]: Nothing to be done for ‘/home/lancetest/Linux_for_Tegra/source/public/kernel’.
configuration written to .config
scripts/kconfig/conf --silentoldconfig Kconfig
You should build the kernel on x86 host instead of TX2.
Thanks
Looking for a starting point (documentation/online training) to help me building an image for L4T (32.7.2) with the real-time patch (RT-PATCH) and installing with JetPack/SDK Manager.
Do I need the Ubuntu 18.04 to build the kernel on x86 host instead of TX2. My current Ubuntu is 22.04 LTS.
Can I use Jet pack 6.0 which installs on Ubuntu 22.04 LTS to build the kernel on x86 host for a TX2 Jetson?
Just some random notes…
Is this really the older “Nano”, or is this a newer “Xavier” or newest “Orin”? Probably a new generation will be out soon beyond that. A TX2 is even more different, but this is the “older” Nano forum. If you have any Jetson with a custom third party carrier board, then that too needs to be known before giving any real advice.
For reference, L4T is what you would call Ubuntu after the NVIDIA content is added to it. This is what actually gets flashed. JetPack/SDK Manager is a GUI front end to the flash software. Normally the JetPack/SDKM release is tied to the L4T release, although one can see older releases by starting SDKM with the option to see older releases. The newest L4T release which an older Nano can use is the R32.x. See:
https://developer.nvidia.com/linux-tegra
The requirements for SDKM are less restrictive than what you will find in practice; the L4T release further limits the host PC, and so for the older “original” Nano (which is a TX1 in small form factor) you would use an Ubuntu 18.04 host PC.
There are all kinds of differences in kernel build information you might find depending on which Nano you use. Cross compile information is available from the particular L4T release URL. If you want to know which release that is on a running Jetson, then use “head -n 1 /etc/nv_tegra_release”.
You can compile natively on the Jetson, but there will be more information required. The documents on cross compile are pretty good, but the installation from official docs assume you will update the flash content and then flash the Jetson; there are many things you can do to avoid a fresh flash of your Jetson, and/or to keep the old kernel available as an alternate boot target.
Dear @linuxdev , I am very grateful for the detailed response. I have a TX2 and the output of the “head -n 1 /etc/nv_tegra_release”, presented R32 version 7.2. My PC host is Ubuntu 22.04, so I will install docker with Ubuntu 18.04 image loaded. I must have real-time patch (RT-PATCH) as well, which causes more complication. I will also look for a “TX2” forum to post my questions to.
Using the docker command:
sudo docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb/ -v /dev:/dev -v /media/$USER:/media/nvidia:slave --name JetPack_TX2_Devkit --network host ??? --cli --action install --login-type devzone --product Jetson --target-os Linux --version 4.6.1 --target JETSON_TX2_TARGETS --flash --license accept --stay-logged-in true --collect-usage-data enable --exit-on-finish
Receive message:
SDK Manager will start once login is completed.
❯ 1) Generate a new login user code (valid for 10 minutes)
2) Cancel login
For the docker container, make sure you have a lot of disk space available which is ext4. The main partition size of the Jetson will be created as an image which is that exact byte size, e.g., 16 GB. Then a “sparse” image is created, and this image is the size of the content within the filesystem of the first image; so as the partition content is added and approaches the size of 100% filled, the second image (sparse) also approaches that same size (e.g., 16 GB times two). Then there are the smaller partitions which won’t have much size, but might still occupy a couple of GB in some cases.
I can’t answer docker questions, I’ve never tried to use it for this. Note that you could create an account for JetPack/SDK Manager login on any machine using any release of JetPack/SDK Manager. Then go to an older JetPack/SDKM. Newer JetPack/SDKM will allow seeing L4T R32.7.2 via this:
- If a newer JetPack/SDKM, “
sdkmanager --archived-versions”. - If an older JetPack/SDKM, “
sdkmanager --archivedversions”.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.