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