It has some improvements I think are worthwhile, and it did get some granular testing, but I wouldn't suggest using it in anything permanent. It's not time-tested.
Please just ignore this thread if not interested.
Linux installer changes
- Autodetects and supports GPT and MBR target disks
- Reviewed: incorporates best of fanthom's good code and the regressed newer version
- Prints helpful error messages for all failure conditions
- Reorganized into sections and commented
- Reworked and commented device<->partition logic
- No longer requires bash
- Implemented fanthom's automatic install option (-a) completely (see "minor enhancements")
- Added fallback parent device detection for util-linux <2.23 (pre-2013, lacking lsblk), with warning message
- MBR side should support the oldest util-linux on kernel.org (2.13, 2007)
- Internal script is drop-in compatible with both wrappers (Porteus' very heavyweight, very slightly buggy MakeSelf, and my mini appimagelike wrapper with checksum).
- Appimagelike wrapper only: Installs to the location of the outer installer script instead of to the user's working directory, to prevent user from mistakenly damaging his system drive.
- Command-line [-h]elp, accessible through the wrapper, with options:
- custom boot path target (defaults to the wrapper location)
- the previously-undocumented LILO MBR option (-f)
- automatic installation bypassing prompts (-a)
- Prompts before installing LILO to an unknown filesystem's boot sector (potentially corrupting the filesystem), suggesting to use -f option
- Minor enhancements
- Avoid clobbering the sanity file across instances- use unique ID
- Use getopts instead of grepping "$*"
- Automatic mode is now honored for all prompts
- Automatic mode suppresses 'clear' command to play nicer with parent scripts (e.g. cold storage builders)
- Always exit through a fail function except for success or the usage-print, for better updating/maintenance of failure codes
- More debug log fields
- Check for presence of more required commands
- Check commands with 'type' instead of 'which' ('which' is not defined in any specification; 'type' is POSIX sh built-in)
- Refactored unclear use of PRTN to avoid re-regression in future
- Removed exit delay on failure: this isn't a Windows exe console, and 1 second isn't enough to read an error message
- Removed exit trap: any cleanup is already the wrapper's responsibility
- Miscellaneous tweaks
- Split into separate MBR and GPT editions.
- Fixed Windows warning "This program might not have installed correctly" by adding the current LZMA SDK compatibility attributes to the sfx header
- Added icon resolutions up to 48 px
- GPT version shows diskpart example to help user manually set Legacy BIOS Bootable flag.
- See this warning if formatting the disk outside of Windows.
- It's possible to automate the Legacy BIOS Bootable attribute on Windows, but challenging because it would need either compiling a special-purpose C program, bundling CYGWIN sfdisk, or scripting diskpart and parsing WMI by invoking powershell, which is harder if supporting Windows 7 (PS 2). WMIC is deprecated.
- Windows utilities insert a hidden Microsoft Reserved partition at the start of any GPT format. For UEFI systems, you may want to remove it to place the ESP first. In diskpart: delete partition override
Reliability Dilemma
Clarification: You can boot BIOS and UEFI with the same GPT table, or with the same MBR table. That's according to both firmware designs but is often misunderstood. See post here.
However, a few BIOSes are 'buggy' and will refuse to boot from GPT unless you put the Active flag in the protective MBR, which in turn breaks booting on a few UEFI, which prohibit the flag.
That's the dilemma this BSD report is referring to:
https://bugs.freebsd.org/bugzilla/show_ ... =194359#c0
Contents
- Linux installer for MBR/GPT with appimagelike wrapper
- Linux installer for MBR/GPT with original MakeSelf wrapper
- Separate Windows installers for MBR and GPT
- Component files and readmes for 'building', but not with MakeSelf
- Optional 'updated' sfx header from LZMA SDK 23 with asm patch/instructions.
Download
always current
https://drive.google.com/file/d/1PC04Yz ... drive_link
Updates
2024/04/04:
* Fixed typos in doc
* Improve error message for outdated (MBR-only) sfdisk, instructing user to upgrade their util-linux package.
* Avoid MakeSelf's broken ARCHIVE_DIR by using its USER_PWD when available, and ORIGIN_DIR from appimagelike wrapper otherwise.