From 77d71d5ecfa5bc7dfef551c916646bc3fa41e5da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Thu, 12 Oct 2023 16:28:33 +0000 Subject: [PATCH 1/5] README reworked --- README.md | 135 ++++++++++++++++++++++++++---------------------------- 1 file changed, 66 insertions(+), 69 deletions(-) diff --git a/README.md b/README.md index d1d7bd4..e43d192 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ GRUB2 Live ISO Multiboot ======================== -https://github.com/thias/glim | http://glee.thias.es/GLIM +https://github.com/thias/glim | https://glee.thias.es/GLIM Overview @@ -9,25 +9,23 @@ Overview GLIM is a set of grub configuration files to turn a simple VFAT formatted USB memory stick with many GNU/Linux distribution ISO images into a neat device -from which many different Live environments can be used. +from which many different live environments can be used. -Advantages over extracting files or using special Live USB creation tools : +Advantages over extracting files or using special live USB creation tools: * A single USB memory can hold all Live environments (the limit is its size) * ISO images stay available to burn real CDs or DVDs * ISO images are quick to manipulate (vs. hundreds+ files) -Disadvantages : +Disadvantages: * There is no persistence overlay for distributions which normally support it * Setting up isn't as easy as a simple cat from the ISO image to a block device -My experience has been that the safest filesystem to use is FAT32 -(surprisingly!), though it will mean that ISO images greater than 4GB won't be -supported. Other filesystems supported by GRUB2 also work, such as ext3/ext4, -NTFS and exFAT, but the boot of the distributions must also support it, which -isn't the case for many with NTFS (Ubuntu does, Fedora doesn't) and exFAT -(Ubuntu doesn't, Fedora does). So FAT32 stays the safe bet. +The safest filesystem to use is FAT32 (surprisingly!), though it means no 4 GB+ ISOs. +Other filesystems supported by GRUB 2 also work, such as ext3/ext4, +NTFS and exFAT, but the boot of the distributions must also support it, +so no Fedora, but Ubuntu support on NTFS, and the opposite with exFAT. Screenshots @@ -40,15 +38,15 @@ Screenshots Installation ------------ -Once you have your USB memory with a single partition formatted as FAT32 with -the filesystem label 'GLIM', mount it, clone this git repository and just run -(as a normal user) : +Once your USB memory has a single partition formatted as FAT32 with +the filesystem label 'GLIM', mount it, clone this Git repository and +just run (as a normal user): ./glim.sh Once finished, you may change the filesystem label to anything you like. -The supported `boot/iso/` sub-directories (in alphabetical order) are : +The supported `boot/iso/` sub-directories (in A–Z order) are: [//]: # (distro-list-start) @@ -92,41 +90,41 @@ The supported `boot/iso/` sub-directories (in alphabetical order) are : [//]: # (distro-list-end) -Any unpopulated directory will have the matching boot menu entry automatically -disabled, so to skip any distribution, just don't copy any files into it. +Unpopulated directories turns its matching boot menu entry off, +so skip any distribution by not copying any files into it. -Download the right ISO image(s) to the matching directory. If you require -boot parameter tweaks, edit the appropriate `boot/grub2/inc-*.cfg` file. +Download the right ISO image(s) to the matching directory. +If you require boot parameter tweaks, edit the appropriate +`boot/grub2/inc-*.cfg` file. -Items order in the menu ------------- +Item order in the menu +---------------------- -Menu items for a distro are ordered by modification time of the iso files -starting from the most recent ones. If some iso files have the same mtime, their -menu items are ordered alphabetically. +Distros as menu items are ordered by the modification time of their ISO files, +starting with the most recent. If some ISO files have the same mtime, +their menu items are ordered A–Z. -Here is a generic idea how to keep it nicely ordered when you have multiple +Here is a generic idea of how to keep it nicely ordered with multiple releases of some distro: -- touch your **release** iso files with the release date -- touch your **point release** iso files with the original release date plus a +- Touch your **release** ISO files with the release date +- Touch your **point release** ISO files with the original release date, plus a day per point. This is a way to ensure point releases never pop above the next release like Debian 10.13.0 (released 10 Sep 2022) would still be below Debian - 11.0.0 (released 14 August 2021) -- in case there are multiple flavours of some iso but the version is the same, - touch all of them with the same date for the whole group to be ordered - alphabetically - -Sample ordered menu: + 11.0.0 (released 14 Aug 2021) +- In case there are multiple flavours of some ISO, but the version is the same + —touch all of them with the same date to order the whole group A–Z + +Sample-ordered menu: -| | iso mtime | +| | ISO mtime | |------------------------------------|-------------------------| | Debian Live 12.0.0 amd64 standard | 10 June 2023 | -| Debian Live 11.7.0 amd64 gnome | 14 August 2021 + 7 days | -| Debian Live 11.7.0 amd64 kde | 14 August 2021 + 7 days | +| Debian Live 11.7.0 amd64 GNOME | 14 August 2021 + 7 days | +| Debian Live 11.7.0 amd64 KDE | 14 August 2021 + 7 days | | Debian Live 11.7.0 amd64 standard | 14 August 2021 + 7 days | -| Debian Live 11.0.0 amd64 gnome | 14 August 2021 | -| Debian Live 11.0.0 amd64 kde | 14 August 2021 | +| Debian Live 11.0.0 amd64 GNOME | 14 August 2021 | +| Debian Live 11.0.0 amd64 KDE | 14 August 2021 | | Debian Live 11.0.0 amd64 standard | 14 August 2021 | | Debian Live 10.13.0 amd64 standard | 6 July 2019 + 13 days | | Debian Live 9.13.0 amd64 standard | 17 June 2017 + 13 days | @@ -141,25 +139,25 @@ The `.iso` files don't work when booting using EFI, you simply need to use ### LibreELEC -LibreELEC isn't provided as ISO images, nor is it able to find the `KERNEL` and +LibreELEC provide no ISO images, nor is able to find the `KERNEL` and `SYSTEM` files it needs anywhere else than 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. +Live booting is also supported, and the first launch will create a 512 MB +file as /STORAGE. ### Memtest86+ -The `.iso` file doesn't work. Use either the `.bin` or the `.efi` depending on -the boot mode used. +The `.iso` file doesn't work. +Use either the `.bin` or the `.efi` depending on the boot mode used. ### Ubuntu -Recent Ubuntu desktop iso images bundle multiple versions on the Nvidia -driver. With that, the images are over 4GB, the FAT32 max file size. For example -`ubuntu-20.04.6-desktop-amd64.iso` is 4.1GB, `ubuntu-22.04.2-desktop-amd64.iso` -is 4.6GB. The driver is not required in a live system, it can be removed to make -an image fit into 4GB. For example, with 22.04.2 image in the current dir: +Recent Ubuntu desktop ISO images bundle multiple versions on the Nvidia +driver. With that, the images are 4 GB+, the max FAT32 file size. For example +`ubuntu-20.04.6-desktop-amd64.iso` is 4.1 GB, `ubuntu-22.04.2-desktop-amd64.iso` is 4.6 GB. +The driver is not required in a live system. Removing it can make an image fit into 4 GB. +For example, with 22.04.2 image in the current dir: ``` mkdir slim @@ -169,58 +167,57 @@ xorriso -indev "$iso" -outdev slim/"$iso" \ -boot_image any replay -rm_r /pool/restricted/{l,n} -- ``` -Now you can copy `slim/ubuntu-22.04.2-desktop-amd64.iso` to your FAT32 formatted +Now you can copy `slim/ubuntu-22.04.2-desktop-amd64.iso` to your FAT32-formatted GLIM USB stick. -Some Ubuntu flavours also bundle the Nvidia driver (like Kubuntu), some don't -(like Xubuntu). The same trick can be used with the former. +Some Ubuntus bundle the Nvidia driver (like Kubuntu), some don't (like Xubuntu). +The same trick can be used with the former. Testing ------- With KVM it should "just work". The `/dev/sdx` device should be configured as -an IDE or SATA disk (for some reason, as USB disk didn't work for me on Fedora +an IDE or SATA disk (for some reason, as USB disk doesn't work on Fedora 17), that way you can easily and quickly test changes. -Make sure you unmount the disk from the host OS before you start the KVM +Ensure you unmount the disk from the host OS before starting the KVM virtual machine that uses it. -For UEFI testing, you'll need to use one of the `/usr/share/edk2/ovmf/*.fd` +For UEFI testing, you need to use one of the `/usr/share/edk2/ovmf/*.fd` firmwares. Troubleshooting --------------- -If you have any problem to boot, for instance stuck at the GRUB prompt before +If you have any problem booting, for instance being stuck at the GRUB prompt before the menu, try re-installing. If you have other exotic GRUB errors, such as garbage text read instead of the -configuration directives, try re-formatting your USB memory from scratch. -I've seen weird things happen... - +configuration directives, try re-formatting your USB memory from scratch +and/or persist in your belief that you are of sound mind should strangeness +increase or continue. Contributing ------------ -If you find GLIM useful but the configuration of the OS you require is missing -or simply outdated, please feel free to contribute! What you will need is to -create a GitHub pull request which includes : +If you find GLIM useful, but the configuration of the OS you picked is missing +or simply outdated, please contribute! +Create a GitHub pull request including: * All changes properly and fully tested. - * New entries added similarly to the existing ones : - * In alphabetical order. + * New entries added similarly to the existing ones: + * In A–Z order. * With all possible variants supported (i.e. not just the one spin you want). - * An original icon of high quality, and a shrunk 24x24 png version. Using + * An original icon of high quality, and a shrunk 24x24 PNG version. Using `convert -size 24x24 -background 'rgba(0,0,0,0)' original.svg small.png` may work. * An updated supported directories list in this README file. --- -Copyleft 2012-2023 Matthias Saou http://matthias.saou.eu/ +Copyleft 🄯 2012–2023 Matthias Saou https://matthias.saou.eu/ -All configuration files included are public domain. Do what you want with them. -The invader logo was made by me, so unless the exact shape is covered by +All configuration files included are public domain. +The invader logo was made by me, so unless covered by copyright somewhere, do what you want with it. The background is "Wallpaper grey" © 2008 payalnic (DeviantArt) -The `ascii.pf2` font comes from GRUB, which is GPLv3+ licensed. For more -details as well as the source code, see http://www.gnu.org/software/grub/ - +The `ascii.pf2` font comes from GRUB, which is GPLv3+ licensed. +More details and source code on https://www.gnu.org/software/grub/ From b65e5fb4ec0704525bc1a07321c9807767714092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Tue, 17 Oct 2023 21:12:53 +0000 Subject: [PATCH 2/5] The changes are having a small day --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e43d192..9b5bf18 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ The supported `boot/iso/` sub-directories (in A–Z order) are: [//]: # (distro-list-end) -Unpopulated directories turns its matching boot menu entry off, +Unpopulated directories turns off the matching boot menu entry, so skip any distribution by not copying any files into it. Download the right ISO image(s) to the matching directory. @@ -107,13 +107,13 @@ their menu items are ordered A–Z. Here is a generic idea of how to keep it nicely ordered with multiple releases of some distro: -- Touch your **release** ISO files with the release date -- Touch your **point release** ISO files with the original release date, plus a +- `touch` your **release** ISO files with the release date +- `touch` your **point release** ISO files with the original release date, plus a day per point. This is a way to ensure point releases never pop above the next release like Debian 10.13.0 (released 10 Sep 2022) would still be below Debian 11.0.0 (released 14 Aug 2021) - In case there are multiple flavours of some ISO, but the version is the same - —touch all of them with the same date to order the whole group A–Z + `touch` all of them with the same date to order the whole group A–Z Sample-ordered menu: @@ -140,7 +140,7 @@ The `.iso` files don't work when booting using EFI, you simply need to use ### LibreELEC LibreELEC provide no ISO images, nor is able to find the `KERNEL` and -`SYSTEM` files it needs anywhere else than at the root of a filesystem. +`SYSTEM` files it needs, other than if placed 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 512 MB From 4c64127fa655c06746e9b3de7608f853aa109a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Tue, 17 Oct 2023 21:26:06 +0000 Subject: [PATCH 3/5] Newlines --- README.md | 96 +++++++++++++++++++++++++++---------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 9b5bf18..9122278 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ https://github.com/thias/glim | https://glee.thias.es/GLIM Overview -------- -GLIM is a set of grub configuration files to turn a simple VFAT formatted USB -memory stick with many GNU/Linux distribution ISO images into a neat device +GLIM is a set of grub configuration files to turn a simple VFAT formatted USB \ +memory stick with many GNU/Linux distribution ISO images into a neat device \ from which many different live environments can be used. Advantages over extracting files or using special live USB creation tools: @@ -22,9 +22,9 @@ Disadvantages: * There is no persistence overlay for distributions which normally support it * Setting up isn't as easy as a simple cat from the ISO image to a block device -The safest filesystem to use is FAT32 (surprisingly!), though it means no 4 GB+ ISOs. -Other filesystems supported by GRUB 2 also work, such as ext3/ext4, -NTFS and exFAT, but the boot of the distributions must also support it, +The safest filesystem to use is FAT32 (surprisingly!), though it means no 4 GB+ ISOs. \ +Other filesystems supported by GRUB 2 also work, such as ext3/ext4, \ +NTFS and exFAT, but the boot of the distributions must also support it, \ so no Fedora, but Ubuntu support on NTFS, and the opposite with exFAT. @@ -38,8 +38,8 @@ Screenshots Installation ------------ -Once your USB memory has a single partition formatted as FAT32 with -the filesystem label 'GLIM', mount it, clone this Git repository and +Once your USB memory has a single partition formatted as FAT32 with \ +the filesystem label 'GLIM', mount it, clone this Git repository and \ just run (as a normal user): ./glim.sh @@ -90,29 +90,29 @@ The supported `boot/iso/` sub-directories (in A–Z order) are: [//]: # (distro-list-end) -Unpopulated directories turns off the matching boot menu entry, +Unpopulated directories turns off the matching boot menu entry, \ so skip any distribution by not copying any files into it. -Download the right ISO image(s) to the matching directory. +Download the right ISO image(s) to the matching directory. \ If you require boot parameter tweaks, edit the appropriate `boot/grub2/inc-*.cfg` file. Item order in the menu ---------------------- -Distros as menu items are ordered by the modification time of their ISO files, -starting with the most recent. If some ISO files have the same mtime, +Distros as menu items are ordered by the modification time of their ISO files, \ +starting with the most recent. If some ISO files have the same mtime, \ their menu items are ordered A–Z. -Here is a generic idea of how to keep it nicely ordered with multiple +Here is a generic idea of how to keep it nicely ordered with multiple \ releases of some distro: - `touch` your **release** ISO files with the release date -- `touch` your **point release** ISO files with the original release date, plus a - day per point. This is a way to ensure point releases never pop above the next - release like Debian 10.13.0 (released 10 Sep 2022) would still be below Debian +- `touch` your **point release** ISO files with the original release date, plus a \ + day per point. This is a way to ensure point releases never pop above the next \ + release like Debian 10.13.0 (released 10 Sep 2022) would still be below Debian \ 11.0.0 (released 14 Aug 2021) -- In case there are multiple flavours of some ISO, but the version is the same +- In case there are multiple flavours of some ISO, but the version is the same \ `touch` all of them with the same date to order the whole group A–Z Sample-ordered menu: @@ -134,29 +134,29 @@ Special Cases ### iPXE -The `.iso` files don't work when booting using EFI, you simply need to use +The `.iso` files don't work when booting using EFI, you simply need to use \ `.efi` files instead. ### LibreELEC -LibreELEC provide no ISO images, nor is able to find the `KERNEL` and -`SYSTEM` files it needs, other than if placed 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 512 MB +LibreELEC provide no ISO images, nor is able to find the `KERNEL` and \ +`SYSTEM` files it needs, other than if placed 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 512 MB \ file as /STORAGE. ### Memtest86+ -The `.iso` file doesn't work. +The `.iso` file doesn't work. \ Use either the `.bin` or the `.efi` depending on the boot mode used. ### Ubuntu -Recent Ubuntu desktop ISO images bundle multiple versions on the Nvidia -driver. With that, the images are 4 GB+, the max FAT32 file size. For example -`ubuntu-20.04.6-desktop-amd64.iso` is 4.1 GB, `ubuntu-22.04.2-desktop-amd64.iso` is 4.6 GB. -The driver is not required in a live system. Removing it can make an image fit into 4 GB. +Recent Ubuntu desktop ISO images bundle multiple versions on the Nvidia \ +driver. With that, the images are 4 GB+, the max FAT32 file size. For example \ +`ubuntu-20.04.6-desktop-amd64.iso` is 4.1 GB, `ubuntu-22.04.2-desktop-amd64.iso` is 4.6 GB. \ +The driver is not required in a live system. Removing it can make an image fit into 4 GB. \ For example, with 22.04.2 image in the current dir: ``` @@ -167,46 +167,46 @@ xorriso -indev "$iso" -outdev slim/"$iso" \ -boot_image any replay -rm_r /pool/restricted/{l,n} -- ``` -Now you can copy `slim/ubuntu-22.04.2-desktop-amd64.iso` to your FAT32-formatted +Now you can copy `slim/ubuntu-22.04.2-desktop-amd64.iso` to your FAT32-formatted \ GLIM USB stick. -Some Ubuntus bundle the Nvidia driver (like Kubuntu), some don't (like Xubuntu). +Some Ubuntus bundle the Nvidia driver (like Kubuntu), some don't (like Xubuntu). \ The same trick can be used with the former. Testing ------- -With KVM it should "just work". The `/dev/sdx` device should be configured as -an IDE or SATA disk (for some reason, as USB disk doesn't work on Fedora -17), that way you can easily and quickly test changes. -Ensure you unmount the disk from the host OS before starting the KVM -virtual machine that uses it. -For UEFI testing, you need to use one of the `/usr/share/edk2/ovmf/*.fd` +With KVM it should "just work". The `/dev/sdx` device should be configured as \ +an IDE or SATA disk (for some reason, as USB disk doesn't work on Fedora \ +17), that way you can easily and quickly test changes. \ +Ensure you unmount the disk from the host OS before starting the KVM \ +virtual machine that uses it. \ +For UEFI testing, you need to use one of the `/usr/share/edk2/ovmf/*.fd` \ firmwares. Troubleshooting --------------- -If you have any problem booting, for instance being stuck at the GRUB prompt before -the menu, try re-installing. -If you have other exotic GRUB errors, such as garbage text read instead of the -configuration directives, try re-formatting your USB memory from scratch -and/or persist in your belief that you are of sound mind should strangeness +If you have any problem booting, for instance being stuck \ +at the GRUB prompt before the menu, try re-installing. \ +If you have other exotic GRUB errors, such as garbage text read instead of \ +the configuration directives, try re-formatting your USB memory from scratch \ +and/or persist in your belief that you are of sound mind should strangeness \ increase or continue. Contributing ------------ -If you find GLIM useful, but the configuration of the OS you picked is missing -or simply outdated, please contribute! +If you find GLIM useful, but the configuration of the OS you picked is missing \ +or simply outdated, please contribute! \ Create a GitHub pull request including: * All changes properly and fully tested. * New entries added similarly to the existing ones: * In A–Z order. * With all possible variants supported (i.e. not just the one spin you want). - * An original icon of high quality, and a shrunk 24x24 PNG version. Using + * An original icon of high quality, and a shrunk 24x24 PNG version. Using \ `convert -size 24x24 -background 'rgba(0,0,0,0)' original.svg small.png` may work. * An updated supported directories list in this README file. @@ -215,9 +215,9 @@ Create a GitHub pull request including: --- Copyleft 🄯 2012–2023 Matthias Saou https://matthias.saou.eu/ -All configuration files included are public domain. -The invader logo was made by me, so unless covered by -copyright somewhere, do what you want with it. -The background is "Wallpaper grey" © 2008 payalnic (DeviantArt) -The `ascii.pf2` font comes from GRUB, which is GPLv3+ licensed. +All configuration files included are public domain. \ +The invader logo was made by me, so unless covered by \ +copyright somewhere, do what you want with it. \ +The background is "Wallpaper grey" © 2008 payalnic (DeviantArt) \ +The `ascii.pf2` font comes from GRUB, which is GPLv3+ licensed. \ More details and source code on https://www.gnu.org/software/grub/ From cfc34532a6971d892b383f8b646ea54281f76cbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Fri, 20 Oct 2023 18:32:01 +0000 Subject: [PATCH 4/5] Boot-menu entries are not shown --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9122278..d92988d 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ The supported `boot/iso/` sub-directories (in A–Z order) are: [//]: # (distro-list-end) -Unpopulated directories turns off the matching boot menu entry, \ +Boot-menu entries are not shown when their respective folders are empty, \ so skip any distribution by not copying any files into it. Download the right ISO image(s) to the matching directory. \ From 6bfd4fa0d0b94511424d5dbcc7e829eaee10c2c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Fri, 20 Oct 2023 19:38:32 +0000 Subject: [PATCH 5/5] All simplified. LibreELEC removed. --- README.md | 134 +++++++++++++++++++++++------------------------------- 1 file changed, 58 insertions(+), 76 deletions(-) diff --git a/README.md b/README.md index d92988d..9ff7b65 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -GRUB2 Live ISO Multiboot -======================== +GLIM — GRUB2 Live ISO Multiboot +=============================== https://github.com/thias/glim | https://glee.thias.es/GLIM @@ -7,26 +7,26 @@ https://github.com/thias/glim | https://glee.thias.es/GLIM Overview -------- -GLIM is a set of grub configuration files to turn a simple VFAT formatted USB \ -memory stick with many GNU/Linux distribution ISO images into a neat device \ -from which many different live environments can be used. +_Boot many differetn GNU/Linux live environments by putting their ISOs onto VFAT-formatted USB memory_. -Advantages over extracting files or using special live USB creation tools: - - * A single USB memory can hold all Live environments (the limit is its size) - * ISO images stay available to burn real CDs or DVDs - * ISO images are quick to manipulate (vs. hundreds+ files) + * A single USB memory can hold all live environments (the limit is its size). + * ISOs stay available to burn real CDs or DVDs. + * One file per distro is easy to handle (vs. 100+ files in the images). + * No files to extract. + * No special live USB-creation tools. Disadvantages: - * There is no persistence overlay for distributions which normally support it - * Setting up isn't as easy as a simple cat from the ISO image to a block device - -The safest filesystem to use is FAT32 (surprisingly!), though it means no 4 GB+ ISOs. \ -Other filesystems supported by GRUB 2 also work, such as ext3/ext4, \ -NTFS and exFAT, but the boot of the distributions must also support it, \ -so no Fedora, but Ubuntu support on NTFS, and the opposite with exFAT. + * Each distro needs support as specific GRUB configuration files in GLIM. \ + * No persistent files for distributions which normally support it, \ + so putting aside space on the installation media for files that \ + survive a reboot (in for example Ubuntu) will not work. + * Setting up isn't as easy as a simple `cat` from the ISO image to a block device. +FAT32 is the safest filesystem, though it means no 4 GB+ ISOs. \ +Ext3/ext4 and other filesystems supported by GRUB 2 also work. \ +\*exFAT means no Ubuntu, but Fedora works. \ +\*NTFS means no Fedora, but Ubuntu works. Screenshots ----------- @@ -34,7 +34,6 @@ Screenshots ![Main Menu](https://github.com/thias/glim/raw/master/screenshots/GLIM-3.0-shot1.png) ![Ubuntu Submenu](https://github.com/thias/glim/raw/master/screenshots/GLIM-3.0-shot2.png) - Installation ------------ @@ -44,10 +43,9 @@ just run (as a normal user): ./glim.sh -Once finished, you may change the filesystem label to anything you like. - -The supported `boot/iso/` sub-directories (in A–Z order) are: +Once finished, optionally change the filesystem label. +The supported `boot/iso/` sub-directories (in A–Z order): [//]: # (distro-list-start) * [`almalinux`](https://almalinux.org/) - _Live Media_ only @@ -68,7 +66,7 @@ The supported `boot/iso/` sub-directories (in A–Z order) are: * [`ipxe`](https://ipxe.org/) * [`kali`](https://www.kali.org/) * [`kubuntu`](https://kubuntu.org/) -* [`libreelec`](https://libreelec.tv/) +* ~~[`libreelec`](https://libreelec.tv/)~~ - currently broken * [`linuxmint`](https://linuxmint.com/) * [`lubuntu`](https://lubuntu.me/) * [`manjaro`](https://manjaro.org/) @@ -93,28 +91,25 @@ The supported `boot/iso/` sub-directories (in A–Z order) are: Boot-menu entries are not shown when their respective folders are empty, \ so skip any distribution by not copying any files into it. -Download the right ISO image(s) to the matching directory. \ -If you require boot parameter tweaks, edit the appropriate +Download the ISO image(s) to the respective matching directory. \ +Optionally, add boot parameter tweaks by editing the respective `boot/grub2/inc-*.cfg` file. Item order in the menu ---------------------- -Distros as menu items are ordered by the modification time of their ISO files, \ -starting with the most recent. If some ISO files have the same mtime, \ -their menu items are ordered A–Z. - -Here is a generic idea of how to keep it nicely ordered with multiple \ -releases of some distro: - -- `touch` your **release** ISO files with the release date -- `touch` your **point release** ISO files with the original release date, plus a \ - day per point. This is a way to ensure point releases never pop above the next \ - release like Debian 10.13.0 (released 10 Sep 2022) would still be below Debian \ - 11.0.0 (released 14 Aug 2021) -- In case there are multiple flavours of some ISO, but the version is the same \ - `touch` all of them with the same date to order the whole group A–Z - +More recently edited ISO-files are listed first, and otherwise A–Z. + +Kep it nicely ordered if you have multiple releases of a distro: + +- Order by release date: `touch` your **release** ISO files with the release date. +- Prevent point releases from being listed above their successors: + `touch` the **point release** (for example Debian 10.13.0 (released 10 Sep 2022) + ISO files with the original release date, plus a day per point + to keep it below newer Debian releases (like 11.0.0 (released 14 Aug 2021). +- Order anything A–Z: `touch` many ISOs with the same date to list them alphabetically. + Useful for multiple flavours of one version of an ISO . + Sample-ordered menu: | | ISO mtime | @@ -134,29 +129,19 @@ Special Cases ### iPXE -The `.iso` files don't work when booting using EFI, you simply need to use \ -`.efi` files instead. - -### LibreELEC - -LibreELEC provide no ISO images, nor is able to find the `KERNEL` and \ -`SYSTEM` files it needs, other than if placed 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 512 MB \ -file as /STORAGE. +Use `.efi` files, as`.iso` files don't work when booting in EFI mode. ### Memtest86+ -The `.iso` file doesn't work. \ -Use either the `.bin` or the `.efi` depending on the boot mode used. +Use either the `.bin` or the `.efi` depending on the boot mode used, \ +as the The `.iso` file doesn't work. ### Ubuntu -Recent Ubuntu desktop ISO images bundle multiple versions on the Nvidia \ -driver. With that, the images are 4 GB+, the max FAT32 file size. For example \ +Removing the multiple Nvidia driver versions in recent Ubuntu desktop ISOs \ +can help fit images into the 4 GiB allowed on FAT32 file systems. `ubuntu-20.04.6-desktop-amd64.iso` is 4.1 GB, `ubuntu-22.04.2-desktop-amd64.iso` is 4.6 GB. \ -The driver is not required in a live system. Removing it can make an image fit into 4 GB. \ +(The driver is not required in a live system.) \ For example, with 22.04.2 image in the current dir: ``` @@ -167,50 +152,47 @@ xorriso -indev "$iso" -outdev slim/"$iso" \ -boot_image any replay -rm_r /pool/restricted/{l,n} -- ``` -Now you can copy `slim/ubuntu-22.04.2-desktop-amd64.iso` to your FAT32-formatted \ -GLIM USB stick. - -Some Ubuntus bundle the Nvidia driver (like Kubuntu), some don't (like Xubuntu). \ -The same trick can be used with the former. +Then copy new `slim/ubuntu-22.04.2-desktop-amd64.iso` to your FAT32-formatted \ +GLIM USB-stick. +It also works for Kubuntu, \ +but not with Xubuntu which does not have multiple Nvidia-driver versions. Testing ------- -With KVM it should "just work". The `/dev/sdx` device should be configured as \ -an IDE or SATA disk (for some reason, as USB disk doesn't work on Fedora \ -17), that way you can easily and quickly test changes. \ +With KVM it should "just work". \ +The `/dev/sdx` device should be configured as an IDE or SATA disk, \ +that way you can easily and quickly test changes. \ +(For some reason, as USB disk doesn't work on Fedora 17) \ Ensure you unmount the disk from the host OS before starting the KVM \ virtual machine that uses it. \ For UEFI testing, you need to use one of the `/usr/share/edk2/ovmf/*.fd` \ firmwares. - Troubleshooting --------------- -If you have any problem booting, for instance being stuck \ -at the GRUB prompt before the menu, try re-installing. \ -If you have other exotic GRUB errors, such as garbage text read instead of \ -the configuration directives, try re-formatting your USB memory from scratch \ +Try re-installing if booting is stuck at the GRUB prompt (before the GLIM menu). \ +Re-format your USB memory from scratch for other exotic GRUB errors, \ +such as garbage text read instead of the configuration directives, \ and/or persist in your belief that you are of sound mind should strangeness \ increase or continue. Contributing ------------ -If you find GLIM useful, but the configuration of the OS you picked is missing \ -or simply outdated, please contribute! \ -Create a GitHub pull request including: +Add the configuration file for missing or outdated OSes: + +Create a GitHub PR including: * All changes properly and fully tested. * New entries added similarly to the existing ones: - * In A–Z order. - * With all possible variants supported (i.e. not just the one spin you want). - * An original icon of high quality, and a shrunk 24x24 PNG version. Using \ + * In A–Z order. \ + With all possible variants supported (i.e. not just the one spin you want). + * An original icon of high quality, and a shrunk 24x24 PNG version. \ `convert -size 24x24 -background 'rgba(0,0,0,0)' original.svg small.png` may work. - * An updated supported directories list in this README file. - + * An updated supported directory list in this README file. --- Copyleft 🄯 2012–2023 Matthias Saou https://matthias.saou.eu/