I compiled the kernel with this command " * ./nvbuild.sh -o $HOME/kernel_output*, then I got an Image file, and then I add the new entry in /boot/extlinux/extlinux.conf for my kernel, the system can boot up, but there is no GUI, I saw lots of errors in the boot dmesg.
I don’t want to overwrite my entire system as I have already installed numerous packages and made certain settings. If I use the command ‘sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1’, it will overwrite everything, including my current settings.
is there a way to only update the kernel safely???
If your system is loading the kernel Image from “/boot”, then you could just copy the original file in place if you have any access. For example, scp over ethernet. If you know your release version, and have the original flash software still in place, then on the host PC this would be the file “Linux_for_Tegra/rootfs/boot/Image”.
@WayneWWW is correct, you very very likely no longer have modules that load if you failed to build an Image which starts by matching the configuration of the original Image, including CONFIG_LOCALVERSION. It would have been easier and safer in most cases to add what you want in the format of a module and just copy modules over and use the original Image. Not all features can be a module though.
If you really need to, then you can clone eMMC even if the system can’t boot.
The logic here does not change. You told us you can bypass the error by using 34.x version.
Then ask yourself this question: what version did you use in the beginning? Why would you hit that error in the beginning but not now.
If you don’t understand the whole logic here, you would still hit same issue in future.
Also, rel-34.x is really too old. Better not using it anymore.
If you ever change the Image, then you must change all modules. A module only needs a new Image if the base layout changes of the “integrated” features (if “=y” changes the layout for module load probably also changed).