![]() ![]() The reason for this is that the GPU driver is loaded by the Xorg server, and the driver is itself in binary format. One of your biggest challenges will be to keep an Xorg server with the same ABI as the one used in this particular Ubuntu 18.04 install. When I mentioned boot content this is to say that some content is added to the “ /boot” of the APP image based on arguments passed to the flash software, e.g., arguments can change which nf content is present, or which device tree is used. Unfortunately though, you will find content being added mainly through QEMU using the Ubuntu “ dpkg” (or “ apt”) mechanism in order to add that content or to manage the rootfs. Yocto would basically replace the sample rootfs, but there is likely a lot of content there which is directly compatible with Yocto. This, plus some boot content, is how the default rootfs image (APP) is created and flashed. ![]() Mainly drivers, e.g., plain vanilla Ubuntu does not have a GPU driver. The program in the flash software, “ apply_binaries.sh”, is then run (with sudo) to add NVIDIA-specific content. I can only answer a tiny amount of this, but the sample root filesystem is a purely Ubuntu 18.04 source for arm64. Learn about the instructions to configure, build and install Yocto in NVIDIA platforms in this RidgeRun developer wiki. Here is a quick guide on how to use meta-tegra for your convenience in case you are interested: Yocto Support for NVIDIA Jetson Platforms - Yocto Support for NVIDIA Jetson. The only downside is that you won’t have a the Ubuntu UI as in the Jetpack, so if the user interface and desktop support is critical for your project, Jetpack should be the way to go. The main advantages of working on Yocto is that you can cross-compile everything before deployment, make your build easy to reproduce on any build server, and keep detailed track of what features and packages are being installed in your system. You just touched a really interesting topic, moreover if you are just getting up to date with the software stack this could be of your interest.ĭepending of your internal development scheme and your application requirements you will be able to choose between two different build/development environments:Ī) Jetpack: You can develop using Jetpack and work on your application and features natively in the system and you should be already doing right now.ī) Yocto: There is a community project named meta-tegra ( GitHub - OE4T/meta-tegra: BSP layer for NVIDIA Jetson platforms, based on L4T) that allows to develop in the Jetson platform using Yocto. ![]() However, it would not eliminate that extra step of customizing your system. The OTA update, when performing a major version jump, such as from JP4.5 to 4.6, would only give you advantages such as the ones that I mentioned on my original response. If there are not major changes from one Jetpack to the other that affect your customization, the porting would be a very simple process. Then, when the moment comes, you can simply generate a patch consisting of your custom changes and work from there to port them to the new sources, always maintaining a clean version control. This would allow you to cleanly separate those changes that you performed to the Jetpack sources, from the base code provided by NVIDIA. To prepare your software for a Jetpack upgrade, I would recommend you use a version control system such as Git. In some cases, there is no major changes that could affect the functionality of the drivers or any other components, however is something to be considered when evaluating the risk. With our customers, we evaluate the advantages of moving to a newer Jetpack version in order to determine whether the porting of drivers and other changes are worth it. Therefore, when upgrading to a new Jetpack version, there is no other way around that to customize those new files too. You are working with a custom device tree, as well as a custom kernel and/or kernel modules (depending on how you are including your drivers). For professional embedded Linux development and SDKs, choose RidgeRun. This provides benefits such as the option to maintain files after the update, customize the file system before updating and a fail safe update procedure.įor more information on this subject, you can check the NVIDIA Jetson Linux Developer Guide for JP4.5 on this link:Įmbedded Software Engineer Ridgerun Embedded Linux Development | Embedded Linux SDK | RidgeRunįor 15 years, our engineers have helped clients with their product development. Instead of going through the process of re-flashing a board with a new image of the latest Jetpack version, the user can now simply perform the update, as long as the device supports it. The OTA update feature, supported since Jetpack 4.5, enables the user of NVIDIA Jetson platforms to update their devices. ![]()
0 Comments
Leave a Reply. |