I’m trying to recompile the Linux kernel for jetson nano, the step is :
Download and unzip <Jetson-Nano-Tegra210_Linux_R32.1.0_aarch64.tbz2>
excute:
./source_sync.sh
to check code from git repo.
Check out a tag :
git checkout tegra-l4t-r32.1
Compile Linux kernel:
make -j6 ARCH=arm64 CROSS_COMPILE=$CROSS-COMPILE-PREFIX-DIR/gcc-linaro-6.4.1-2017.08-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- tegra_defconfig
But, It throws out an error:
drivers/net/ethernet/nvidia/Kconfig:30: can’t open file “drivers/net/ethernet/nvidia/eqos/Kconfig”
scripts/kconfig/Makefile:113: recipe for target ‘tegra_defconfig’ failed
make[1]: *** [tegra_defconfig] Error 1
Makefile:565: recipe for target ‘tegra_defconfig’ failed
make: *** [tegra_defconfig] Error 2
For solving this problem, I tried :
switch to another tag.
copy the <tegra_defconfig> to src tree root dir, rename it to .config.
try to compile with the instruction below:
make -j6 ARCH=arm64 O=make_result CROSS_COMPILE=$CROSS-COMPILE-PREFIX-DIR/gcc-linaro-6.4.1-2017.08-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- tegra_defconfig
But, they all didn’t work.
And, according to the error message, I can’t find drivers/net/ethernet/nvidia/eqos/Kconfig indeed.
Is there anyone offer some help? thx a loooooooooooooot.!
I Check out it to tag : tegra-l4t-r32.1.update-1(The same to kernel)
So I can start configuring the kernel with the directive below:
make -j6 ARCH=arm64 CROSS_COMPILE=$PREFIX/gcc-linaro-6.4.1-2017.08-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- tegra_defconfig
Then, I try to compile kernel source with the directive below:
make -j6 ARCH=arm64 CROSS_COMPILE=$PREFIX/gcc-linaro-6.4.1-2017.08-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
another problem occurred:
cp -u arch/arm64/boot/dts/
cp: missing destination file operand after ‘arch/arm64/boot/dts/’
Try ‘cp --help’ for more information.
arch/arm64/boot/dts/Makefile:136: recipe for target ‘dtbs’ failed
make[1]: *** [dtbs] Error 1
arch/arm64/Makefile:154: recipe for target ‘dtbs’ failed
make: *** [dtbs] Error 2
I’m a novice of the linux kernel, for now, I can not figure out what does the kbuild system works.(I’m trying to work on it, But, it will take me a lot of time. This problem is urgent.)
I don’t know which particular file name, and you could copy everything, but it is better to find the correct file and copy just that. You might even want to first save a backup of the original unmodified file for reference. Your original comand is to copy an entire directory, which probably isn’t what you want.
The man page from the PC host will work as well, but I forgot about the missing man pages on the Jetson. There is a way to restore man pages on the Jetson:
<b>sudo</b> /usr/local/sbin/<b>unminimize</b>
(You don’t need the full path, but I included it for information)
Neat. It appears cp has a manpage, just not on Nano. Yay surprises.
Suggestion to Nvidia: don’t exclude the manpages especially since the board is targeted towards people who may be new to *nix.
There is no useful feedback when a manpage isn’t found as to why. Some work while others don’t, as linuxdev notes. It’s unexpected behavior when one is expecting stock Ubuntu.