metal /boot/grub not mounted by fstab, mountpoint on bpool not available ------ change /tmp to tmpfs ------ rewrite the docker helpers that just set config in apt-conf.d to the sysconf pattern. 1. a heredoc that doesn't redirect to a file with function names of the form: conf_print_() 2. a line to direct the print function to a file of the form: conf_print_fstab | sudo tee "$strapdir/etc/fstab" >/dev/null ---------------- Move the docker blend and associated files into its own blend directory. Move the metal blend and associated file into its own blend directory. add submodules, dockerfile and gitlab-ci.yml so that images can be build automatically. --------------------- debootstrap has the option 'doing_variant' that accepts 1. minbase - base="$devuan_required apt" 2. buildd - base="$devuan_required apt build-essential" 3. fakechroot - base="$devuan_required $(get_debs Priority: important)" required="$required binutils" 4. - base="$devuan_required $(get_debs Priority: important)" To get the packages involved: dpkg-query -f '${binary:Package} ${Priority}\n' -W | grep -w 'required\|important' so we would have to override lib/libdevuansdk/zlibs/bootstrap to: 1. add --variant or 2. change the --includes to be a list in config debootstrap_includes+=() to reflect the changes above and allow for other variant at the debootstrap stage. 3. set equivalent groupings in blend $release/config $base_packages and have them applied after debootstrap. debootstrap/scripts/ceres also has case $MIRRORS in https://*) base="$base apt-transport-https ca-certificates" ;; esac But not for other apt-transports like apt-transport-tor case $MIRRORS in https://*) base="$base apt-transport-https ca-certificates" ;; tor+http://*) base="$base apt-transport-tor ca-certificates" esac deb tor+http://devuanauxrkggcowgm2vcs6go3c5pgxdidd5wqjpg7zpfaxkmgspr6id.onion/merged main deb tor+http://devuanauxrkggcowgm2vcs6go3c5pgxdidd5wqjpg7zpfaxkmgspr6id.onion/merged -updates main deb tor+http://devuanauxrkggcowgm2vcs6go3c5pgxdidd5wqjpg7zpfaxkmgspr6id.onion/merged -security main ----- If you are going to install packages into the running livesd before a get-selections it would make sense to save the results of a diff on /home/default in the overlay to capture and configuration that you may choose to do as well as a debconf-get-selections for any settings chosen during install. ------ 1. image_partition_disk_zfs can have two more options to fit the openzfs instructions: i. bios v uefi (we do both) a. Run this if you need legacy (BIOS) booting: sgdisk -a1 -n1:24K:+1000K -t1:EF02 $DISK b. Run this for UEFI booting (for use now or in the future): sgdisk -n2:1M:+512M -t2:EF00 $DISK ii. Unencrypted v encrypted (is zfs native encryption performant yet?) a. Unencrypted or ZFS native encryption: sgdisk -n4:0:0 -t4:BF00 $DISK b. LUKS: sgdisk -n4:0:0 -t4:8309 $DISK 2. raid as specified by type, so far we have mirror or none/striped but we do have available disks list so we could add raidz, raidz2, or raidz3 adding tests for the correct number of disks needed for each. https://icesquare.com/wordpress/zfs-performance-mirror-vs-raidz-vs-raidz2-vs-raidz3-vs-striped/ #How many disks do you have? 1: ZFS is not for you. 2: Mirror 3-5: RAIDZ1 6-10 RAIDZ1 x 2 10-15: RAIDZ1 x 3 16-20: RAIDZ1 x 4 RAIDZ levels comparison chart Stripe Mirror RAIDZ RAIDZ2 RAIDZ3 Stripe+mirror Min number of disks 1 2 3 4 5 4 Fault to­le­ran­ce None (N-1) disk 1 disk 2 disks 3 disk (N-1) disk in each N-disk mirror Disk space over­head None (N-1)/N 1 disk 2 disks 3 disks (N-1)*P for P stipe over N-disk mirrors Read speed Fast Fast Slow, see below Fast Write speed Fast Fair Slow, See below Fair Hard­ware cost Cheap High to highest High Very high Very High (disks) High to highest Minimum number of disks Stripe 1 default/unset Mirror 2 already implemented RAIDZ 3 zpool create rpool raidz1 VDEV1 VDEV2 VDEV3 RAIDZ2 4 zpool create rpool raidz2 VDEV1 VDEV2 VDEV3 VDEV4 RAIDZ3 5 zpool create rpool raidz3 VDEV1 VDEV2 VDEV3 VDEV4 VDEV5 Stripe+mirror 4 sudo zpool create NAME mirror VDEV1 VDEV2 mirror VDEV3 VDEV4 or: sudo zpool create NAME mirror VDEV1 VDEV2 sudo zpool add NAME mirror VDEV3 VDEV4 -------