Add support for >4GB ISO by optionally supporting a second partition. Plus other small improvements.#131
Open
cshandley-uk wants to merge 23 commits intothias:masterfrom
Open
Add support for >4GB ISO by optionally supporting a second partition. Plus other small improvements.#131cshandley-uk wants to merge 23 commits intothias:masterfrom
cshandley-uk wants to merge 23 commits intothias:masterfrom
Conversation
… there are more partitions.
…g default from Y to N, and putting a blank line before it. Allow all Y/N answers to be case insensitive.
…alling EFI without BIOS in case they don't have a BIOS Boot Partition.
…ther than silently failing). Ensure sensible behaviour if fdisk has unexpected output.
…extra BIOS Boot partition if installing for BIOS.
…not even clear if the pull request will be accepted. Also add two commented-out lines to add LVM & BTRFS support.
… detected. (Thanks to eugenesan.)
… GLIM partitions. (Thanks to eugenesan.)
…T & partitioning explanation
Comment on lines
30
to
+55
| probe --set rootuuid --fs-uuid $root | ||
|
|
||
| # Detect which partition the ISOs are stored on | ||
| set isopath=/iso | ||
| insmod part_msdos | ||
| insmod part_gpt | ||
| insmod exfat | ||
| insmod ext2 | ||
| insmod ntfs | ||
| #insmod btrfs | ||
| #insmod lvm | ||
| insmod regexp | ||
| echo "Boot partition: ${root}" | ||
| #set hdnum=0 | ||
| regexp --set 1:hdnum "^hd([0-9]+),.*" "${root}" | ||
| echo "Boot disk: hd${hdnum}" | ||
| for pnum in 0 1 2 3 4 5 6 7 8 9; do | ||
| if [ -e (hd${hdnum},gpt${pnum})${isopath} ]; then | ||
| set root="(hd${hdnum},gpt${pnum})" | ||
| break | ||
| elif [ -e (hd${hdnum},msdos${pnum})${isopath} ]; then | ||
| set root="(hd${hdnum},msdos${pnum})" | ||
| break | ||
| fi | ||
| done | ||
| echo "ISO partition: ${root}" |
There was a problem hiding this comment.
Hi, I installed this and noticed that you need to run probe --set rootuuid --fs-uuid $root again after updating root so Arch Linux can boot. This is because Arch tries to copy the iso to memory and fails to find the iso if the uuid is not updated. After this patch, it seems to run just fine.
|
I would suggest splitting this PR up into multiple PR's. It's less work to examine them that way and they will get merged easier. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Like many people, I've been desperately looking for something to replace Ventoy (due to it's huge number of mystery binary blobs, opaque build process & foreign origin), and GLIM came really close - it just didn't support ISOs >4GB. I've been able to solve that major limitation by adding support for a second partition that uses (say) Ext4. I've tried to keep to the style of your source code, made my changes as small as possible, and split the changes into small commits so you easily see what I've done & why.
I have also made some other small improvements which I hope you won't object to:
I've tested all these changes as much as I can, on a real physical machine (no VM).