create and compile a cosutmer-dtb file ?

currently I didn’t really know how to add/edit a dtb file.

What I currently have done is, convert the dtb file from TX1 to a dts file, changed, and compiled to dtb.

But, the “more” correct way should be to patch the source file on host, and recompile the dtb file on host.
So, my question is, is there a “point” where I can jump into the build-process from JetPack ?
Or, where I need to add my paches ?


The dtb is originally created by the same compile process, but using the kernel dts/dtsi files. This is part of a standard kernel compile. Look at files in:

<kernel source>/arch/<architecture>/boot/dts

I have not checked, but it is possible on R23.1 and R23.2 that this involves one or both of the architectures “arm” and “arm64” (during boot some of the boot loader code is apparently only 32-bit, but hands off to a 64-bit kernel using 32-bit user space…so it depends where you look at different stages of boot).

Thanks, for the answer…
maybe I was not clear.

The dts files are in kernel source /arm64/boot/dts.
And during the build process from JetPack, the “Process” compiles with dtc the dtb files.

What I want to do is, customize the dts (device-tree-source) files on a Linux Host, where the Jetpack is installed, and re-compile the dts to dtb files.

And the question is, how can I compile the dtb files on a host linux system?

The dts is similar to any other kernel feature in that a kernel configuration which marks a dtb as a dependency will result in the dtb being built. So basically if you were to make mrproper to start pristine, then make tegra21_defconfig, followed by perhaps some configuration adjustment, and build kernel normally (“normal” being a cross-compile for JTX1), then you should see dtb files produced in a sub-directory of the architecture. It may be necessary to manually copy the file where you want it to be.

I’m not sure what JetPack does during install, obviously it does download and/or unpack packages; if JetPack does a compile, then a modified source would result in JetPack propagating the change…since I use Fedora and can’t use JetPack (requires Ubuntu), I don’t know if JetPack would do something to overwrite your changes or not.

I found it … :-)
A simple make O=$TEGRA_KERNEL_OUT dtbs did it!


1 Like