I’m following the building process from that page:
Beside the configuration:
make -C kernel/kernel-4.9/ ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=-tegra CROSS_COMPILE=${TOOLCHAIN_PREFIX} menuconfig
I’m copying the Image and DTB to:
/home/sitshost/nvidia/nvidia_sdk/JetPack_4.6.1_Linux_JETSON_XAVIER_NX_TARGETS/
Which is the version I have programed the first time the board from the SDK manager.
After that I’m using this command to flash the board:
sudo ./flash.sh jetson-xavier-nx-devkit mmcblk0p1
After first configuration of the board: the board doesn’t wake up…
I probably can’t suggest much more if this isn’t it, but did you build target “tegra_defconfig” prior to any target “menuconfig”? It is necessary to start with a base configuration. Also, it will greatly help whoever answers if you provide a serial console boot log for the failed case.
The LOG I got after first configuration is:
[FAILED] Failed to start nvpmodel.service.
See ‘systemctl status nvpmodel.service’ for details.
What you mean by ’ It is necessary to start with a base configuration.’ ?
How do I know what is basic configuration?
When I’m programming via the ‘sdk manager’ it works ok.
A kernel will always fail if you don’t have some base configuration prior to building. For Jetsons, the normal base configuration is reached via “make tegra_defconfig”. No other command should be issued for build until that is in place, or some equivalent. There are other options you might need, but “make tegra_defconfig” is the starting basis.
nvpmodel is unrelated, except that perhaps the kernel feature which nvpmodel manipulates is missing from the kernel. Kernel source is not a single program, it is hundreds or thousands of small kernel programs, and if you don’t configure, then you’ll likely be missing important features, or else building unusable features (e.g., maybe you are building for use of some really expensive fiber channel storage when you don’t have that hardware). The failure of nvpmodel tends to imply the kernel was improperly configured.
And the reason why your board failed to work is just as linuxdev’s explanation. If you just run menuconfig without having tegra_defconfig, then jetson’s driver is gone. Without jetson driver, lots of function will not work for sure.
I understand the configuration issue but I was expected when I am downloading the version of ‘Xavier NX DEV KIT’ the default base configuration will be the one for that board without required me to config it.
If there is a list some where what I have to config for that board it will help me.
OK but my question is if the default setting that I see when running the:
make -C kernel/kernel-4.9/ ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=-tegra CROSS_COMPILE=${TOOLCHAIN_PREFIX} menuconfig
is the one that should work with the NX DEV KIT board and if not (and for me its not working) How should I know what to config in order this board to run after compiling the kernel…
I’m building the kernel according to that document without any change in kernel and still got this error message while init. ([FAILED] Failed to start nvpmodel.service.)
My last trial today was trying to download the sources into the ‘sdk manager’ and got the same results.
I have loaded the sources using the:
./source_sync.sh
command from directory:
~/nvidia/nvidia_sdk/JetPack_4.6.1_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra
Using the tag ‘tegra-l4t-r32.6.1’
After setting:
~/nvidia/nvidia_sdk/JetPack_4.6.1_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/sources as my JETSON_XAVIER_NX_KERNEL_SOURCES
After running the compilation process i did the following copying from:
~/nvidia/nvidia_sdk/JetPack_4.6.1_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra
The following:
cp -rfv $JETSON_XAVIER_NX_KERNEL_SOURCES/build/arch/arm64/boot/Image kernel/
cp -rfv $JETSON_XAVIER_NX_KERNEL_SOURCES/build/arch/arm64/boot/dts/* kernel/dtb/
sudo cp -arfv $JETSON_XAVIER_NX_KERNEL_SOURCES/modules/lib rootfs/
And then power the NX in recovery mode and do this command:
sudo ./flash.sh jetson-xavier-nx-devkit mmcblk0p1
After finishing the flash I got the first screen I’m configuring User, PSW, etc and after HW configuration I saw the above log and the board doesn’t wake up.
The binary kernel flashed has had tegra_defconfig. Source code has not, and no kernel source will have configuration setup even started. If you refer to the kernel Image itself, then this was configured, but source code should never be assumed to have any configuration needed for a Jetson until it has been set. Config is mandatory.