Jetpack 4.6: Xserver does not start

Thx… at least I know I’m not completely missing something.

I think this also confirms no need at all for /boot on /dev/nvme0n1p1 when using the chroot method in rootOnNVMe.

Yeah, I think root= might need to be changed, but only because editing the /etc/fstab didn’t work.

I can’t figure out why editing the fstab wouldn’t effectively be the same thing.

I’m just speculating, but I suspect that the boot chain is sufficiently different than that on a PC that the bootloader software reads only from “extlinux.conf” and/or the initrd. In other words, a limitation of the bootloader chain (which is quite different than that of a PC using GRUB).

  1. I removed all files on the nvme partition
  2. install jetpack 4.6 across sdk manager in emmc. I set everything up as I need, installed programs that are needed in any case, in which I am sure that they will not break the system.
    3.cloned the emmc using copy-rootfs-ssd.sh on nvme.
  3. edited extlinux.conf on nvme
TIMEOUT 30
DEFAULT primary_nvme

MENU TITLE L4T boot options

LABEL primary_nvme
      MENU LABEL primary_nvme kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4 
console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4 

LABEL bakup_emmc
      MENU LABEL bakup_emmc kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4 

reboot.
the system will boot from nvme

PS: if something goes wrong, I interrupt the CBoot boot and enter commad “setvar boot-order emmc” to boot AGX from emmc.
enter cmmand “boot”.
the system 1 time will boot from emmc.

Your solution looks just perfect, if that’s the place you do it that’s good info!

Can you only break cboot in a debug console session or can that be done directly?

There are many options (if you have specified boot from available media in extlinux.conf. Just take into account the default check order
This is my CBoot output in the console (for example)
[0002.384] I> 1.sd
[0002.386] I> 2.usb
[0002.388] I> 3.nvme
[0002.390] I> 4.emmc
[0002.392] I> 5.net
[0002.393] I> Hit any key to stop autoboot: 4 3 2 1
[0004.401] initializing target

  1. Interrupt loading cboot and completely load the system from emmc by entering commands, and the order of CHECK media can be changed only here (except, of course, if you have defined your order and generated and loaded your version of CBoot).
  2. Or wait for the menu configured in extlinux.conf and boot the system from any of the media preconfigured in it. You just need to take into account the order of checking the carriers and that the system will search for extlinux.conf on each of them, and if found, it will use the first found extlinux.conf.
    Yes, the console is needed in any case. (or I don’t know how to use it without a console) and I didn’t test the system with data encryption.
  3. But the console should not be a problem - the micro USB cable comes with AGX, connect the host machine with a micro USB cable, through the AGX micro USB connector, and run the minicom program on the host machine (by setting it to the appropriate USB port). Then, when loading AGX, you can interrupt loading CBoot using the minicom program installed on the host machine (just pressing any key) in the terminal window with this program, or select the extlinux.conf menu.

CBoot selection of extlinux.conf are only accessible for picking (during boot) via serial console. Systems which use the desktop PC architecture use GRUB instead and can pick a menu item directly from the monitor/keyboard, but the boot mechanics using extlinux.conf cannot display to the regular monitor (thus the mandatory requirement for serial console).