aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/dracut
Commit message (Collapse)AuthorAgeFilesLines
* contrib/dracut: fix syntax error in module-setup.shAron Xu2017-01-311-1/+2
| | | | | | | | | | The dracut/02zfsexpandknowledge/module-setup.sh.in has a syntax error which makes the script unusable by a POSIX compliant shell like Dash on Debian based systems. Reviewed-by: Giuseppe Di Natale <[email protected]> Reviewed-by: George Melikov <[email protected]> Signed-off-by: Aron Xu <[email protected]> Closes #5712
* Update .gitignoreBrian Behlendorf2016-10-191-0/+1
| | | | | | | Two additional files were recently introduced and should be ignored by git. Signed-off-by: Brian Behlendorf <[email protected]> Closes #5299
* Properly use the Dracut cleanup hook to order pool shutdownRudd-O2016-10-174-2/+13
| | | | | | | | | | | | | | | | | | When Dracut starts up, it needs to determine whether a pool will remain "hanging open" before the system shuts off. In such a case, then the code to clean up the pool (using the previous export -F work) must be invoked. Since Dracut has had a recent change that makes mount-zfs.sh simply not run when the root dataset is already mounted, we must use the cleanup hook to order Dracut to do shutdown cleanup. Important note: this code will not accomplish its stated goal until this bug is fixed: https://bugzilla.redhat.com/show_bug.cgi?id=1385432 That bug impacts more than just ZFS. It impacts LUKS, dmraid, and unmount during poweroff. It is a Fedora-wide bug. Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Manuel Amador (Rudd-O) <[email protected]> Closes #5287
* Use -F to export pools so as not to dirty up device labelsRudd-O2016-10-154-10/+11
| | | | | | Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Manuel Amador (Rudd-O) <[email protected]> Closes #5228 Closes #5238
* Use a different technique to detect whether to mount-zfsRudd-O2016-10-062-19/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The behavior of the Dracut module was very wrong before. The correct behavior: initramfs should not run `zfs-mount` to completion if the two generator files exist. If, however, one of them is missing, it indicates one of three cases: * The kernel command line did not specify a root ZFS file system, and another Dracut module is already handling root mount (via systemd). `mount-zfs` can run, but it will do nothing. * There is no systemd to run `sysroot.mount` to begin with. `mount-zfs` must run. * The root parameter is zfs:AUTO, which cannot be run in sysroot.mount. `mount-zfs` must run. In any of these three cases, it is safe to run `zfs-mount` to completion. `zfs-mount` must also delete itself if it determines it should not run, or else Dracut will do the insane thing of running it over and over again. Literally, the definition of insanity, doing the same thing that did not work before, expecting different results. Doing that may have had a great result before, when we had a race between devices appearing and pools being mounted, and `mount-zfs` was tasked with the full responsibility of importing the needed pool, but nowadays it is wrong behavior and should be suppressed. I deduced that self-deletion was the correct thing to do by looking at other Dracut code, because (as we all are very fully aware of) Dracut is entirely, ahem, "implementation-defined". Tested-by: @wphilips Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Manuel Amador (Rudd-O) <[email protected]> Closes #5157 Closes #5204
* Fix regression that broke dracut initramfs generationMoritz Maxeiner2016-09-211-3/+9
| | | | | | | | | | | | | | Based upon @ryao's initial fix for 1c73494394fc9de9283b3fd4f00bcdf4bd300a7 ( 5e9843405f63fdabe76e87b92b81a127d488abc7 ) this one also uses `command -v` instead of `type`, but additionally only applies the fix to close zfsonlinux/zfs#4749 when `libgcc_s.so.1` has not been included by dracut automatically (verified by whether `zpool` links directly to `libgcc_s.so`), as well as change the fallback option to match `libgcc_s.so*`. Tested-by: Ben Jencks <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Moritz Maxeiner <[email protected]> Closes #5089 Closed #5138
* zfs dracut module should not assume systemd presenceMoritz Maxeiner2016-09-091-8/+10
| | | | | | | Signed-off-by: Moritz Maxeiner <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Closes #4749 Closes #5058
* Adapt genkernel fix for zfsonlinux/zfs#4749 to zfs dracut moduleMoritz Maxeiner2016-09-091-0/+6
| | | | | | | Signed-off-by: Moritz Maxeiner <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Closes #4749 Closes #5058
* Set proper dependency for string replacement targetsChunwei Chen2016-08-022-4/+4
| | | | | | | | | A lot of string replacement target don't have dependency or incorrect dependency. We setup proper dependency by pattern rules. Signed-off-by: Chunwei Chen <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #4908
* Fix the test to use the variablejyxent2016-05-131-1/+1
| | | | | Signed-off-by: Manuel Amador (Rudd-O) <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #4645
* A collection of dracut fixesManuel Amador (Rudd-O)2016-05-128-18/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | - In older systems without sysroot.mount, import before dracut-mount, and re-enable old dracut mount hook - rootflags MUST be present even if the administrator neglected to specify it explicitly - Check that mount.zfs exists in sbindir - Remove awk and head as (now unused) requirements, add grep, and install the right mount.zfs - Eliminate one use of grep in Dracut - Use a more accurate grepping statement to identify zfsutil in rootflags - Ensure that pooldev is nonempty - Properly handle /dev/sd* devices and more - Use new -P to get list of zpool devices - Bail out of the generator when zfs:AUTO is on the root command line - Ignore errors from systemctl trying to load sysroot.mount, we only care about the output - Determine which one is the correct initqueuedir at run time. - Add a compatibility getargbool for our detection / setup script. - Update dracut .gitignore files Signed-off-by: <Matthew Thode [email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #4558 Closes #4562
* fix booting via dracut generated initramfsMatthew Thode2016-04-256-2/+215
| | | | | | | | | | | | | | | Dracut and Systemd updated how they integrate with each other, because of this our current integrations stopped working (around the time 4.1.13 came out). This patch addresses that issue and gets us booting again. Thanks to @Rudd-O for doing the work to get dracut working again and letting me submit this on his behalf. Signed-off-by: Manuel Amador (Rudd-O) <[email protected]> Signed-off-by: Matthew Thode <[email protected]> Closes #3605 Closes #4478
* Support parallel build trees (VPATH builds)Turbo Fredriksson2015-07-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Build products from an out of tree build should be written relative to the build directory. Sources should be referred to by their locations in the source directory. This is accomplished by adding the 'src' and 'obj' variables for the module Makefile.am, using relative paths to reference source files, and by setting VPATH when source files are not co-located with the Makefile. This enables the following: $ mkdir build $ cd build $ ../configure \ --with-spl=$HOME/src/git/spl/ \ --with-spl-obj=$HOME/src/git/spl/build $ make -s This change also has the advantage of resolving the following warning which is generated by modern versions of automake. Makefile.am:00: warning: source file 'xxx' is in a subdirectory, Makefile.am:00: but option 'subdir-objects' is disabled Signed-off-by: Turbo Fredriksson <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #1082
* Move dracut directory to contribBrian Behlendorf2015-07-099-0/+520
The dracut code is analogous to the initramfs code and as such it should be located in the contrib with initramfs for consistency. Signed-off-by: Brian Behlendorf <[email protected]>