Hi everyone I have two kernel images in the boot folder appropriately renamed the second one, I was wondering how do I choose which kernel to select when I turn on my jetson nano?
What is the name of both kernels now? Is this strictly booting to SD card? Attach a copy of your “/boot/extlinux/extlinux.conf
”.
Also, did you set the CONFIG_LOCALVERSION
when building your kernel? If this is correct, then you don’t need to also install modules, but if it is not, then you also need to install modules.
Also, do you have a serial console cable? This gives more options.
Hi thank you for your reply! I have two images one that is the default jetson ‘Image’ the other I renamed it ‘Image-mine’, the latter is a kernel (4.9) that I cross-compiled on my x86 pc and yes during building I set CONFIG_LOCALVERSION. No I don’t have a console cable
- Can you attach a copy of your “
/boot/extlinux/extlinux.conf
”? - What was
CONFIG_LOCALVERSION
set to? - Did you start with configuration target
tegra_defconfig
? - Is this truly a Nano dev kit with only SD card, and no eMMC?
This is my extlinux file.
CONFIG_LOCALVERSION = -tegra
Yes i started with configuration target tegra_defconfig
Yes only SD card
I was hoping you would actually attach the file to the forums. Then I can edit the file, and attach a new one. The gist though is that you want to make a copy of the “LABEL primary
” block, add a blank line below that, paste, and the edited file name goes in the original block (the copy keeps the file name). The copied (now secondary) entry would have a new LABEL
and a new MENU LABEL
. For example:
LABEL backup
MENU LABEL backup original
...
What this would do is to make the first entry now point at your kernel, but the alternate entry is still there to boot to if you run into trouble. However, you would have to have a serial console cable to access the alternate entry. I very very highly recommend a serial console cable for anyone working on any embedded system, they do so very much and are quite inexpensive. Here’s some info if you want to know about serial console on the Nano:
https://www.jetsonhacks.com/2019/04/19/jetson-nano-serial-console/
Note that because both kernels will have the same CONFIG_LOCALVERSION
and same base software release, that they will produce the same output from “uname -r
”. This is part of the path to finding modules, and so the new kernel will use the old module directory. If the other parts of the kernel are sufficiently similar, then the new kernel can use the old modules. However, you have changed one “=y
” integrated feature, so this might not be the case. It is possible you’d end up having to install modules, which in turn would then invalidate the backup. Should you get this far, and if it turns out that the new kernel cannot use the old modules, then the proper update would to be build your new kernel with a new CONFIG_LOCALVERSION
, and to install modules only to the new location without overwriting the originals. Try booting without updating modules and see if it works. Do get a serial console cable so you can greatly reduce the cost of failing a kernel update.
Thank you very much all very comprehensive, what I was wondering I can’t use the keyboard to access the boot menu?
No. There is no BIOS, and no “standard” boot software. That does not arrive until UEFI is completely installed, and only the Orin has this full implementation (only Orin can use L4T R36.x). The serial console, via a host PC, can access choices with a keyboard because serial console has access to boot stages (which does not require UEFI).
I want to emphasize that anyone who does not have one of the 3.3V serial UART-to-USB cables, which are inexpensive, is really making their life more difficult when working with Jetsons. It isn’t just Jetsons either, serial cables are very useful on a lot of embedded devices (though they don’t all use 3.3V many do).
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.