summaryrefslogtreecommitdiffstats
path: root/main/mkinitfs/0001-init-add-support-for-pkgs-.-boot-opt-and-UUID-in-alp.patch
blob: da0b4647ba4e67cfcf76c65688c7d2fce473cda5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
From f8542102cc332ac9916ef3ef1c7a8123157cf4b1 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Fri, 22 Oct 2010 10:35:55 +0000
Subject: [PATCH] init: add support for pkgs=... boot opt and UUID in alpine_dev

---
 initramfs-init.in |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/initramfs-init.in b/initramfs-init.in
index 9642ce6..1680543 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -220,9 +220,14 @@ if [ -n "$KOPT_ovl_dev" ] ; then
 	fi
 fi
 
+case "$ALPINE_DEV" in
+	UUID=*) ;;
+	*) ALPINE_DEV=/dev/$ALPINE_DEV ;;
+esac
+	
 # look for standard mountpoint locations
-ALPINE_MNT=$(find_mnt /dev/$ALPINE_DEV /etc/fstab)
-[ -z "$ALPINE_MNT" ] && ALPINE_MNT=/media/$ALPINE_DEV
+ALPINE_MNT=$(find_mnt $ALPINE_DEV /etc/fstab)
+[ -z "$ALPINE_MNT" ] && ALPINE_MNT=/media/${ALPINE_DEV##*/}
 
 # hide kernel messages
 [ "$KOPT_quiet" = yes ] && dmesg -n 1
@@ -296,7 +301,7 @@ if [ -n "$ALPINE_DEV_FS" ]; then
 	mount_opts="-t $ALPINE_DEV_FS"
 fi
 
-retry_mount $mount_opts /dev/$ALPINE_DEV $ALPINE_MNT >/dev/null 2>&1
+retry_mount $mount_opts $ALPINE_DEV $ALPINE_MNT >/dev/null 2>&1
 eend $?
 
 # early console?
@@ -328,6 +333,11 @@ if ! [ -f "$ovl" ]; then
 	ovl=$(find_ovl $ALPINE_MNT)
 fi
 
+# parse pkgs=pkg1,pkg2
+if [ -n "$KOPT_pkgs" ]; then
+	pkgs=$(echo "$KOPT_pkgs" | tr ',' ' ' )
+fi
+
 if [ -f "$ovl" ]; then
 	ebegin "Loading user settings from $ovl"
 	# create apk db and needed /dev/null and /tmp first
@@ -338,7 +348,7 @@ if [ -f "$ovl" ]; then
 	# hack, incase /root/.ssh was included in apkovl
 	[ -d "$sysroot/root" ] && chmod 700 "$sysroot/root"
 	umount /media/$i 2>/dev/null &
-	pkgs=$(sed 's/\#.*//' $sysroot/etc/lbu/packages.list 2>/dev/null)
+	pkgs="$pkgs $(sed 's/\#.*//' $sysroot/etc/lbu/packages.list 2>/dev/null)"
 	rm -f "$sysroot"/etc/lbu/packages.list
 	pkgs="$pkgs $(cat $sysroot/var/lib/apk/world 2>/dev/null)"
 else
@@ -377,7 +387,7 @@ pkgs="$pkgs alpine-base"
 
 # move the ALPINE_MNT if ALPINE_DEV is specified in users fstab
 # this is so a generated /etc/apk/repositories will use correct mount dir
-new_mnt=$(find_mnt /dev/$ALPINE_DEV $sysroot/etc/fstab)
+new_mnt=$(find_mnt $ALPINE_DEV $sysroot/etc/fstab)
 if [ -n "$new_mnt" ] && [ "$new_mnt" != "$ALPINE_MNT" ]; then
 	mkdir -p $new_mnt
 	mount -o move $ALPINE_MNT $new_mnt
-- 
1.7.3.1