Age | Commit message (Collapse) | Author | Files | Lines |
|
Pretty much everyone benefits from this service, as it is always better than
having no shutdown-ramfs. If someone puts their own shutdown-ramfs in place,
it will likely be done by initramfs and this service will be skipped
automatically.
In more obscure situations, it can still be masked.
|
|
|
|
This is surely a configuration error as it's an infinite loop.
|
|
|
|
This lets users shoot themselves in the foot more easily, as they can
put their own modified hooks into /etc/initcpio/{hooks,install} to
override those shipped by the distro in /usr/lib/initcpio.
To make debugging easier, include the full path of the hook being used
when mkinitcpio runs in verbose mode.
Implements FS#37796.
|
|
When the module directory matching $(uname -r) cannot be found, generation
of the shutdown ramfs aborted:
systemd[1]: Starting Generate shutdown-ramfs...
mkinitcpio[1944]: ==> ERROR: '/lib/modules/3.12.1-1-ARCH' is not a valid kernel module directory
systemd[1]: mkinitcpio-generate-shutdown-ramfs.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start Generate shutdown-ramfs.
systemd[1]: Unit mkinitcpio-generate-shutdown-ramfs.service entered failed state.
Tell mkinitcpio that we do not wish to add any kernel modules.
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
The '-k none' switch prevents mkinitcpio from adding modules to the
image and keeps it from bailing out when it cannot find any.
|
|
This allows booting from devices which have labels like LABEL=/.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
When enabled, this service generates an "initramfs" that systemd
pivots to on shutdown to ensure clean umounting and shutdown of
loop and dm devices.
The actual work is done by systemd-shutdown.
|
|
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
The -d (--generatedir) option writes the root of the generated image
directly to the specified directory.
Useful for generating a shutdown-ramfs with mkinitcpio -d /run/initramfs/.
|
|
This essentially reverts 306dcbd7b21f8a680 which foolishly assumes that
kernel and libarchive decompression support stay in sync.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This will allow systemd's kernel-install script to generate and install
an initrd as per the freedesktop boot loader specs.
See kernel-install(8) for details.
Notice that 'profiles' are not used.
This will eventually be hooked up so that calling "make install" from
a kernel build will do the right thing.
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
Since b5927393d103af9, mkinitcpio acknowledges that lz4 exists.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
As suggested by Harald Hoyer, this is more accurate for the sake of
following where udev gets its modaliases from. In some rare cases, it
may even be more complete than scraping the raw modalias files.
Also, introduce a wrapper around modprobe so that the options passed
are never ommitted, or wrongly specified. In this case, a subtle bug
with the -r flag is fixed due to using the wrong variable with
modprobe's -d flag.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
It doesn't make any sense that this was added during the final image
creation. This fixes a subtle bug that would manifest itself if the
user archived the build root manually.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
The impetus for doing this was a bug in util-linux's hexdump which never
saw a release. For uniformity, simply echo an empty line here.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Note that this requires a very recent version of lz4 utilities as it
uses lz4, and not the original lz4c tool, in order to be command line
API compliant with other compression tools. See upstream discussions:
https://code.google.com/p/lz4/issues/detail?id=83
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Running as non-root is usually for my own dev purposes, but someone
might do this and be surprised when a directory/file that needs
permissions other than root isn't preserved.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Using --tab-file for findmnt calls is redundant if we can rely on the
defaults. Sanitize the environment from any LIBMOUNT_* variables so
that we can be sure of what file we're reading.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Doing this oddly results in findmnt never stat(2)'ing the target
directory, which might be problematic with stale NFS mounts and maybe
autofs.
Fixes FS#36629, I suppose.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Add an annoying warning in case the root device is fsck'd and about to
be mounted RO.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Shaves a trivial, but measurable, amount of time off of early userspace
at the cost of a small cache file.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This allows 'quiet rd.log=kmsg' to produce a silent boot while still
logging the full output that would have been written to the console.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This introduces support for the rd.log and rd.debug kernel command line
options, which log early userspace activity to /run/initramfs/init.log.
Code is largely inspired by Dracut's implementation of early userspace
logging, but without needless complexity and redundancies.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This makes it easier to test parse_cmdline.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This is needed for the --recursive flag.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Without this flag set, errors in install_modules are ignored, and
mkinitcpio potentially exits without complaining about build problems
when foolish people run out of disk (presumably after using /tmp as a
build directory).
Fixes FS#35037.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Add this as an abstraction for the various places firmware might exist.
Additionally, don't complain about missing firmware unless *none* of it
can be found -- and even then, only throw a warning.
NB: this means that users building images without the autodetect hook
and a rudimentary hook like "block" will see warnings which are going
to cause panic, chaos, and upheaval. I fully expect that this will
result in extra non-work for me in the form of closing invalid bug
reports.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
I don't have any particular use case for this, but it might be nice to
have this available in the future.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Linux 3.9 adds a filesystem alias in the supporting module in the form
of fs-$filesystem. While this is mainly aimed at security/paranoia, it
does mean that we can make better use of the fact that we always resolve
filesystem as aliases to filesystem modules. Do an additional lookup in
add_if_avail to resolve the new alias in addition to the filesystem
name itself.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This also removes a check which would have otherwise hidden a missing
firmware error from the user. FS#34255.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|