Hi all
where do we change the vendor name and product name?
So that when running lshw -C systemshw -C system shows our company name and product name?
Hi all
where do we change the vendor name and product name?
So that when running lshw -C systemshw -C system shows our company name and product name?
Hi,
Please check source code of lshw:
https://github.com/lyonel/lshw/blob/master/src/core/device-tree.cc
For product
, it reads:
/proc/device-tree/model
For serial
, it reads:
/proc/device-tree/model/serial-number
Please check to see what is read for vendor
thanks dane
is this where we need to change the vendor and board name?
as per this instruction in the bring up guide
Hi,
It looks like what is mentioned in developer guide is not for lshw command. If you would like to show your information in lshw, we would suggest go through the source code.
ok…
where is that product name and vendor name in the developer guide actually reflected? how can i check its been applied? How do i set this vendor name and board name?
At the moment, it seems that my custom dtsi files are NOT being applied when the image is flashed…
As a test i am trying to disable hdmi… so i created the dtsi files with HDMI enabled on the pinmux datasheet…
I added them in here…
Copy the padvoltage.dtsi and pinmux.dtsi files to the <l4t_top>/bootloader/t186ref/BCT/
directory and copy the gpio.dtsi
file to the <l4t_top>/bootloader/
directory.
I then created a new .conf file and changed any references to PINMUX= and PCMCONFIG= …
But it still seems to be using the old dtb?
I would think disabling the hdmi pins should give black screen?
I am using the following command to flash:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --showlogs --network usb0 custom-pcb internal
where “custom pcb” is the name of the conf file…
In your file “/boot/extlinux/extlinux.conf
”, do you see a line with “FDT
” in it? If it is there, then it maps the device tree to the file name there. If FDT
is present, then that takes precedent over the signed partition with the device tree in it (if security fuses are burned, then only the signed partition device tree is accepted).
Also note that a serial console boot log is a pretty good way to get an idea of where files or content are loaded from.
hi linuxdev
thanbks for the reply…
yes there is a variable assigned to FDT, see below
are you saying i should delete this .dtb entry and it will use my new .dtsi files?
I cannot understand how the flash will use the .dtsi files fromthe pinmux spreadsheet… Is the .dtb created during the flash process i am using?
Are you saying that even though my dtsi are in ther right place and the .conf files are correctly referencing them… the flash is “ignoring” them?
hey @linuxdev , sorry to bug you - am i correct above?
And how come we dont need to pre compile the .dtb before we run the flash script? Is it handled by the flash scripting?
@linuxdev - i deleted the FDT = /boot/dtb/kernel_tegra234-p36767-003-p3768-0000-a0.dtb line in extlinux.conf
but each time i run the flash script, it is then re-populated and it shows this message in the terminal
Hi,
Modification in the three files can be applied by replacing the files. For other modification in device tree, you would need to build the dtb file. Please refer to
Kernel — Jetson Linux Developer Guide documentation
For example, if you would like to change product
, you would need to modify:
hardware/nvidia/platform/t23x/p3768/kernel-dts/tegra234-p3767-0003-p3768-0000-a0.dts
Yes but that’s not in your guide @DaneLLL
The guide just says put your new dtsi files in the folders, create a new .conf and point to them…
Then flash using that new .conf as the argument …
Is the guide wrong ?
So to change to my new pinmux files… what exactly do I need to do?
Hi,
If you would like to change vendor name and product name, you should modify the dtsi file and rebuild dtb. It is not required to modify pimux and gpio.
yes i get it … but thats not my main issue… I also want to change the pinmux…
my main issue is my pinmux, gpio and padvoltage files are being ignore during flashing and its just using the oriignal .dtb…
even though i follows all steps to use a new pinmux… I follows all of this… Jetson Orin NX and Nano Series — Jetson Linux Developer Guide documentation (nvidia.com)
I even deleted the FDT entry in extlinux.conf…
But my new .dtsi files are not used for the build… why? Do i have to also build the .dtb BEFORE flashing? Do i have to use dtc compiler manually before running the flash script?
there are many dtsi files, so how is the dtb compiled? is there a guide?
Think of the device tree as arguments passed to various parts of the kernel. If that part of the kernel is not built, then there is no need to have that part of the device tree. Parts of the tree not applicable by a given driver or feature will be ignored except by the relevant feature. Since a device tree is more or less passed data, it isn’t really part of the kernel itself. On the other hand, since the data depends on specific features, device tree is a build target for kernel source. In order to get the correct tree fragments to combine into a single device tree you have to first configure the kernel source to have the same exact configuration as your running Jetson. Once you’ve done that, and once you know the config is propagated, then building the “dtbs
” target.
The dtbs
target combines the fragments for the features which are enabled. So if you go that route, then you need the correct kernel source. Then you need to configure that source to match what your running system has (the “tegra_defconfig
” target works for a dev kit if it is stock; otherwise you’d consult “/proc/config.gz
”; either also requires setting the CONFIG_LOCALVERSION
). Should you edit one of the .dtsi
fragments in the source code prior to building, then the result will include that edit.
Thank you
But I’m coming up against a roadblock…
Even when I delete the FDT line from the extlinux.conf or edit that line to look at a different dtb…
When I run the flash script it is just being replaced by the original FDT entry??
And also, if all I want to do is change the pinmux as per my pinmux xls…
I follow the Nvidia guide and it doesn’t work… it simply doesn’t apply my new pinmux files
If the FDT is being replaced during boot, then there is a strong chance this is the initrd
doing it. I don’t actually have an Orin Nano, so I can’t say for sure (NVIDIA, want to send one to me? :). When you flashed it was it just an ordinary flash from JetPack/SDK Manager, or did you run the initrd flash?
Normally the documents for your specific release (see “head -n 1 /etc/nv_tegra_release
”) have documents on customization, including kernel and device tree. Note that if you read the kernel customization, that you would not need to replace the kernel, but the steps for setting up a matching kernel in those docs would be a necessary precursor to building the device tree directly from kernel source (in this case, the source which is edited for device tree fragments). This may not matter though since you’ve observed the FDT entry is getting replaced. The L4T documentation and content is available (via L4T release version) here:
https://developer.nvidia.com/embedded/jetson-linux-archive
Before you copy your device tree to the “/boot
” (I’m assuming you are using the name of the existing tree since you can’t change that name) you might want to run a “sha1sum
” on the .dtb
file you are using. Then, after boot, see if the sha1sum
is the same. I’m just curious about whether the .dtb
file itself is changing, or if it is just the FDT
entry of the extlinux.conf
which is being forced back to the original unedited version.
If the issue is in the initrd
, and if you did not customize the flash such that it adds a non-default intird
, then probably you could flash on command line (and log) to find out what is used in building the initrd
(or maybe it’s just a binary image). You could edit the initrd
, but I don’t think that’s going to be needed. Again, I can’t answer because I don’t have an Orin Nano to look at (basically I’d extract the initrd
and look at the code).
Hey @linuxdev
I really really appreciate your feedback
I will check out what you have mentioned…
But my biggest gripe with Nvidia is that the guidance in their documentation simply doesn’t work!!!
This guide ;
States that to change the pinmux all you have to do is put the dtsi files generated by the xls pinmux sheet into the defined locations …
Change the .conf file to point to these new dtsi files
Then run the flash script below…
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1
-c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml”
–showlogs --network usb0 internal
So yes I flash from the command line.
Nothing else is mentioned in their guide to change the pinmux
It doesn’t work Nvidia!!
None of this mentions anything about recompiling anything other than running the script
The FDT entry is getting replaced at the beginning of the flash script running , before the image is even flashed to the board the FDT entry has changed in the extlinux.conf file
I’m getting desperate as this project has a deadline, where do you live? I’m that desperate I would send you an Orin nano devKit haha!
I can send the full log from the flash, if that would help?
Thanks so much again, I am at a loss here :-(