How to update the Linux kernel only for agx

I used the following command to update the agx as a whole (sudo ./ mmcblk0p1), but in fact I only modified the linux kernel and generated Image. How do I update only the linux kernel? Because the overall update is a waste of time

Hello @mailonghua ,

I hope you are doing well.

My preferred way to update only the kernel on any NVIDIA Jeson board, while developing, is the following:

  1. Copy the kernel Image to /tmp on the Jetson device:
    scp <directory_where_you_compiled_the_sources>/arch/arm64/boot/Image <board_user>@<board_ip_address>:/tmp

  2. Sudo move the image to /boot in the board
    sudo mv /tmp/Image /boot/

  3. Reboot
    sudo reboot

  4. You can check the new kernel with:
    uname -a

This is my preferred way to do it, when developing, since it is very fast. However, It is not recommended on production stage, since once the kernel is ready, its easier to include it in the new image.

You can also use the script, but I would suggest adding -r to speed up the process by not generating a new image of the full system.

-r ------------------- skip building and reuse existing system.img.

then, the command would look like:
./ -r mmcblk0p1

Let me know if those procedures work for you, or if you experience any issues.

best regards,
Andres Campos
Embedded Software Developer

The two methods you provided work normally and are very convenient, which solved my problem, thanks

There are two kernel kernel images as follows:

So after re-flashing the machine, which place will take effect?

Hello @mailonghua ,

The kernel that the board will use is the one in Linux_for_Tegra/kernel in other words option a.

If you create a custom kernel you should copy it to Linux_for_Tegra/kernel directory before flashing.

best regards,
Andres Campos
Embedded Software Engineer

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.