+ Find kernel source in $KSRC and kernel objects in $KOBJ.
+ linux-headers-_KVERS_ is a virtual package. Instead, depend on
linux-headers-_KVERS_-common AND linux-headers-_KVERS_-amd64.
* Improve upon initramfs-tools scripts.
+ Try three times to import the pool and only if the last one fails,
drop to a shell.
+ Print out the failed commands.
+ Support booting on crypted root by adding support to initramfs hook and script.
+ Only do crypto check(s) if 'zfs key -l' command is availible.
+ Don't add the list of crypto modules by default.
* Copy the zpool.cache file to the initrd.
* Update depends in zfs-initramfs.
Conflicts:
debian/control.in
debian/rules
* The hooks were copying the required files for supporting the
deprecated zdev.conf syntax.
* Remove the deleted files from the list.
* Plus: remove a trailing space.
* We shouldn't be providing an example file for sudo on /etc/sudoers.d
because if the users modifies such file, and we modify the provided
example, on the next upgrade the user will be asked what to do.
* The right place is /usr/share/doc/$package/examples that is were we
also ship the other examples provided by upstream.
The `/lib/udev/vdev_id` helper is superceding the `/lib/udev/zpool_id` helper,
which is deprecated and will be soon removed upstream. zfsonlinux/zfs#1183
Add a new `/etc/default/zfs` option:
* `ZFS_INITRD_PRE_MOUNTROOT_SLEEP`, which wastes an arbitrary amount
of time in the initrd environment before wait_for_udev is called.
This option is primarily a kludge for bad mpt2sas hardware that can go dumb
during system initialization. Thirty seconds should be enough for most
affected computers, but five minutes might be required in the worst case.
Closes: dajhorn/pkg-zfs#71
When `update-grub` is invoked, `os-prober` tries to mount each zvol
node, which is slow on systems with more than a few hundred volumes.
Add a device test for `os-prober` that returns early on zvols.
Closes: dajhorn/pkg-zfs#62
The `zfs set mountpoint=/ "$ZFS_BOOTFS"` command in the initramfs
script had a typo that made it a noop.
This command ensures that the root filesystem has a sensible mountpoint
property. The error wasn't noticed because most of the Solaris userland
goodies for ZFS aren't yet implmented for Linux.
Closes: dajhorn/pkg-zfs#41
Always hook the udev rules that read the `/etc/zfs/zdev.conf` file into the
initrd, even if the system is not using the zfs-initramfs package.
This change ensures that `/dev/disk/zpool` device aliases are ready in time for
`mount` calls early in the init stack.
Amended-by: Darik Horn <dajhorn@vanadac.com>
Closes: dajhorn/pkg-zfs#39Closes: zfsonlinux/zfs#811
Add Kate's sudoers part for ZoL, but disabled by default.
This file is tracked by dpkg as a configuration file if it is changed
by the administrator after installation. The installation mode can be
converted to a dpkg question sometime later.
https://groups.google.com/a/zfsonlinux.org/group/zfs-discuss/msg/7b4f30b2563898b2
From: Kate Ward
Date: Thu, 17 May 2012 00:20:05 +0100
Local: Wed, May 16 2012 6:20 pm
Subject: Re: [zfs-discuss] Re: Unable to open /dev/zfs: Permission denied.
Rather than allow all ZFS commands to be executed without a password with
sudo, I limit passwordless use to read-only commands with the following in
my /etc/sudoers file. I have less fear of accidentally doing something
willy nilly.
The `zdb` utility requires pthreads for some functions, but the
necessary library is not automatically added to the initrd because
it is not detected as a dependency.
Closes: dajhorn/pkg-zfs#26
If the root pool contains a zvol, then udev tries /sbin/blkid and
emits a warning, which is usually invisible because it happens
after GRUB changes the console mode for Plymouth.
Adding /sbin/blkid to the initramfs manifest satisfies the udev
warning and results in a small boot time improvement.
The zfs-initramfs package directly depends on the zfsutils package,
so utilities in the COPY_EXEC_LIST should always be available.
Unlike some other initramfs hooks, we aren't currently detecting
whether anything in /sbin is actually necessary to start the system,
and the earlier behavior obscured a packaging mistake.
Ubuntu Natty and Ubuntu Oneiric systems seem sensitive to a missing
or stale /etc/zfs/zpool.cache file. The only circumstance where
these systems reliably import the root pool is when the cache is
current and all pools are automatically imported at module insertion.
Good behavior on earlier Ubuntu releases could have been accidental.
Consider inhibiting automatic zpool imports in the initramfs
environment and doing a full import in the regular system instead.
Promote the utilities and libraries from /usr so that they are
installed to the root filesystem, and move the udev helpers
from /usr/bin to /lib/udev.
This reflects a similar change in the upstream RPM packaging.
Revert to mounting the root filesytem like this:
mount -t zfs -o zfsutil "$ZFS_BOOTFS" "$rootmnt"
Ideally, the root filesystem would be mounted like this:
zpool import -R "$rootmnt" -N "$ZFS_RPOOL"
zfs mount -o mountpoint=/ "$ZFS_BOOTFS"
but the MOUNTPOINT prefix is preserved on descendent filesystems after the
pivot into the regular root, which later breaks things like `zfs mount -a` and
the /etc/mtab refresh.
Assuming one filesystem on the pivot and implicitly remapping it is sensible
behavior for the exec init. Keeping the -R prefix is similarly sensible
behavior for the zfs utility. Thus, the initramfs is probably the best place
to do something unusual.
The pre-init script in the initramfs environment sets the hostname
if the regular /bin/hostname binary and the /etc/hostname file are
included by the hook.
The pre-init invokes `/bin/hostname -b -F /etc/hostname`, which is
incompatible with the busybox builtin because it lacks the '-b'
switch.
This commit mysteriously resolves the console corruption that
occasionally happens on systems that boot into a native ZFS root
filesystem.