aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-12-24 15:31:54 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-12-24 15:31:54 +0000
commitd869559037802dcef6e2cd8551ab3ac0ececf690 (patch)
treeb6cc5d8f60196ff92bb7e7cc5285eae4a8b04fbe
parenta6c6527bf3baff18b7134f6c68304033cdff1904 (diff)
downloadmkinitfs-d869559037802dcef6e2cd8551ab3ac0ececf690.tar.bz2
mkinitfs-d869559037802dcef6e2cd8551ab3ac0ececf690.tar.xz
init: support lvm ontop of raid devices
-rwxr-xr-xinitramfs-init.in19
1 files changed, 12 insertions, 7 deletions
diff --git a/initramfs-init.in b/initramfs-init.in
index 81b7150..d140d75 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -173,6 +173,14 @@ setup_inittab_console(){
done
}
+# start lvm if exists
+start_lvm() {
+ [ -x /sbin/lvm ] || return
+ modprobe dm-mod
+ lvm vgscan --mknodes --ignorelockingfailure >/dev/null 2>&1 &&\
+ lvm vgchange --ignorelockingfailure -a y >/dev/null 2>&1
+}
+
# gotta start from somewhere :)
echo "Alpine Init $VERSION"
@@ -260,13 +268,6 @@ scan_drivers
scan_drivers
eend 0
-# start lvm if exists
-if [ -x /sbin/lvm ]; then
- modprobe dm-mod
- lvm vgscan --mknodes --ignorelockingfailure >/dev/null 2>&1 &&\
- lvm vgchange --ignorelockingfailure -a y >/dev/null 2>&1
-fi
-
# check if root=... was set
if [ -n "$KOPT_root" ]; then
if [ "$SINGLEMODE" = "yes" ]; then
@@ -282,6 +283,7 @@ if [ -n "$KOPT_root" ]; then
raidautorun "$KOPT_root"
;;
esac
+ start_lvm
ebegin "Mounting root"
retry_mount -o ro $KOPT_root $sysroot 2>/dev/null
eend $?
@@ -297,6 +299,9 @@ if [ -n "$KOPT_root" ]; then
exec /bin/busybox sh
fi
+# incase we have alpine_dev on raid device...
+start_lvm
+
# we only want to wait for usb if really needed at this point
if [ -z "${ALPINE_DEV##*usb*}" ]; then
wait_usb