Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mgedmin/bootable-iso
Bootable USB disk that lets you choose an ISO image
https://github.com/mgedmin/bootable-iso
Last synced: 2 months ago
JSON representation
Bootable USB disk that lets you choose an ISO image
- Host: GitHub
- URL: https://github.com/mgedmin/bootable-iso
- Owner: mgedmin
- Created: 2016-04-22T06:30:17.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-10-19T13:33:13.000Z (about 4 years ago)
- Last Synced: 2024-08-13T07:09:41.884Z (4 months ago)
- Language: Python
- Size: 45.9 KB
- Stars: 16
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- jimsghstars - mgedmin/bootable-iso - Bootable USB disk that lets you choose an ISO image (Python)
README
Bootable USB disk that lets you choose an ISO image
===================================================This is basically a newer iteration on
https://mg.pov.lt/blog/booting-iso-from-usb.htmlCreating a bootable USB disk that lets you boot any Ubuntu ISO image:
1. Mount a USB disk with a sufficient amount of free space. Note the device
name (e.g. `/dev/sdb`) and the mount point (e.g. `/media/mg/MG-FLASH`).2. Install GRUB:
```
sudo grub-install --target=i386-pc \
--root-directory=/media/mg/MG-FLASH /dev/sdb
```(you may have to also use `--force`)
3. Perhaps also install an UEFI bootloader
```
sudo grub-install --target=x86_64-efi --removable \
--root-directory=/media/mg/MG-FLASH \
--efi-directory=/media/mg/MG-FLASH /dev/sdb
```(be very careful not to forget `--removable`, or it'll overwrite your EFI
boot variables and your host machine will fail to boot!)4. Download Ubuntu ISO images you want
```
cd /media/mg/MG-FLASH
git clone https://github.com/mgedmin/ubuntu-images ubuntu
cd ubuntu
# maybe edit the Makefile to pick what Ubuntu versions and variants you want
make verify-all
```5. Check out this repository (this is tricky because git doesn't want to check
out things into an existing non-empty directory)```
git clone https://github.com/mgedmin/bootable-iso /tmp/bootable-iso
mv /tmp/bootable-iso/.git /media/mg/MG-FLASH/boot/grub/
mv /tmp/bootable-iso/* /media/mg/MG-FLASH/boot/grub/
```6. Run `make -C /media/mg/MG-FLASH/boot/grub/` to build a `grub.cfg` that
matches your Ubuntu images7. Test that things work
Testing with KVM
----------------1. Find the device name
```
udisksctl status
```2. Run
```
sh kvmboot /dev/sdb1
```3. Record the test results in mkgrubcfg.py
Other resources
---------------- https://help.ubuntu.com/community/Grub2/ISOBoot
- You may be interested in [Ventoy](https://www.ventoy.net/), which seems a
much more polished and capable solution for this kind of thing.