Hacker News new | ask | show | jobs
by dataflow 1865 days ago
Assuming you loopback mount the ISO, I think these are the major args... fill in the "..." wherever you see them:

  # Ubuntu
  linux .../vmlinuz boot=casper file=.../ubuntu.seed iso-scan/filename=...
  initrd ...

  # Arch
  linux .../vmlinuz img_dev=... img_loop=... earlymodules=loop
  initrd ..._ucode.img .../archiso.img

  # Kali
  linux ... boot=live components findiso=... # noautomount
  initrd ...

  # GParted
  linux ... boot=live union=overlay config components toram=....squashfs findiso=...
  initrd ...
In general you'll have to boot the kernels directly as shown above. Using the built-in GRUB menus won't work in many cases. Which makes it difficult to make these future-proof.

You'll also want to make sure you've insmod'ed any modules you need for your hardware as necessary (storage, USB, etc.)... unfortunately documentation on these is poor, and some modules are mutually exclusive, so have fun.

Best of luck getting a robust boot menu script going. Expect to spend weeks if not months on it if you're new to GRUB scripts/components.

2 comments

And you can find an aggregated list of grub files for various distro's at aguslr's multibootusb:

https://github.com/aguslr/multibootusb/tree/master/mbusb.d

You can also add toram to copy the entire squashfs root to memory. This way you get better performance, and don't need to keep your USB disk plugged in.