Open celaxodon opened 3 years ago
Hello, Firstly I wanted to say thanks for making this buildroot port available for the Jetson Nano. I'm working on an embedded product where an Ubuntu based system is just too cumbersome so you've given me a great head start!
I've investigated the issue with the tegra_udrm module and found that in fact it's nothing to do with LOCALVERSION. Looking at the NVIDIA-provided SD card image 'lsmod' shows that the module is not inserted after boot. Trying to manually insert without any parameters produces an error. Looking in /etc/modprobe.d there is: tegra_udrm.conf which has the following:
# DRM KMS support is still considered experimental and only works
# with libdrm_nvdc.so. It doesn't work with libdrm.so. It is
# disabled by default, uncomment below line to enable it.
# Gnome-wayland needs DRM KMS support to be enabled.
#options tegra-udrm modeset=1
And indeed modprobing with 'modeset=1' on either the NVIDIA or buildroot images succeeds. However, from the comment it looks like we probably don't want it inserting anyhow. To remove the warning a possible solution would be to blacklist the module. Unfortunately, by default, busybox modprobe does not support blacklisting but it's fairly easy to fix by adding a busybox config fragment containing:
CONFIG_FEATURE_MODPROBE_BLACKLIST=y
And also adding a file in /etc/modprobe.d containing:
blacklist tegra_udrm
@hmbedded Some users are using Buildroot with Tx2 via SkiffOS here: https://github.com/skiffos/SkiffOS/tree/master/configs/jetson/tx2
And nano here: https://github.com/skiffos/SkiffOS/tree/master/configs/jetson/nano
There is support for it merged into the buildroot tree available there as a sub-module.
Hi @hmbedded,
I'm so glad you've found it useful, and thank you for looking into this issue! I've been short on time lately, but I will look into incorporating your suggestions this weekend.
I would also be very interested to hear about any benefits of or potential use cases you have for a more minimalist base OS for the Jetson platform. No pressure, but if you can talk about it but feel more comfortable speaking in private, feel free to reach out to me at "gleva"
I've also recently heard about issues building this software on different platforms. If you or others run into issues compiling the L4T kernel and U-Boot directly from NVIDIA's repositories (like is done here), I just heard about the Open Embedded for Tegra project, which combines all of the individual kernel repositories into one, and may have support for newer versions of the software, like U-Boot and GCC.
Hello @celaxodon,
In case you haven't had a chance to look into this issues take a look at this commit in my fork: https://github.com/hmbedded/buildroot/commit/b6d14e85a3258ecc3b34c933c3977401c1a55201
I'd be happy to talk about the use case I have for a minimalist base OS for the nano but as this is for a new product development I'd prefer to converse privately, so I'll take up your offer to contact you via email.
So far I've been using gcc 7.3.1 and haven't run into any compiler related build issues. Looking at the Open Embedded kernel commits it looks like there were issues with gcc 8+. Although I'd ideally like to use the most recent gcc I'm holding off because I heard it could cause system issues with the pre-compiled binaries provided by nvidia. My plan is to get the system to where I want it with 7.3.1 and then try to upgrade gcc.
I did run into a dependency issue with your buildroot patches but I'll post a new issue rather than pollute this thread.
Seeing the runtime error on start up:
Confirmed this does not affect the NVIDIA-provided SD card image.
To investigate:
-tegra
. Official kernel build instructions useLOCALVERSION=-tegra
, which generates a target directory structure like/lib/modules/4.9.140-tegra
vs/lib/modules/4.9.140
, generated by the Buildroot build.