{"id":13558896,"url":"https://github.com/thias/glim","last_synced_at":"2025-05-16T14:04:47.212Z","repository":{"id":7250845,"uuid":"8561876","full_name":"thias/glim","owner":"thias","description":"GRUB Live ISO Multiboot","archived":false,"fork":false,"pushed_at":"2024-04-08T22:57:27.000Z","size":1668,"stargazers_count":792,"open_issues_count":31,"forks_count":153,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-04-19T15:56:37.134Z","etag":null,"topics":["boot","centos","fedora","glim","grub","grub2","iso-image","live","rhel","ubuntu","usb"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thias.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-03-04T18:32:14.000Z","updated_at":"2025-04-15T17:10:17.000Z","dependencies_parsed_at":"2024-10-12T20:00:36.985Z","dependency_job_id":null,"html_url":"https://github.com/thias/glim","commit_stats":{"total_commits":230,"total_committers":7,"mean_commits":"32.857142857142854","dds":0.08695652173913049,"last_synced_commit":"8d14e2320d35fbf0da027e679cde56b07a28220a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thias%2Fglim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thias%2Fglim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thias%2Fglim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thias%2Fglim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thias","download_url":"https://codeload.github.com/thias/glim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254544146,"owners_count":22088807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boot","centos","fedora","glim","grub","grub2","iso-image","live","rhel","ubuntu","usb"],"created_at":"2024-08-01T12:05:13.243Z","updated_at":"2025-05-16T14:04:47.195Z","avatar_url":"https://github.com/thias.png","language":"Shell","readme":"GRUB2 Live ISO Multiboot\n========================\n\nhttps://github.com/thias/glim | http://glee.thias.es/GLIM\n\n\nOverview\n--------\n\nGLIM is a set of grub configuration files to turn a simple VFAT formatted USB\nmemory stick with many GNU/Linux distribution ISO images into a neat device\nfrom which many different Live environments can be used.\n\nAdvantages over extracting files or using special Live USB creation tools :\n\n * A single USB memory can hold all Live environments (the limit is its size)\n * ISO images stay available to burn real CDs or DVDs\n * ISO images are quick to manipulate (vs. hundreds+ files)\n\nDisadvantages :\n\n * There is no persistence overlay for distributions which normally support it\n * Setting up isn't as easy as a simple cat from the ISO image to a block device\n\nMy experience has been that the safest filesystem to use is FAT32\n(surprisingly!), though it will mean that ISO images greater than 4GB won't be\nsupported. Other filesystems supported by GRUB2 also work, such as ext3/ext4,\nNTFS and exFAT, but the boot of the distributions must also support it, which\nisn't the case for many with NTFS (Ubuntu does, Fedora doesn't) and exFAT\n(Ubuntu doesn't, Fedora does). So FAT32 stays the safe bet.\n\n\nScreenshots\n-----------\n\n![Main Menu](https://github.com/thias/glim/raw/master/screenshots/GLIM-3.0-shot1.png)\n![Ubuntu Submenu](https://github.com/thias/glim/raw/master/screenshots/GLIM-3.0-shot2.png)\n\n\nInstallation\n------------\n\nOnce you have your USB memory with a single partition formatted as FAT32 with\nthe filesystem label 'GLIM', mount it, clone this git repository and just run\n(as a normal user) :\n\n    ./glim.sh\n\nOnce finished, you may change the filesystem label to anything you like.\n\nThe supported `boot/iso/` sub-directories (in alphabetical order) are :\n\n[//]: # (distro-list-start)\n\n* [`almalinux`](https://almalinux.org/) - _Live Media only_\n* [`antix`](https://antixlinux.com/)\n* [`arch`](https://archlinux.org/)\n* [`artix`](https://artixlinux.org/)\n* [`bodhi`](https://www.bodhilinux.com/)\n* [`calculate`](https://wiki.calculate-linux.org/desktop)\n* ~~[`centos`](https://www.centos.org/)~~ - _Live was discontinued_\n* [`clonezilla`](https://clonezilla.org/)\n* [`debian`](https://www.debian.org/CD/live/) - _live \u0026 `mini.iso`_\n* [`elementary`](https://elementary.io/)\n* [`fedora`](https://fedoraproject.org/)\n* [`finnix`](https://www.finnix.org/)\n* [`gentoo`](https://www.gentoo.org/)\n* [`gparted`](https://gparted.org/)\n* [`grml`](https://grml.org/)\n* [`ipxe`](https://ipxe.org/) - _.iso or .efi_\n* [`kali`](https://www.kali.org/)\n* [`kubuntu`](https://kubuntu.org/)\n* [`libreelec`](https://libreelec.tv/)\n* [`linuxmint`](https://linuxmint.com/)\n* [`lubuntu`](https://lubuntu.me/)\n* [`manjaro`](https://manjaro.org/)\n* [`memtest`](https://memtest.org/) - _Only .bin/.efi, not .iso_\n* [`mxlinux`](https://mxlinux.org/)\n* [`netrunner`](https://www.netrunner.com/)\n* [`openbsd`](https://www.openbsd.org/)\n* [`opensuse`](https://www.opensuse.org/) - _Live from Alternative Downloads only_\n* [`peppermint`](https://peppermintos.com/)\n* [`popos`](https://pop.system76.com/)\n* [`porteus`](http://www.porteus.org/)\n* [`rhel`](https://www.redhat.com/rhel) - _Installation only_\n* [`rockylinux`](https://rockylinux.org/)\n* [`slitaz`](https://slitaz.org/)\n* [`supergrub2disk`](https://www.supergrubdisk.org/)\n* [`systemrescue`](https://www.system-rescue.org/)\n* [`tails`](https://tails.net/)\n* [`ubuntubudgie`](https://ubuntubudgie.org/)\n* [`ubuntu`](https://ubuntu.com/)\n* [`void`](https://voidlinux.org/)\n* [`xubuntu`](https://xubuntu.org/)\n* [`zorinos`](https://zorin.com/os/)\n\n[//]: # (distro-list-end)\n\nAny unpopulated directory will have the matching boot menu entry automatically\ndisabled, so to skip any distribution, just don't copy any files into it.\n\nDownload the right ISO image(s) to the matching directory. If you require\nboot parameter tweaks, edit the appropriate `boot/grub2/inc-*.cfg` file.\n\nItems order in the menu\n------------\n\nMenu items for a distro are ordered by modification time of the iso files\nstarting from the most recent ones. If some iso files have the same mtime, their\nmenu items are ordered alphabetically.\n\nHere is a generic idea how to keep it nicely ordered when you have multiple\nreleases of some distro:\n\n- touch your **release** iso files with the release date\n- touch your **point release** iso files with the original release date plus a\n  day per point. This is a way to ensure point releases never pop above the next\n  release like Debian 10.13.0 (released 10 Sep 2022) would still be below Debian\n  11.0.0 (released 14 August 2021)\n- in case there are multiple flavours of some iso but the version is the same,\n  touch all of them with the same date for the whole group to be ordered\n  alphabetically\n\nSample ordered menu:\n\n|                                    | iso mtime               |\n|------------------------------------|-------------------------|\n| Debian Live 12.0.0 amd64 standard  | 10 June 2023            |\n| Debian Live 11.7.0 amd64 gnome     | 14 August 2021 + 7 days |\n| Debian Live 11.7.0 amd64 kde       | 14 August 2021 + 7 days |\n| Debian Live 11.7.0 amd64 standard  | 14 August 2021 + 7 days |\n| Debian Live 11.0.0 amd64 gnome     | 14 August 2021          |\n| Debian Live 11.0.0 amd64 kde       | 14 August 2021          |\n| Debian Live 11.0.0 amd64 standard  | 14 August 2021          |\n| Debian Live 10.13.0 amd64 standard | 6 July 2019 + 13 days   |\n| Debian Live 9.13.0 amd64 standard  | 17 June 2017 + 13 days  |\n\nSpecial Cases\n-------------\n\n### iPXE\n\nThe `.iso` files don't work when booting using EFI, you simply need to use\n`.efi` files instead.\n\n### LibreELEC\n\nLibreELEC isn't provided as ISO images, nor is it able to find the `KERNEL` and\n`SYSTEM` files it needs anywhere else than at the root of a filesystem.\nBut it's useful to enable booting the installer by just copying both\nfiles to the root of the USB memory stick.\nLive booting is also supported, and the first launch will create a 512MB file\nas /STORAGE.\n\n### Memtest86+\n\nThe `.iso` file doesn't work. Use either the `.bin` or the `.efi` depending on\nthe boot mode used.\n\n### Ubuntu\n\nRecent Ubuntu desktop iso images bundle multiple versions on the Nvidia\ndriver. With that, the images are over 4GB, the FAT32 max file size. For example\n`ubuntu-20.04.6-desktop-amd64.iso` is 4.1GB, `ubuntu-22.04.2-desktop-amd64.iso`\nis 4.6GB. The driver is not required in a live system, it can be removed to make\nan image fit into 4GB. For example, with 22.04.2 image in the current dir:\n\n```\nmkdir slim\niso=ubuntu-22.04.2-desktop-amd64.iso\n\nxorriso -indev \"$iso\" -outdev slim/\"$iso\" \\\n    -boot_image any replay -rm_r /pool/restricted/{l,n} --\n```\n\nNow you can copy `slim/ubuntu-22.04.2-desktop-amd64.iso` to your FAT32 formatted\nGLIM USB stick.\n\nSome Ubuntu flavours also bundle the Nvidia driver (like Kubuntu), some don't\n(like Xubuntu). The same trick can be used with the former.\n\n\nTesting\n-------\n\nWith KVM it should \"just work\". The `/dev/sdx` device should be configured as\nan IDE or SATA disk (for some reason, as USB disk didn't work for me on Fedora\n17), that way you can easily and quickly test changes.\nMake sure you unmount the disk from the host OS before you start the KVM\nvirtual machine that uses it.\nFor UEFI testing, you'll need to use one of the `/usr/share/edk2/ovmf/*.fd`\nfirmwares.\n\n\nTroubleshooting\n---------------\n\nIf you have any problem to boot, for instance stuck at the GRUB prompt before\nthe menu, try re-installing.\nIf you have other exotic GRUB errors, such as garbage text read instead of the\nconfiguration directives, try re-formatting your USB memory from scratch.\nI've seen weird things happen...\n\n\nContributing\n------------\n\nIf you find GLIM useful but the configuration of the OS you require is missing\nor simply outdated, please feel free to contribute! What you will need is to\ncreate a GitHub pull request which includes :\n * All changes properly and fully tested.\n * New entries added similarly to the existing ones :\n   * In alphabetical order.\n   * With all possible variants supported (i.e. not just the one spin you want).\n * An original icon of high quality, and a shrunk 24x24 png version. Using\n   `convert -size 24x24 -background 'rgba(0,0,0,0)' original.svg small.png`\n   may work.\n * An updated supported directories list in this README file.\n\n\n---\nCopyleft 2012-2023 Matthias Saou http://matthias.saou.eu/\n\nAll configuration files included are public domain. Do what you want with them.\nThe invader logo was made by me, so unless the exact shape is covered by\ncopyright somewhere, do what you want with it.\nThe background is \"Wallpaper grey\" © 2008 payalnic (DeviantArt)\nThe `ascii.pf2` font comes from GRUB, which is GPLv3+ licensed. For more\ndetails as well as the source code, see http://www.gnu.org/software/grub/\n\n","funding_links":[],"categories":["Shell","HarmonyOS","ubuntu"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthias%2Fglim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthias%2Fglim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthias%2Fglim/lists"}