diff options
author | Dave Reisner <dreisner@archlinux.org> | 2012-05-14 02:05:50 +0200 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2012-05-18 19:09:38 +0200 |
commit | f88b2b53a4b2dcb177cb8b7197e2a61fd510c7ef (patch) | |
tree | acc17508300dcc712add2d1571883aafca64d1c8 /hooks/usr | |
parent | c5b1a1cef975686ff130c71b5212e3304af5625a (diff) | |
download | mkinitcpio-f88b2b53a4b2dcb177cb8b7197e2a61fd510c7ef.tar.gz mkinitcpio-f88b2b53a4b2dcb177cb8b7197e2a61fd510c7ef.tar.xz |
usr: add usr mounting as a late running hook
Mount separate /usr partitions voluntarily, as a late running hook.
This is an unfortunate patch that will no doubt result in some hatemail,
though it won't thoroughly break anyone to the point of not booting.
As a side effect, findmnt is no longer a requisite of the core /init, so
move it to the shutdown and usr hooks where it's required.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Diffstat (limited to 'hooks/usr')
-rw-r--r-- | hooks/usr | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/hooks/usr b/hooks/usr new file mode 100644 index 0000000..389e14c --- /dev/null +++ b/hooks/usr @@ -0,0 +1,16 @@ +#!/usr/bin/ash + +run_latehook() { + local realtab=/new_root/etc/fstab + + if [ -f "$realtab" ]; then + if usr_source=$(findmnt -snero source --tab-file="$realtab" /usr); then + mountopts=$(findmnt -snero options --tab-file="$realtab" /usr) + fsck_device "$usr_source" + msg ":: mounting '$usr_source' on /usr" + mount "$usr_source" /new_root/usr -o "$mountopts" + fi + fi +} + +# vim: set ft=sh ts=4 sw=4 et: |