I tried to run a KVM virtualization thing (firecracker) on my Jetson NANO and it fails because /dev/kvm does not exist. I think it’s because jetson nano’s kernel was compiled without KVM support.
I made all of this, then I tried substituting the /boot/Image with the new compiled Image and it booted with some kernel logs then didn’t start the desktop
I then tried also copying the dtb and modules, but this also did not work.
How do I update the jetson kernel with the newly compiled one? My jetson nano does not have emmc so I can’t flash and also I think flashing is too much. What if I want to test lots of kernels? Putting the micro SD in and out of the Nano for flashing would be tedious
If the Image build from source tree without any modification still can’t boot to desktop that could be the version incorrect.
You can check the version by cat /etc/nv_tegra_release then download the correct source for it.
since I don’t know which dtb to decompile, I edited them all from the kernel source (that is, I edited the main one and generated all them) and placed them into /boot. That is, I replace the old ones. However, doing hexedit /proc/device-tree/interrupt-controller reg shows that it did not alter the regs I placed. Decompiling each of the .dtb from /boot shows that they are in fact there.
Where does jetson nano take the dtb files from if not /boot?
this is weird, it’s loading a local file, not the one at root. I think this has to do with the fact that I compiled the kernel locally, and it’s linking to the old place of the device tree files. Do you know how to change that? I had to do this on /boot/extlinux/extlinux.conf
LABEL primary
MENU LABEL kvm device tree with gic
LINUX /boot/Image
INITRD /boot/initrd
FDT /boot/tegra210-p3448-0000-p3449-0000-a00.dtb
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 loglevel=7 console=ttyS0,115200n8 console=tty0 fbco$
but it should just be a matter of replacing the device tree binary files on /boot