Logo

Tiny Core: USB UEFI booting 

USB UEFI

Following a revisit I have revamped this entry as I found I couldn't successfully follow what I'd previously written here. Previously I had been working with an Igel H820C, this time it was with an Igel M340C. The approach described here still works on the H820C. The previous words can be found here.

USB pen drives

I should note that USB drives are/can be a special case as far as UEFI booting is concerned. For a start USB drives may well not have a partition table on them. This always used to be the case but with the way capacities are going there are now reasons for using a partition table. However, in general a UEFI computer, presented with a USB drive to boot from, will just look for the expected files and file structure and will use them if they are there. i.e. The USB pen drive should be formatted in FAT or FAT32 with the appropriate files in the directory /EFI/BOOT/. It does not need to have a GPT partition table let alone a specific EFI partition.

Prerequisites

  • A suitable USB pen drive
  • The 64-bit Tiny Core ISO TinyCorePure64-13.1.iso
  • The file bootx64.efi.

Format the USB pen drive

I started off by formatting an 8GB SanDisk Cruzer USB drive using the Windows disk manager. I was using Windows 11. There may be differences if you are using an earlier version of Windows. Right-click on the start button and select 'Disk Management'.

Windows Disk Management
  1. First delete all existing partition(s) on the drive.
  2. Then right-click the drive and pick 'New Simple Volume...'
  3. Accept the defaults of the 'New Simple Volume' wizard but ensure it is formatted as FAT32.

You'll end up with a clean USB pen drive with NO partition table at the start. When you come to use it it will appear as /dev/sdb or similar. (If you set your USB pen drive up a different way that adds a partition table then it will appear as /dev/sdb1 or similar).

Copy over the files

  1. Mount the file TinyCorePure64-13.1.iso so that you can access the contents. With recent versions of Windows all you need to do is right-click on the ISO and and select 'Mount' from the drop-down menu. If you are using an older version of Windows you may need a third party application to do this.
  2. Copy over the contents of the ISO (three directories) to the USB pen drive.
  3. Copy the file bootx64.efi to the directory /EFI/BOOT.
  4. Copy the file /EFI/BOOT/grub/grub.cfg to the root directory.

Minor edits

  1. Rename /cde to /tce
  2. Edit grub.cfg

My simple grub.cfg file is:

menuentry "Tiny Core 13.1" {
    linux /boot/vmlinuz64 kmap=qwerty/uk waitusb=5 tce=UUID="AC8B-1972"/tce vga=791 video=vesafb:ywrap,mtrr:3
    initrd /boot/corepure64.gz
}

Ideally I would like to have added a heading to the boot menu giving the Tiny Core Linux version number but I couldn't work out how to do it, so I used the menuentry descriptor to do this.

You can use the command blkid /dev/sdb to find the UUID to use. (This assumes your pen drive is /dev/sdb. Adjust to suit).

I'm not too sure about the video = bit that was there in the original Tiny Core file.