Coder Social home page Coder Social logo

bootable-iso's Introduction

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.html

Creating 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 images

  7. 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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.