Multiboot flash drive creation
- Linux boots Linux
- no boring installs, just
cp my.iso /to/my/usb_drive/
- do best for known distro images, try to boot random (even if they do not want to)
- Syslinux, or another bootloader, boots the NetbootCD image
- User scramble through dialogs, and select an image to boot
- kexec loads the kernel from the selected image, using improved initrd with improved cmdline
- mbd takes control before the initrd /init, and performs distro specific preparations
- initrd /init prepare root filesystem
- mbd take control again, before filesystem switch, and performs some special tasks
- /init continue boot
Run next commands:
git clone git://github.com/b3b/mbd.git
cd mbd
Run
autoconf
Run configure with the target_device environment variable set to partition device file. If /dev/PARTITION is your USB flash drive partition device file (as "sdx1", or "disk/by-uuid/NNNN"), run
./configure target_device=/dev/PARTITION
- isolinux_dir="DIR" - install to DIR directory on USB flash drive. DIR is "isolinux" by default
- --without-bootloader - do not install Syslinux bootloader on the device. Use this option to preserve existent bootloader. Need this option if target filesystem is not FAT32
- mbd_label="LABEL" - set filesystem label to LABEL, "MBOOTDISK" by default
If without-bootloader option is used, it is necessary to set target filesystem label to be the same as mbd_label value. Label can be set with the mlabel command (for FAT32), e2label command (for ext2/ext3/ext4).
On build stage, script will download NetbootCD and Tiny Core Linux live CDs; download and build GNU sedstream editor. Run
make
Need root privileges. Script will prepare and copy mbd files to the target device. If option without-bootloader is not set, script will install the bootloader (Syslinux) on the target device. Else, if option without-bootloader is used, script will suggest examples of bootloaders menu entries. Run
make install
Put LIVE CDs (*.iso) into the images directory ("isolinux/iso" by default) on your USB flash drive. Example, if MP is flash USB drive mount point:
cp my-cool-live-cds/*.iso MP/isolinux/iso/
mkdir MP/isolinux/iso/Debian
cp my-cool-live-debian-cds/*.iso MP/isolinux/iso/Debian/
Boot from USB flash drive, and follow the menus
From mbd source directory, run
make uninstall
Add desktop link to Live CD desktop. Run configure with the desktop_link environment variable set. Example:
./configure target_device=/dev/PARTITION desktop_link='http://xn--c1apc3a.xn--p1ai/'
Boot Live CD from running system (if system has kexec support enabled, and dialog program installed). Example, if MP is flash USB drive mount point:
cd MP/isolinux
mkdir /tmp/mbd
sh mbd_menu -t /tmp/mbd
Distribution | Status |
---|---|
Debian Live | work |
FedoraLiveCD | work |
Grml | work |
Linux Mint CD | work |
Sabayon Linux | work |
SliTaz LiveCD | work |
Tails | work |
Tiny Core Linux | work |
Ubuntu | work |
Damn Small Linux | not work |
Slax | not work |