Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/b3b/mbd
Multiboot USB drive creation
https://github.com/b3b/mbd
Last synced: 16 days ago
JSON representation
Multiboot USB drive creation
- Host: GitHub
- URL: https://github.com/b3b/mbd
- Owner: b3b
- Created: 2012-02-04T20:41:14.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-01-19T00:16:05.000Z (almost 12 years ago)
- Last Synced: 2024-10-03T11:35:53.713Z (about 1 month ago)
- Homepage:
- Size: 206 KB
- Stars: 1
- Watchers: 4
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
README
# About
Multiboot flash drive creation## Core statements
* 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)## Software involved
* [GNU sed](http://www.gnu.org/s/sed/)
* [NetbootCD](http://netbootcd.tuxfamily.org/)
* [Syslinux](http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project)
* [Tiny Core Linux](http://distro.ibiblio.org/tinycorelinux/)## Boot process
* 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# Usage
## Get
Run next commands:git clone git://github.com/b3b/mbd.git
cd mbd## Configure
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### Additional options
* 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 defaultIf _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).
## Build
On build stage, script will download NetbootCD and Tiny Core Linux live CDs; download and build GNU sedstream editor. Runmake
## Install
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.
Runmake install
## Use
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
## Uninstall
From mbd source directory, runmake uninstall
# Special Use
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# Tested with
DistributionStatus
Debian Livework
FedoraLiveCDwork
Grmlwork
Linux Mint CDwork
Sabayon Linuxwork
SliTaz LiveCDwork
Tailswork
Tiny Core Linuxwork
UbuntuworkDamn Small Linuxnot work
Slaxnot work