components/9990-cmdline-old: sync with Debian
[live-boot-grml.git] / components / 9990-cmdline-old
1 #!/bin/sh
2
3 #set -e
4
5 Cmdline_old ()
6 {
7         for _PARAMETER in ${LIVE_BOOT_CMDLINE}
8         do
9                 case "${_PARAMETER}" in
10                         skipconfig)
11                                 NOFSTAB="true"
12                                 NONETWORKING="true"
13
14                                 export NOFSTAB NONETWORKING
15                                 ;;
16
17                         BOOTIF=*)
18                                 BOOTIF="${_PARAMETER#BOOTIF=}"
19                                 ;;
20                         dns=*)
21                                 DNS=${_PARAMETER#dns=}
22                                 DNSSERVERS=$(echo ${DNS} | sed 's/,/ /g')
23                                 export DNSSERVERS
24                                 unset DNS
25                                 ;;
26                         dhcp)
27                                 # Force dhcp even while netbooting
28                                 # Use for debugging in case somebody works on fixing dhclient
29                                 DHCP="true";
30                                 export DHCP
31                                 ;;
32
33                         nodhcp)
34                                 DHCP=""
35                                 export DHCP
36                                 ;;
37
38                         ethdevice=*)
39                                 DEVICE="${_PARAMETER#ethdevice=}"
40                                 ETHDEVICE="${DEVICE}"
41                                 export DEVICE ETHDEVICE
42                                 ;;
43
44                         ethdevice-timeout=*)
45                                 ETHDEV_TIMEOUT="${_PARAMETER#ethdevice-timeout=}"
46                                 export ETHDEV_TIMEOUT
47                                 ;;
48
49                         fetch=*)
50                                 FETCH="${_PARAMETER#fetch=}"
51                                 export FETCH
52                                 ;;
53
54                         findiso=*)
55                                 FINDISO="${_PARAMETER#findiso=}"
56                                 export FINDISO
57                                 ;;
58
59                         ftpfs=*)
60                                 FTPFS="${_PARAMETER#ftpfs=}"
61                                 export FTPFS
62                                 ;;
63
64                         httpfs=*)
65                                 HTTPFS="${_PARAMETER#httpfs=}"
66                                 export HTTPFS
67                                 ;;
68
69                         iscsi=*)
70                                 ISCSI="${_PARAMETER#iscsi=}"
71                                 #ip:port - separated by ;
72                                 ISCSI_PORTAL="${ISCSI%;*}"
73                                 if echo "${ISCSI_PORTAL}" | grep -q , ; then
74                                         ISCSI_SERVER="${ISCSI_PORTAL%,*}"
75                                         ISCSI_PORT="${ISCSI_PORTAL#*,}"
76                                 fi
77                                 #target name
78                                 ISCSI_TARGET="${ISCSI#*;}"
79                                 export ISCSI ISCSI_PORTAL ISCSI_TARGET ISCSI_SERVER ISCSI_PORT
80                                 ;;
81
82                         isofrom=*|fromiso=*)
83                                 FROMISO="${_PARAMETER#*=}"
84                                 export FROMISO
85                                 ;;
86
87                         ignore_bootid)
88                                 IGNORE_BOOTID="Yes"
89                                 export IGNORE_BOOTID
90                                 ;;
91
92                         ignore_uuid)
93                                 IGNORE_UUID="true"
94                                 export IGNORE_UUID
95                                 ;;
96
97                         ip=*)
98                                 # copy complete ip=args into staticip, and
99                                 # keep multiple uses.
100                                 STATICIP="${STATICIP} ${_PARAMETER}"
101
102                                 if [ -z "${STATICIP}" ]
103                                 then
104                                         STATICIP="frommedia"
105                                 fi
106
107                                 export STATICIP
108                                 ;;
109
110                         live-media=*|bootfrom=*)
111                                 LIVE_MEDIA="${_PARAMETER#*=}"
112                                 export LIVE_MEDIA
113                                 ;;
114
115                         live-media-encryption=*|encryption=*)
116                                 LIVE_MEDIA_ENCRYPTION="${_PARAMETER#*=}"
117                                 export LIVE_MEDIA_ENCRYPTION
118                                 ;;
119
120                         live-media-offset=*)
121                                 LIVE_MEDIA_OFFSET="${_PARAMETER#live-media-offset=}"
122                                 export LIVE_MEDIA_OFFSET
123                                 ;;
124
125                         live-media-path=*)
126                                 LIVE_MEDIA_PATH="${_PARAMETER#live-media-path=}"
127                                 export LIVE_MEDIA_PATH
128                                 ;;
129
130                         live-media-timeout=*)
131                                 LIVE_MEDIA_TIMEOUT="${_PARAMETER#live-media-timeout=}"
132                                 export LIVE_MEDIA_TIMEOUT
133                                 ;;
134
135                         module=*)
136                                 MODULE="${_PARAMETER#module=}"
137                                 export MODULE
138                                 ;;
139
140                         netboot=*)
141                                 NETBOOT="${_PARAMETER#netboot=}"
142                                 export NETBOOT
143                                 ;;
144
145                         nfsopts=*)
146                                 NFSOPTS="${_PARAMETER#nfsopts=}"
147                                 export NFSOPTS
148                                 ;;
149
150                         nfsoverlay=*)
151                                 NFS_COW="${_PARAMETER#nfsoverlay=}"
152                                 export NFS_COW
153                                 ;;
154
155                         nodhcphostname)
156                                 NODHCPHOSTNAME="Yes"
157                                 export NODHCPHOSTNAME
158                                 ;;
159
160                         nofstab)
161                                 NOFSTAB="true"
162                                 export NOFSTAB
163                                 ;;
164
165                         nonetworking)
166                                 NONETWORKING="true"
167                                 export NONETWORKING
168                                 ;;
169
170                         ramdisk-size=*)
171                                 ramdisk_size="${_PARAMETER#ramdisk-size=}"
172                                 ;;
173
174                         persistence)
175                                 PERSISTENCE="true"
176                                 export PERSISTENCE
177                                 ;;
178
179                         persistence-encryption=*)
180                                 PERSISTENCE_ENCRYPTION="${_PARAMETER#*=}"
181                                 export PERSISTENCE_ENCRYPTION
182                                 ;;
183
184                         persistence-media=*)
185                                 PERSISTENCE_MEDIA="${_PARAMETER#*=}"
186                                 export PERSISTENCE_MEDIA
187                                 ;;
188                         persistence-method=*)
189                                 PERSISTENCE_METHOD="${_PARAMETER#*=}"
190                                 export PERSISTENCE_METHOD
191                                 ;;
192
193                         persistence-path=*)
194                                 PERSISTENCE_PATH="${_PARAMETER#persistence-path=}"
195                                 export PERSISTENCE_PATH
196                                 ;;
197                         persistence-read-only)
198                                 PERSISTENCE_READONLY="true"
199                                 export PERSISTENCE_READONLY
200                                 ;;
201
202                         persistence-storage=*)
203                                 PERSISTENCE_STORAGE="${_PARAMETER#persistence-storage=}"
204                                 export PERSISTENCE_STORAGE
205                                 ;;
206
207                         persistence-label=*)
208                                 custom_overlay_label="${_PARAMETER#persistence-label=*}"
209                                 ;;
210
211                         nopersistence)
212                                 NOPERSISTENCE="true"
213                                 export NOPERSISTENCE
214                                 ;;
215
216                         quickusbmodules)
217                                 QUICKUSBMODULES="true"
218                                 export QUICKUSBMODULES
219                                 ;;
220
221                         todisk=*)
222                                 TODISK="${_PARAMETER#todisk=}"
223                                 export TODISK
224                                 ;;
225
226                         toram)
227                                 TORAM="true"
228                                 export TORAM
229                                 ;;
230
231                         toram=*)
232                                 TORAM="true"
233                                 MODULETORAM="${_PARAMETER#toram=}"
234                                 export TORAM MODULETORAM
235                                 ;;
236
237                         exposedroot)
238                                 EXPOSED_ROOT="true"
239                                 export EXPOSED_ROOT
240                                 ;;
241
242                         plainroot)
243                                 PLAIN_ROOT="true"
244                                 export PLAIN_ROOT
245                                 ;;
246
247                         skipunion)
248                                 SKIP_UNION_MOUNTS="true"
249                                 export SKIP_UNION_MOUNTS
250                                 ;;
251
252                         root=*)
253                                 ROOT="${_PARAMETER#root=}"
254                                 export ROOT
255                                 ;;
256
257                         union=*)
258                                 UNIONTYPE="${_PARAMETER#union=}"
259                                 export UNIONTYPE
260                                 ;;
261
262                         vlan=*)
263                                 VLANS="${VLANS} ${_PARAMETER#vlan=}"
264                                 export VLANS
265                                 ;;
266                 esac
267         done
268
269         # sort of compatibility with netboot.h from linux docs
270         if [ -z "${NETBOOT}" ]
271         then
272                 if [ "${ROOT}" = "/dev/nfs" ]
273                 then
274                         NETBOOT="nfs"
275                         export NETBOOT
276                 elif [ "${ROOT}" = "/dev/cifs" ]
277                 then
278                         NETBOOT="cifs"
279                         export NETBOOT
280                 fi
281         fi
282
283         if [ -z "${MODULE}" ]
284         then
285                 MODULE="filesystem"
286                 export MODULE
287         fi
288
289         if [ -z "${UNIONTYPE}" ]
290         then
291                 UNIONTYPE="overlay"
292                 export UNIONTYPE
293         fi
294
295         if [ -z "${PERSISTENCE_ENCRYPTION}" ]
296         then
297                 PERSISTENCE_ENCRYPTION="none"
298                 export PERSISTENCE_ENCRYPTION
299         elif is_in_comma_sep_list luks ${PERSISTENCE_ENCRYPTION}
300         then
301                 if ! modprobe dm-crypt
302                 then
303                         log_warning_msg "Unable to load module dm-crypt"
304                         PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
305                         export PERSISTENCE_ENCRYPTION
306                 fi
307
308                 if [ ! -x /lib/cryptsetup/askpass ] || [ ! -x /sbin/cryptsetup ]
309                 then
310                         log_warning_msg "cryptsetup is unavailable"
311                         PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
312                         export PERSISTENCE_ENCRYPTION
313                 fi
314         fi
315
316         if [ -z "${PERSISTENCE_METHOD}" ]
317         then
318                 PERSISTENCE_METHOD="overlay"
319                 export PERSISTENCE_METHOD
320         fi
321
322         if [ -z "${PERSISTENCE_STORAGE}" ]
323         then
324                 PERSISTENCE_STORAGE="filesystem,file"
325                 export PERSISTENCE_STORAGE
326         fi
327 }