For safety I use the extlinux menu system, I have copied the safe dtbs to /boot/firmware/dtbsafe/
root@AI64:~# ls /boot/firmware/dtbsafe/
k3-j721e-beagleboneai64-no-shared-mem.dtb k3-j721e-common-proc-board.dtb k3-j721e-proc-board-tps65917.dtb k3-j721e-sk-rpi-exp-header.dtb
k3-j721e-beagleboneai64.dtb k3-j721e-cpb-csi2-ov5640.dtb k3-j721e-sk-csi2-ov5640.dtb k3-j721e-sk.dtb
k3-j721e-common-proc-board-infotainment.dtb k3-j721e-edgeai-apps.dtb k3-j721e-sk-rpi-cam-imx219.dtb k3-j721e-vision-apps.dtb
And then in /boot/firmware/extlinux/extlinux.conf
use the menu system so there is always a safe boot:
TIMEOUT 30
DEFAULT Linux SSD
MENU TITLE AI-64 boot options
label Linux SSD
kernel /Image
append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=UUID=4c61565c-ce5a-4cc3-8410-9f25b938fefc ro rootfstype=ext4 rootwait net.ifnames=0
fdtdir /
initrd /initrd.img
label Linux SSD Safe
kernel /Image
append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=UUID=4c61565c-ce5a-4cc3-8410-9f25b938fefc ro rootfstype=ext4 rootwait net.ifnames=0
fdtdir /dtbsafe/
initrd /initrd.img
label Linux SSD With Test Overlay
kernel /Image
fdtoverlays /overlays/k3-j721e-beagebonei64-test.dtbo
append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=UUID=4c61565c-ce5a-4cc3-8410-9f25b938fefc ro rootfstype=ext4 rootwait net.ifnames=0
fdtdir /
initrd /initrd.img
label Linux SSD With LED Overlay
kernel /Image
fdtoverlays /overlays/k3-j721e-beagleboneai64-BONE-LED_P8_03.dtbo
append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=UUID=4c61565c-ce5a-4cc3-8410-9f25b938fefc ro rootfstype=ext4 rootwait net.ifnames=0
fdtdir /
initrd /initrd.img
label Linux eMMC
kernel /Image
append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait net.ifnames=0
fdtdir /
initrd /initrd.img
label Linux microSD
kernel /Image
append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk1p2 ro rootfstype=ext4 rootwait net.ifnames=0
fdtdir /
initrd /initrd.img
You do need that UART connected though.