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                         persistence)
176                                 PERSISTENCE="true"
177                                 export PERSISTENCE
178                                 ;;
179
180                         persistence-encryption=*)
181                                 PERSISTENCE_ENCRYPTION="${_PARAMETER#*=}"
182                                 export PERSISTENCE_ENCRYPTION
183                                 ;;
184
185                         persistence-media=*)
186                                 PERSISTENCE_MEDIA="${_PARAMETER#*=}"
187                                 export PERSISTENCE_MEDIA
188                                 ;;
189                         persistence-method=*)
190                                 PERSISTENCE_METHOD="${_PARAMETER#*=}"
191                                 export PERSISTENCE_METHOD
192                                 ;;
193
194                         persistence-path=*)
195                                 PERSISTENCE_PATH="${_PARAMETER#persistence-path=}"
196                                 export PERSISTENCE_PATH
197                                 ;;
198                         persistence-read-only)
199                                 PERSISTENCE_READONLY="true"
200                                 export PERSISTENCE_READONLY
201                                 ;;
202
203                         persistence-storage=*)
204                                 PERSISTENCE_STORAGE="${_PARAMETER#persistence-storage=}"
205                                 export PERSISTENCE_STORAGE
206                                 ;;
207
208                         persistence-label=*)
209                                 custom_overlay_label="${_PARAMETER#persistence-label=*}"
210                                 ;;
211
212                         nopersistence)
213                                 NOPERSISTENCE="true"
214                                 export NOPERSISTENCE
215                                 ;;
216
217                         quickusbmodules)
218                                 QUICKUSBMODULES="true"
219                                 export QUICKUSBMODULES
220                                 ;;
221
222                         todisk=*)
223                                 TODISK="${_PARAMETER#todisk=}"
224                                 export TODISK
225                                 ;;
226
227                         toram)
228                                 TORAM="true"
229                                 export TORAM
230                                 ;;
231
232                         toram=*)
233                                 TORAM="true"
234                                 MODULETORAM="${_PARAMETER#toram=}"
235                                 export TORAM MODULETORAM
236                                 ;;
237
238                         exposedroot)
239                                 EXPOSED_ROOT="true"
240                                 export EXPOSED_ROOT
241                                 ;;
242
243                         plainroot)
244                                 PLAIN_ROOT="true"
245                                 export PLAIN_ROOT
246                                 ;;
247
248                         skipunion)
249                                 SKIP_UNION_MOUNTS="true"
250                                 export SKIP_UNION_MOUNTS
251                                 ;;
252
253                         root=*)
254                                 ROOT="${_PARAMETER#root=}"
255                                 export ROOT
256                                 ;;
257
258                         union=*)
259                                 UNIONTYPE="${_PARAMETER#union=}"
260                                 export UNIONTYPE
261                                 ;;
262
263                         vlan=*)
264                                 VLANS="${VLANS} ${_PARAMETER#vlan=}"
265                                 export VLANS
266                                 ;;
267                 esac
268         done
269
270         # sort of compatibility with netboot.h from linux docs
271         if [ -z "${NETBOOT}" ]
272         then
273                 if [ "${ROOT}" = "/dev/nfs" ]
274                 then
275                         NETBOOT="nfs"
276                         export NETBOOT
277                 elif [ "${ROOT}" = "/dev/cifs" ]
278                 then
279                         NETBOOT="cifs"
280                         export NETBOOT
281                 fi
282         fi
283
284         if [ -z "${MODULE}" ]
285         then
286                 MODULE="filesystem"
287                 export MODULE
288         fi
289
290         if [ -z "${UNIONTYPE}" ]
291         then
292                 UNIONTYPE="overlay"
293                 export UNIONTYPE
294         fi
295
296         if [ -z "${PERSISTENCE_ENCRYPTION}" ]
297         then
298                 PERSISTENCE_ENCRYPTION="none"
299                 export PERSISTENCE_ENCRYPTION
300         elif is_in_comma_sep_list luks ${PERSISTENCE_ENCRYPTION}
301         then
302                 if ! modprobe dm-crypt
303                 then
304                         log_warning_msg "Unable to load module dm-crypt"
305                         PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
306                         export PERSISTENCE_ENCRYPTION
307                 fi
308
309                 if [ ! -x /lib/cryptsetup/askpass ] || [ ! -x /sbin/cryptsetup ]
310                 then
311                         log_warning_msg "cryptsetup is unavailable"
312                         PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
313                         export PERSISTENCE_ENCRYPTION
314                 fi
315         fi
316
317         if [ -z "${PERSISTENCE_METHOD}" ]
318         then
319                 PERSISTENCE_METHOD="overlay"
320                 export PERSISTENCE_METHOD
321         fi
322
323         if [ -z "${PERSISTENCE_STORAGE}" ]
324         then
325                 PERSISTENCE_STORAGE="filesystem,file"
326                 export PERSISTENCE_STORAGE
327         fi
328 }