Skip to content

ngaro/cibu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

453 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cross-ISO Boot Utility

This software is forked from https://github.com/thias/glim and includes many changes.

Overview

CIBU is a tool to create a boot medium (usually a USB stick) that can boot multiple ISO images from different operating systems. This is meant for everyone who doesn't want to carry around a different USB stick for every iso they want to boot from.

If you found this repo, you probably already found Ventoy too.
It's undeniable that Ventoy is a tool with way more features.
But... Ventoy has well documented concerns about its security and the validity of its open-source claims !
Because of this it's usage is often forbidden in environments where security is an important factor.
CIBU, on the other hand, is completely open and has source code that is easy to read and well documented.
The only blobs inside are the images (which you can replace if you want).

Screenshots

The main menu (listing all detected distros with their logos): Main Menu The submenu for Mint (listing all detected Mint ISOs): Mint Submenu Editing booting parameters before booting (you only see this if you press 'e' while on an entry, otherwise it just boots with the default parameters) Mint Edit

Differences from GLIM

See CHANGELOG.md for full info. Most important things: Large isos are supported and partitioning is done for you.

Installation

  • Make sure you have sudo and perl on your system. (Most popular Linux distros have them preinstalled).

  • Download a release here and extract it somewhere.

  • Run ./cibu in the extracted directory and follow the instructions. CIBU uses some external tools to build the stick, so it will check for their presence.
    If you are missing any (you probably won't), install them.
    Your distribution's package manager will almost certainly provide them.

Usage

Copy your ISO files to the appropriate subdirectories in the isos/ folder on the second partition of the USB stick.
If the ISO for the distro you want to add doesn't have a subdir yet, it is not supported.

Note that many ISO files are not yet tested in CIBU even if they have a subdir. But if they work in GLIM, they will probably also work here.
In the file TESTED.md you can find a list of tested ISO filey will also work here.

If you require boot-parameter tweaks, edit the appropriate boot/grub2/inc-<distroname>_.cfg file on the first partition.
(It is also possible to do this at runtime by pressing 'e' while on an entry)

Menu items for a distro are ordered by the modification time of the ISO files.
If you want to reorder them, use touch on all the files in that subdir in the order that you want them to be listed.

Special Cases

This list of special cases comes from the original repo; I haven't tested whether these are stil valid

iPXE

The .iso files don't work when booting using EFI; use .efi files instead.

LibreELEC

LibreELEC isn't provided as ISO images, and it can only find the KERNEL and SYSTEM files at the root of a filesystem. But it's useful to enable booting the installer by just copying both files to the root of the USB memory stick. Live booting is also supported, and the first launch will create a 512MB file as /STORAGE.

Memtest86+

The .iso file doesn't work. Use either the .bin or the .efi depending on the boot mode used.

Testing

Instead of immediately using it (and possibly breaking your system) it's possible to test it in a virtual machine.
What I do is create a Linux VM in VirtualBox and give it a extra drive and pretend that that drive is the USB stick.

Contributing

Ways to contribute to CIBU and improve it for everyone:

  • Test ISO files and send a PR with the updated TESTED.md file. (Also report ISO files that cause issues)
  • Send PRs with inc-distroname.cfg files for distros that are not yet supported, or with tweaks for distros that fail. If possible, also add a picture of the distro's logo in high quality and a version that is shrunk with something like convert -size 24x24 -background 'rgba(0,0,0,0)' original.svg small.png
  • Send PRs that improve the inc-distroname.cfg files, the Perl script, or this README.md, ...

Make sure to test everything properly before sending a PR. You might also want send a PR to the GLIM repo, on which this software is based on, if it adds or improves an inc-distroname.cfg file.

Credits

Legal stuff

The file grub2/themes/invader/background.png is © 2008 payalnic (DeviantArt).
All other files are licensed under GPLv3. See the LICENSE file for all details.

About

Cross-ISO Boot Utility

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Perl 100.0%