Merge branch 'master' into 0.3_backports

This commit is contained in:
Saverio Miroddi 2021-06-14 17:42:07 +02:00
commit 72e728fab2
2 changed files with 1636 additions and 19 deletions

View File

@ -2,13 +2,13 @@
# zfs-installer # zfs-installer
ZFS installer is a shell script program that fully prepares ZFS on a system, and allows an effortless installation of several Debian-based operating systems using their standard installer (or debootstrap, or any custom script). ZFS installer is a shell script program that fully prepares ZFS on a system, and allows an effortless installation of several Ubuntu-based operating systems using their standard installer (or debootstrap, or any custom script).
- [Status](#status)
- [Requirements and functionality](#requirements-and-functionality) - [Requirements and functionality](#requirements-and-functionality)
- [Comparison with Ubuntu built-in installer](#comparison-with-ubuntu-built-in-installer) - [Comparison with Ubuntu built-in installer](#comparison-with-ubuntu-built-in-installer)
- [Instructions](#instructions) - [Instructions](#instructions)
- [Ubuntu Server](#ubuntu-server) - [Ubuntu Server](#ubuntu-server)
- [Stability](#stability)
- [Demo](#demo) - [Demo](#demo)
- [Unsupported systems/Issues](#unsupported-systemsissues) - [Unsupported systems/Issues](#unsupported-systemsissues)
- [Unattended installations](#unattended-installations) - [Unattended installations](#unattended-installations)
@ -16,21 +16,6 @@ ZFS installer is a shell script program that fully prepares ZFS on a system, and
- [Help](#help) - [Help](#help)
- [Credits](#credits) - [Credits](#credits)
## Status
**WARNING: THIS PROJECT HAS BEEN PUT ON HOLD, AND IT'S NOT STABLE ANYMORE**
Working on this type of program is extremely time consuming, for a few reasons:
1. installers are sometimes updated (even within the same Ubuntu patch version), breaking the program in unpredictable ways;
2. the problem above is compounded by different distros having minor differences in configuration, which again, break the program;
3. it's not possible to automate the testing without a considerably sophisticated tool (which should, in theory, perform the operations on the Ubiquity GUI; this is also impossible for Ubuntu Server); while debootstrap installations can be programmatically tested, the bulk of the bugs are related to the GUI installer
4. I'm the only developer actively working on the project; the ZFS are collaborating with Canonical, and, while the outcome is highly desirable for ZFS, it makes manual execution the only option for even minor customization
Therefore, I'm closing this project. I may keep developing in order to support my home installation, but I can't give any guarantee.
I'm open to PR, though.
## Requirements and functionality ## Requirements and functionality
The program currently supports: The program currently supports:
@ -38,7 +23,6 @@ The program currently supports:
- Ubuntu Desktop 18.04.x/20.04 Live - Ubuntu Desktop 18.04.x/20.04 Live
- Ubuntu Server 18.04.x/20.04 Live - Ubuntu Server 18.04.x/20.04 Live
- Linux Mint 19.x, 20 - Linux Mint 19.x, 20
- Debian 10.x Live (desktop environment required)
- ElementaryOS 5.1 - ElementaryOS 5.1
The ZFS version installed is 0.8 (optionally, 2.x), which supports native encryption and trimming (among the other improvements over 0.7). The required repositories are automatically added to the destination system. The ZFS version installed is 0.8 (optionally, 2.x), which supports native encryption and trimming (among the other improvements over 0.7). The required repositories are automatically added to the destination system.
@ -47,7 +31,7 @@ EFI boot is required (any modern (2011+) system will do); legacy boot is current
All the ZFS RAID types are supported, with any arbitrary number of disks. An EFI partition is created on each disk, for redundancy purposes. All the ZFS RAID types are supported, with any arbitrary number of disks. An EFI partition is created on each disk, for redundancy purposes.
It's fairly easy to extend the program to support other Debian-based operating systems (e.g. older/newer Ubuntu's, etc.) - the project is (very) open to feature requests. It's fairly easy to extend the program to support other Ubuntu-based operating systems - the project is open to feature requests.
## Comparison with Ubuntu built-in installer ## Comparison with Ubuntu built-in installer
@ -82,6 +66,16 @@ Ubuntu Server requires a slightly different execution procedure:
then follow the instructions. then follow the instructions.
## Stability
The project is carefully developed, however, it's practically impossible to guarantee continuous stability, for two reasons:
1. Linux distributions frequently apply small changes to their installers, even on the same distribution version,
1. automated testing is not feasible; although debootstrap installations could be automated, the bulk of the work is related to the installers, which can't be automated without sophisticated GUI automation,
1. testing is time consuming, so it can be performed on a limited amount of distros at a time.
Errors due to installer will cause the script to terminate, so, generally speaking, if the script completes, the system has been successfully setup.
## Demo ## Demo
![Demo](/demo/demo.gif?raw=true) ![Demo](/demo/demo.gif?raw=true)

1623
install-zfs.sh Executable file

File diff suppressed because it is too large Load Diff