I followed Juanito's wonderful instructions on how to create a device that will boot with either BIOS or (U)EFI here:
https://forum.tinycorelinux.net/index.php/topic,19364.0.htmlI have an old laptop with legacy BIOS, with frugal TCL installation on SSD. Thanks to Juanito's directions, my SSD can now boot in any laptop--I can continue to boot it in my old laptop, or I can transfer the SSD to a newer laptop that only supports UEFI. Tested and working!
I followed the same instructions to try to create a bootable USB stick with TCL on it (for rescue operations) but, surprisingly, I cannot get the stick to boot. My old laptop is able to find grub in the EFI partition, menu entries in grub.cfg are shown, but kernel cannot be found because grub claims the root filesystem is unknown.
Please see the attached screenshot. As you can see, grub is able to recognize an ext4 filesystem (hd1,gpt1) on my SSD just fine, but it cannot recognize an ext4 filesystem (at hd0,gpt1) on the USB drive. The filesystem is definitely ext4:
$ blkid /dev/sdb1
/dev/sdb1: UUID="7283ed99-3225-4add-be42-3d3031e5eb7b" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="fdf388fb-54af-4d3c-97c5-bc17455a527f"
I already tried
insmod linux
at the grub prompt and it didn't help. I also deleted all partitions from the USB stick and did everything again from the beginning, with same results.
Any idea why grub is unable to access the ext4 partition on /dev/sdb1 (which it sees as hd0,gpt1)?