Now when moving to JP5.1.2 I tried the same approach with no luck (device booted when sd-card was inserted , though modification I made were not affected in the sd-card).
Did you configure the SD card as the boot device in the UEFI settings?
Yes, the device only boots when the SD card is inserted.
However, the changes I made don’t seem to be applied.
I edited the file /boot/extboot/extlinux.conf, as an example, by adding the line “#hello world”. After restarting the device, the changes were visible. But when I moved the SD card to another computer and checked the file, there were no modifications. It appears that the modifications were applied to the eMMC storage, even though the Xavier is booting from the SD card.
Here’s the scenario:
Boot the system.
Modify the file /boot/extboot/extlinux.conf (add lines, etc.).
Reboot the system.
The modifications are visible.
Upon examining the SD card, no changes are found.
Check df -h to know where rootfs gets mounted.
Maybe you should check /boot/extlinux/extlinux.conf on the SD card, and make sure rootdev= is pointing to the SD card instead of eMMC.
I feel like that’s because the image created this way specifies rootfs to be mounted over eMMC, but you directly put it to the SD card; hence no changes were made to the SD card when you were actually doing everything on eMMC.
this is in Jp4.6 what should be different in jp5.1.2 ?
mkdir tmpfs/
sudo mount bootloader/system.img.raw tmpfs/
sudo cp -ax tmpfs/* /mnt/
sync
regarding this , it was to generate the 1st sd-card image only (after running the command sudo BOOTDEV=mmcblk1p1 ./flash.sh -S 8GiB jetson-xavier mmcblk1p
Which technically points to the sd-card.
checking it out again , it was my bad , the file /boot/extboot/extlinux.conf is updated , and sd-card is good but for some reason the dtb file and the kernel is not loaded from extlinux.conf and I do not know how to ask it to load from there. (seems like extlinux .conf is deprecated). terminal.txt (78.0 KB)
and then made an sd-card from bootloader/system.img.raw Image
In JP4.6 , I used to use the /boot/extlinux/extlinux.conf file (from rootfs)
Here the file is taken from somewhere else which I am not familiar with.
In other words , how can I configure the Xavier to take my Image/dt files from extlinux.conf ?
any thing I need to re-configure ?
Yes , I have modified extlinux.conf file , and it is not even loaded … (in an orin AGX when I have several elements in the file , I get a menu item when device inits , here I get nothing , and dtb is not taken from conf file as I have modified it… )
Sorry , will elaborate.
I am trying to migrate fromJP4.6 to JP5.1.2
I do the same
generate and sd-card (as described)
program the xavier to be on jp5.1.2
then I put the sd-card , and modify the extlinux.conf (for example to take my proprietary device tree)
When system is up and running , the device tree , is not taken from the extlinux.conf as it did in JP4.6 , but from somewhere else (which I don’t even know from where.
Again , in jp4.6 I did and it works great (I have 6 different device tree , which I can switch between them very easy)
I wish todo the same in jp5.1.2 , but for some reason the device tree is not take from extlinux.conf but seems to be taken from somwhere else.
TIMEOUT 30
DEFAULT world
MENU TITLE L4T boot options
LABEL hello
MENU LABEL hello kernel
LINUX /boot/Image.Moish
FDT /boot/fdt/moish/leopard/tegra194-leopard-7044-ox0b40.dtb
INITRD /boot/initrd
APPEND ${cbootargs} root=/dev/mmcblk1p1 rw rootwait rootfstype=ext4
LABEL world
MENU LABEL world kernel
LINUX /boot/Image.vlns
FDT /boot/fdt/moish/tegra194-vlns-evk.dtb
INITRD /boot/initrd
APPEND ${cbootargs} root=/dev/mmcblk1p1 rw rootwait rootfstype=ext4
here is example of my extlinux.conf file , Image and kernel are not being taken from here , seems that this file is ignored
Then are you getting the prompt which asks you which setting in extlinux you want to boot from?
I mean, are you sure it really reads kernel/dtb from the SD card?
And also what I update the extlinux.conf on the Xavier , it is updated in the sd-card as well (as I am reading the sd-card from another linux host as an external driver ).
So file modifications are done on the sd-card , which is good , only this is that the device is not booting from extlinux.conf , which maybe there was a change (by default in jp51.1.2 , which I manually need to update).
Maybe , but for sure all files in the filesystem I change are from the sd-card
and if so , what is the procedure to set the Xavier to boot from sd-card (extlinux.conf)
again , doing this in jp4.6 works great for dozens of my xaviers …
maybe the terminal log can point to smth ?
[ 10.093776] EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Opts: (null)
[ 10.103735] Rootfs mounted over mmcblk1p1
[ 10.138880] sda: sda1
[ 10.142971] Switching from initrd to actual rootfs