Gentoo Archives: gentoo-commits

From: Sebastian Pipping <sping@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/genkernel:master commit in: /, doc/, defaults/
Date: Tue, 31 May 2011 13:18:12
Message-Id: fad624bc41b33f7bf418845f677caa49a33b6a94.sping@gentoo
1 commit: fad624bc41b33f7bf418845f677caa49a33b6a94
2 Author: Sebastian Pipping <sebastian <AT> pipping <DOT> org>
3 AuthorDate: Tue May 31 13:03:12 2011 +0000
4 Commit: Sebastian Pipping <sping <AT> gentoo <DOT> org>
5 CommitDate: Tue May 31 13:17:37 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=fad624bc
7
8 Add rootfstype= boot parameter (bug #221245)
9
10 ---
11 ChangeLog | 7 +++++++
12 defaults/linuxrc | 11 ++++++++---
13 doc/genkernel.8.txt | 5 +++++
14 genkernel | 4 ++++
15 4 files changed, 24 insertions(+), 3 deletions(-)
16
17 diff --git a/ChangeLog b/ChangeLog
18 index 03f20db..6ef649f 100644
19 --- a/ChangeLog
20 +++ b/ChangeLog
21 @@ -5,6 +5,13 @@
22 # Distributed under the GPL v2
23 # $Id$
24
25 + 31 May 2011; Sebastian Pipping <sping@g.o> defaults/linuxrc,
26 + doc/genkernel.8.txt:
27 + Add rootfstype= boot parameter (bug #221245)
28 +
29 + Special thanks:
30 + - Marcin Kurek
31 +
32 31 May 2011; Nelson Batalha <nelson.batalha@×××××.com> defaults/initrd.defaults:
33 Add Kernel 3.0.0 support (bug #369481)
34
35
36 diff --git a/defaults/linuxrc b/defaults/linuxrc
37 index 1819d9f..51c4529 100755
38 --- a/defaults/linuxrc
39 +++ b/defaults/linuxrc
40 @@ -37,6 +37,7 @@ CMDLINE=`cat /proc/cmdline`
41 # Scan CMDLINE for any specified real_root= or cdroot arguments
42 FAKE_ROOT=''
43 REAL_ROOTFLAGS=''
44 +ROOTFSTYPE='auto'
45 CRYPT_SILENT=0
46 for x in ${CMDLINE}
47 do
48 @@ -212,6 +213,9 @@ do
49 real_rootflags\=*)
50 REAL_ROOTFLAGS=`parse_opt "${x}"`
51 ;;
52 + rootfstype\=*)
53 + ROOTFSTYPE=`parse_opt "${x}"`
54 + ;;
55 keymap\=*)
56 keymap=`parse_opt "${x}"`
57 ;;
58 @@ -495,10 +499,11 @@ do
59 else
60 # mount ro so fsck doesn't barf later
61 if [ "${REAL_ROOTFLAGS}" = '' ]; then
62 - mount -o ro ${REAL_ROOT} ${NEW_ROOT}
63 + good_msg "Using mount -t ${ROOTFSTYPE} -o ro"
64 + mount -t ${ROOTFSTYPE} -o ro ${REAL_ROOT} ${NEW_ROOT}
65 else
66 - good_msg "Using mount -o ro,${REAL_ROOTFLAGS}"
67 - mount -o ro,${REAL_ROOTFLAGS} ${REAL_ROOT} ${NEW_ROOT}
68 + good_msg "Using mount -t ${ROOTFSTYPE} -o ro,${REAL_ROOTFLAGS}"
69 + mount -t ${ROOTFSTYPE} -o ro,${REAL_ROOTFLAGS} ${REAL_ROOT} ${NEW_ROOT}
70 fi
71 fi
72
73
74 diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
75 index c435646..c12dca2 100644
76 --- a/doc/genkernel.8.txt
77 +++ b/doc/genkernel.8.txt
78 @@ -440,6 +440,11 @@ which the ramdisk scripts would recognize.
79 *dokeymap*::
80 Use keymap. Usage of *keymap*= implies this option, already.
81
82 +*rootfstype*=<...>::
83 + Specify the file system type to mount the real root filesystem as.
84 + This can be useful when support for ext2/ext3/ext4 are
85 + in competition. Default is "auto".
86 +
87
88 NETBOOTING
89 ----------
90
91 diff --git a/genkernel b/genkernel
92 index 273d9da..6e18506 100755
93 --- a/genkernel
94 +++ b/genkernel
95 @@ -353,6 +353,10 @@ then
96 [ "${MDADM}" = '1' ] && print_warning 1 'add "domdadm" for RAID support'
97 [ "${DMRAID}" = '1' ] && print_warning 1 ' or "dodmraid=<additional options>"'
98 [ "${ISCSI}" = '1' ] && print_warning 1 'add at least "iscsi_initiatorname=<initiator name> iscsi_target=<target name> and iscsi_address=<target ip>" for iscsi support'
99 + if [ `grep 'CONFIG_EXT[0-9]_FS=' "${KERNEL_DIR}"/.config | wc -l` -ge 2 ]; then
100 + print_warning 1 'With support for several ext* filesystems around it may be needed to'
101 + print_warning 1 'add "rootfstype=ext3" or "rootfstype=ext4"'
102 + fi
103 fi
104
105 [ "${BOOTRW}" != '' ] && mount -o remount,ro ${BOOTDIR}