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