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