We stick to two rules here:
* -o options come before -O
* pool-specific options are wedged in between -o and
-O (e.g. compatibility=grub2)
I don't know if that was a deliberate policy, I'm just trying to guess
what the pattern was
Signed-off-by: Antoine Beaupré <anarcat@debian.org>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
This regroups the options passed to zpool create in a more logical
way.
1. the ACL/xattr/dnodesize settings are all on one line, since they
are all related (latter being optimizations because we enable the
former)
2. ashift, autotrim, compression, normalization, relatime are all
independent options that merit their own line for better
visibility, they are also optional and therefore it makes sense to
have them separate
3. canmount, mountpoint and -R are all related as well
This is only a "whitespace" fix: there should be no functional change
to this patch.
I also noted that dnodesize=auto is *not* passed to the bpool cache
creation, even though it's passed to the rpool creation. I suspect
that might be an omission. This also goes to show that ordering those
options consistently makes it easier to spot those errors.
This is a followup to #307.
Signed-off-by: Antoine Beaupré <anarcat@debian.org>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
According to the apt_preferences man page, we should be able to use
"Package: src:zfsutils-linux". Then we don't have to worry about keeping
the list of packages up-to-date, especially as library soversions change.
Reported-by: udf2457
Closes#314
Signed-off-by: Richard Laager <rlaager@wiktel.com>
This doesn't work on Debian Bullseye. While I tested the actual
create command on unstable, I know I looked at a file list on
packages.debian.org. I must have looked at bullseye-backports by
mistake. That's what I get for not testing the whole thing!
This partially reverts commit 7343c2253f.
Reported-by: anarcat
Closes#309
Signed-off-by: Richard Laager <rlaager@wiktel.com>
The major change for Ubuntu is to mark many of these as optional, like
with Debian and the old guides. As I move away from zsys, this will end
up being more like the old way.
This was also discussed in #306 and #307, but this change has
trade-offs. It can reduce the number of datasets created on the
system, but it does so by increasing the complexity to read and follow
the guide.
Then I just harmonized Debian with Ubuntu. Aside from whitespace,
reordering, rewording, the substantive changes were to drop /opt and
add /var/lib/NetworkManager.
Signed-off-by: Richard Laager <rlaager@wiktel.com>
Running "zfs set canmount=off rpool/ROOT/debian" causes the root
filesystem to be remounted read-only. I have no idea why, but that's
mostly beside the point.
I have no idea why I added these commands in the first place. The
other guides were not this way. These steps showed up in the initial
add of the Bullseye instructions.
Reported-by: Cameron Skappel <cskappel@wiktel.com>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
This switch makes tasksel include the "standard system utilities" task.
Unfortunately, it also defaults to installing a desktop environment, so
we need to warn users about that.
Co-authored-by: Marcello Mamino <m2@ciovil.li>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
When plain '--rbind' is used, the 'umount' process executed later in the
setup process completely unmounts the bound filesystem, resulting in various
forms of breakage on the host used to do the setup. When a Live CD is used
and the system will be immediately shutdown/rebooted, this isn't an issue,
but in other scenarios it can be problematic.
Making the bind mounts 'private' avoids this problem. This patch changes
the setup guides for 'modern' distribution versions but does not touch
the older ones where this functionality may not be available.
Signed-off-by: Kevin P. Fleming <kevin@km6g.us>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
This ensures that the Live hostname does not leak into e.g. OpenSSH
server keys. It's not a huge deal either way, but this is nicer.
Closes#158
Thanks: anarcat
Signed-off-by: Richard Laager <rlaager@wiktel.com>
This now uses a /BOOT instead of /ROOT. I also changed
rpool/ROOT/debian-1 to rpool/ROOT/debian. These changes make it match
the Root on ZFS systems. I have no actually tested this.
Closes#215
Signed-off-by: Richard Laager <rlaager@wiktel.com>
The dropbear-initramfs package can be used to add dropbear SSH support
to the initramfs. That can be used to remotely unlock the root pool
using the `zfsunlock` script.
Closes#46
Signed-off-by: Richard Laager <rlaager@wiktel.com>
Besides the obvious s/buster/bullseye/ sort of changes, this:
- Removes the use of backports. At this time, the difference is
minimal (2.0.6 vs 2.0.3) and I do not see a need to force backports
on users. They are free to add it later if they wish.
- Updates the sources.list for bullseye-security also being at
deb.debian.org.
- Updates the bpool features:
- device_rebuild has an explanation of why it is not used.
- livelist is now used.
- log_spacemap has been tested, but shares the same explanation as
spacemap_v2 for why it is not used.
Fixes#204Closes#126Closes#205
Thanks: Juri Grabowski <git-commit@jugra.de>
Thanks: Freezed <freezed@users.noreply.github.com>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
This reverts commit b81a471939.
We clashed while working on this. The Bullseye HOWTO in the above
commit was not rebased on the current Buster HOWTO, so a lot of its
delta between Buster and Bullseye is improper.
Signed-off-by: Richard Laager <rlaager@wiktel.com>
When doing `apt upgrade` on my Debian machine, I saw that two packages was being held back. The reason cited was that the names had somewhat changed I think. It is worth noting that I'm running bullseye, so this might not be applicable to buster, which is the version documented here.
This reduces the number of steps in the "First Boot" section that are
not related to the first boot.
Reported-by: Jonathan Dumont <JOduMonT>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
Use swapoff to ensure swap partitions are not mounted prior to
'sgdisk --zap-all'
Signed-off-by: Scott G. Ainsworth <scott@ainsworth.us>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
[Applied the change to Debian Buster; removed Ubuntu 16.04 and 18.04.]
Signed-off-by: Scott G. Ainsworth <scott@ainsworth.us>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
[Applied to Ubuntu 20.04 Raspberry Pi & Debian Buster.]
A couple people have come by IRC having issues where the root cause was that they were stuck on the CDDL/GPL prompt from apt never rendering because their container runtime console wasn't being detected as dumb/noninteractive by apt, but wasn't capable of displaying the prompt.
So let's add a warning about that, shall we?
It looks like I messed this up (for Debian, but not Ubuntu) in my
various changes. It is not necessary to do this before the chroot in
the normal install path, as it was done earlier. But it is something
that should be done before the chroot in the rescue path. I've now
made Debian match Ubuntu.
Fixes#141
Reported-by: Colm <colm@tuatha.org>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
There was already a note about ignoring a cryptsetup WARNING, but:
A) cryptsetup also prints an ERROR message, and
B) this also occurs at an earlier step.
Fixes#134
Signed-off-by: Richard Laager <rlaager@wiktel.com>
This was mentioned in #99 and I added it as an alternative option.
However, it seems to break GRUB; see #107. GRUB tries to parse
/proc/mounts and see a line like this:
systemd-1 /boot/efi autofs ...
From there, it gets "systemd-1" as the device name, and breaks.
Closes#107
Signed-off-by: Richard Laager <rlaager@wiktel.com>
We need the bpool to end up in zpool.cache. For some reason, this is
not happening normally on Ubuntu 20.04. I added the same steps to
Debian too, for good measure.
This was discussed in #120.
Signed-off-by: Richard Laager <rlaager@wiktel.com>
If the disk has been used before (with partitions at the same offsets),
previous filesystems (e.g. the ESP) will automount if not disabled.
Co-authored-by: attero <service-github@attero.me>
Signed-off-by: Richard Laager <rlaager@wiktel.com>
Closes#119
"The /root dataset is created with default world-readable permissions
(755). debootstrap would create /root with 700 permissions, but it
does not change the permissions if it already exists."
Reported-by: zxyrepf
Closes#115