How to update a Universal Bootloader USB Key

If you have a USB key with the MP Boot-loader software installed, you can dynamically update the contents of the key with a view to installing new Linux distributions, or newer versions of distributions already on the key. You can also remove distributions you are no longer interested in to make space for alternatives.

For example, you might find that you have Ubuntu 22.04 and Ubuntu 23.10 images on the key (i.e. stable LTS Ubuntu, and bleeding edge Ubuntu). When 24.04 LTS is released, you might like to remove 22.04 and replace it with 24.04.

Procedure

  1. Boot your computer from the USB Key
  2. Select the Debian Standard instance (boots to CLI)

screen1

Caveat; this assumes you have an Internet connected cable plugged into your computer. If you don’t, you will need to boot the graphical version of Debian of your choice, connect a WiFi connection, start a terminal session, then continue here …

  1. Type in the following command, which should take a minute or so. This will update your key’s software including the list of distributions available.
/run/live/findiso/universal_boot/init.sh

IF you see any sort of error before the user interface appears, don’t panic. The software is “self updating” and whereas minor changes are completely transparent, sometimes a few eggs get broken. If you run the init.sh script again, it should run the “new” / updated version which should then run as intended.

  1. Use the down cursor to navigate to Ubuntu 22.04
  2. Press the space bar to un-select Ubuntu 22.04 (remove the asterisk)
  3. Use the down cursor to navigate to Ubuntu 24.04 Beta
  4. Press the space bar to select Ubuntu 24.04 (add the asterisk)

screen2

  1. Hit the TAB key to highlight OK, then press RETURN.
  2. You will be prompted with the ISO images to remove and to install, press the left arrow to highlight YES then press RETURN.
  3. The image should now start downloading, a progress bar will indicate how things are going and estimate how long the download will take. This estimate is indicative but can be wildly unreliable, but at this point you should probably go for a coffee … (it is subject to your Internet connection AND the speed of your USB port)

screen3

  • I’m testing this in a virtual Machine on a standard broadband connection, the overall time for this download / write to key (4.9G) was about 30 mins.

screen4

If you have a fast Internet connection, then the download will have completed BEFORE the ISO has been completely written to the USB key. Make sure you so a sync before rebooting.

  1. Sync and Reboot your machine
sync; sudo reboot

… when the menu appears, scroll down …

screen5

  1. With any luck, you should find yourself running the latest Ubuntu Beta! (note; this particular image is pretty big at nearly 5G, so it takes a little while to boot…)

Notes;

  • Procedure relies on a working Internet connection
  • For some reason 24.04 Beta didn’t want to run fully in a virtual machine (although runs happily on my Laptop)
  • Don’t ever remove the image you use for customising the key, i.e. Ubuntu Standard in this example
  • Images are removed BEFORE new ones are downloaded, so if your download fails, you will still lose the images you’ve chosen to remove

Key Verification;

When Images are downloaded from the Internet, the software attempts to verify the images have not been tampered with since their generation. Different distributions have different standards with regards to image verification, so some verification techniques are more robust than others.

After running the initial command above (init.sh) , once you exit the resulting GUI you will be able to type additional commands from the CLI. So for example;

$ ./universal_boot.py --list
ISO's Present on the USB Key:
> antix-23-full-32         | By Host  ☑️  | 1.70G | antiX (23) Full 32-bit
> antix-23-full-64         | By Host  ☑️  | 1.70G | antiX (23) Full 64-bit
> arch-2024.02.01          | By Host  ☑️  | 0.93G | Arch Linux (2024.01.01) Live
> bodhi-7.0.0-hwe          | By Host  ☑️  | 1.30G | Bodhi (7.0.0) HWE
> bodhi-7.0.0-standard     | By Host  ☑️  | 1.30G | Bodhi (7.0.0) Standard
> debian-12.5-cinnamon     | Verified ✅ | 3.10G | Debian (12.5) Cinnamon
> debian-12.5-gnome        | Verified ✅ | 3.20G | Debian (12.5) Gnome
> debian-12.5-kde          | Verified ✅ | 3.30G | Debian (12.5) KDE
> debian-12.5-lxde         | Verified ✅ | 2.90G | Debian (12.5) LXDE
> debian-12.5-lxqt         | Verified ✅ | 3.00G | Debian (12.5) LXQT
> debian-12.5-mate         | Verified ✅ | 3.00G | Debian (12.5) MATE
> debian-12.5-standard     | Verified ✅ | 1.40G | Debian (12.5) CLI
> debian-12.5-xfce         | Verified ✅ | 3.00G | Debian (12.5) XFCE
> manjaro-23.1.3-gnome     | By Host  ☑️  | 3.90G | Manjaro (23.1.3) Gnome
> manjaro-23.1.3-kde       | By Host  ☑️  | 3.70G | Manjaro (23.1.3) KDE
> manjaro-23.1.3-xfce      | By Host  ☑️  | 3.60G | Manjaro (23.1.3) XFCE
> mint-21.3-cinnamon       | Verified ✅ | 2.90G | Mint (21.03) Cinnamon
> mint-21.3-mate           | Verified ✅ | 3.00G | Mint (21.03) Mate
> mint-21.3-xfce           | Verified ✅ | 2.90G | Mint (21.03) XFCE
> mxlinux-23.2-ahs         | By Host  ☑️  | 22.00G | MX Linux (23.2) Current
> mxlinux-23.2-std         | By Host  ☑️  | 2.20G | MX Linux (23.2) Stable
> puppy-9.5-fossa          | By Sum   ⚠️  | 0.41G | Puppy Linux (9.5) Fossa
> rescue-11.0              | By Host  ☑️  | 0.86G | System Rescue (11.0)
> sparky-07.02-kde         | Verified ✅ | 2.09G | Sparky (7.02) KDE
> ubuntu-23.04             | Verified ✅ | 4.60G | Ubuntu (23.04) Gnome
> ubuntu-23.04-budgie      | By Host  ☑️  | 3.50G | Ubuntu (23.04) Budgie
> ubuntu-23.04-kde         | By Host  ☑️  | 4.00G | Ubuntu (23.04) KDE
> ubuntu-23.04-lxde        | By Host  ☑️  | 2.80G | Ubuntu (23.04) LXDE
> ubuntu-23.04-mate        | By Host  ☑️  | 3.50G | Ubuntu (23.04) MATE
> ubuntu-23.04-studio      | Verified ✅ | 4.70G | Ubuntu (23.04) Studio
> ubuntu-23.04-xfce        | By Host  ☑️  | 2.90G | Ubuntu (23.04) XFCE

  • Verified means the software was able to verify the image all the way back to the published GPG keychain signature for the distribution.
  • By Host means the image checksum was verified by a SUM published on the distribution web site.
  • By Sum just means the image checksum matches the expected checksum from the download site.

Strictly speaking, Verified images are really the only ones that should be trusted if you’re going to install the distribution onto your machine and use it “for real”, although a By Host should only be unsafe if the Distro’s website has been compromised.