Release new version 1:20210208+grml.5
[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="true"
43                                 export NODHCP
44                                 ;;
45
46                         ethdevice=*)
47                                 DEVICE="${_PARAMETER#ethdevice=}"
48                                 ETHDEVICE="${DEVICE}"
49                                 export DEVICE 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                                 STATICIP="${_PARAMETER#ip=}"
107
108                                 if [ -z "${STATICIP}" ]
109                                 then
110                                         STATICIP="frommedia"
111                                 fi
112
113                                 export STATICIP
114                                 ;;
115
116                         live-media=*|bootfrom=*)
117                                 LIVE_MEDIA="${_PARAMETER#*=}"
118                                 export LIVE_MEDIA
119                                 ;;
120
121                         live-media-encryption=*|encryption=*)
122                                 LIVE_MEDIA_ENCRYPTION="${_PARAMETER#*=}"
123                                 export LIVE_MEDIA_ENCRYPTION
124                                 ;;
125
126                         live-media-offset=*)
127                                 LIVE_MEDIA_OFFSET="${_PARAMETER#live-media-offset=}"
128                                 export LIVE_MEDIA_OFFSET
129                                 ;;
130
131                         live-media-path=*)
132                                 LIVE_MEDIA_PATH="${_PARAMETER#live-media-path=}"
133                                 export LIVE_MEDIA_PATH
134                                 ;;
135
136                         live-media-timeout=*)
137                                 LIVE_MEDIA_TIMEOUT="${_PARAMETER#live-media-timeout=}"
138                                 export LIVE_MEDIA_TIMEOUT
139                                 ;;
140
141                         module=*)
142                                 MODULE="${_PARAMETER#module=}"
143                                 export MODULE
144                                 ;;
145
146                         netboot=*)
147                                 NETBOOT="${_PARAMETER#netboot=}"
148                                 export NETBOOT
149                                 ;;
150
151                         nfsopts=*)
152                                 NFSOPTS="${_PARAMETER#nfsopts=}"
153                                 export NFSOPTS
154                                 ;;
155
156                         nfsoverlay=*)
157                                 NFS_COW="${_PARAMETER#nfsoverlay=}"
158                                 export NFS_COW
159                                 ;;
160
161                         nodhcphostname)
162                                 NODHCPHOSTNAME="Yes"
163                                 export NODHCPHOSTNAME
164                                 ;;
165
166                         nofstab)
167                                 NOFSTAB="true"
168                                 export NOFSTAB
169                                 ;;
170
171                         nonetworking)
172                                 NONETWORKING="true"
173                                 export NONETWORKING
174                                 ;;
175
176                         ramdisk-size=*)
177                                 ramdisk_size="${_PARAMETER#ramdisk-size=}"
178                                 ;;
179
180                         overlay-size=*)
181                                 OVERLAY_SIZE="${_PARAMETER#overlay-size=}"
182                                 export OVERLAY_SIZE
183                                 ;;
184
185                         persistence)
186                                 PERSISTENCE="true"
187                                 export PERSISTENCE
188                                 ;;
189
190                         persistence-encryption=*)
191                                 PERSISTENCE_ENCRYPTION="${_PARAMETER#*=}"
192                                 export PERSISTENCE_ENCRYPTION
193                                 ;;
194
195                         persistence-media=*)
196                                 PERSISTENCE_MEDIA="${_PARAMETER#*=}"
197                                 export PERSISTENCE_MEDIA
198                                 ;;
199                         persistence-method=*)
200                                 PERSISTENCE_METHOD="${_PARAMETER#*=}"
201                                 export PERSISTENCE_METHOD
202                                 ;;
203
204                         persistence-path=*)
205                                 PERSISTENCE_PATH="${_PARAMETER#persistence-path=}"
206                                 export PERSISTENCE_PATH
207                                 ;;
208                         persistence-read-only)
209                                 PERSISTENCE_READONLY="true"
210                                 export PERSISTENCE_READONLY
211                                 ;;
212
213                         persistence-storage=*)
214                                 PERSISTENCE_STORAGE="${_PARAMETER#persistence-storage=}"
215                                 export PERSISTENCE_STORAGE
216                                 ;;
217
218                         persistence-label=*)
219                                 custom_overlay_label=$(echo ${_PARAMETER#persistence-label=*} | sed -e 's/,/ /g')
220                                 ;;
221
222                         nopersistence)
223                                 NOPERSISTENCE="true"
224                                 export NOPERSISTENCE
225                                 ;;
226
227                         quickusbmodules)
228                                 QUICKUSBMODULES="true"
229                                 export QUICKUSBMODULES
230                                 ;;
231
232                         todisk=*)
233                                 TODISK="${_PARAMETER#todisk=}"
234                                 export TODISK
235                                 ;;
236
237                         toram)
238                                 TORAM="true"
239                                 export TORAM
240                                 ;;
241
242                         toram=*)
243                                 TORAM="true"
244                                 MODULETORAM="${_PARAMETER#toram=}"
245                                 export TORAM MODULETORAM
246                                 ;;
247
248                         exposedroot)
249                                 EXPOSED_ROOT="true"
250                                 export EXPOSED_ROOT
251                                 ;;
252
253                         plainroot)
254                                 PLAIN_ROOT="true"
255                                 export PLAIN_ROOT
256                                 ;;
257
258                         skipunion)
259                                 SKIP_UNION_MOUNTS="true"
260                                 export SKIP_UNION_MOUNTS
261                                 ;;
262
263                         root=*)
264                                 ROOT="${_PARAMETER#root=}"
265                                 export ROOT
266                                 ;;
267
268                         union=*)
269                                 UNIONTYPE="${_PARAMETER#union=}"
270                                 export UNIONTYPE
271                                 ;;
272
273                         vlan=*)
274                                 VLANS="${VLANS} ${_PARAMETER#vlan=}"
275                                 export VLANS
276                                 ;;
277                 esac
278         done
279
280         # sort of compatibility with netboot.h from linux docs
281         if [ -z "${NETBOOT}" ]
282         then
283                 if [ "${ROOT}" = "/dev/nfs" ]
284                 then
285                         NETBOOT="nfs"
286                         export NETBOOT
287                 elif [ "${ROOT}" = "/dev/cifs" ]
288                 then
289                         NETBOOT="cifs"
290                         export NETBOOT
291                 fi
292         fi
293
294         if [ -z "${MODULE}" ]
295         then
296                 MODULE="filesystem"
297                 export MODULE
298         fi
299
300         if [ -z "${UNIONTYPE}" ]
301         then
302                 UNIONTYPE="overlay"
303                 export UNIONTYPE
304         fi
305
306         if [ -z "${PERSISTENCE_ENCRYPTION}" ]
307         then
308                 PERSISTENCE_ENCRYPTION="none"
309                 export PERSISTENCE_ENCRYPTION
310         elif is_in_comma_sep_list luks ${PERSISTENCE_ENCRYPTION}
311         then
312                 if ! modprobe dm-crypt
313                 then
314                         log_warning_msg "Unable to load module dm-crypt"
315                         PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
316                         export PERSISTENCE_ENCRYPTION
317                 fi
318
319                 if [ ! -x /lib/cryptsetup/askpass ] || [ ! -x /sbin/cryptsetup ]
320                 then
321                         log_warning_msg "cryptsetup is unavailable"
322                         PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
323                         export PERSISTENCE_ENCRYPTION
324                 fi
325         fi
326
327         if [ -z "${PERSISTENCE_METHOD}" ]
328         then
329                 PERSISTENCE_METHOD="overlay"
330                 export PERSISTENCE_METHOD
331         fi
332
333         if [ -z "${PERSISTENCE_STORAGE}" ]
334         then
335                 PERSISTENCE_STORAGE="filesystem,file"
336                 export PERSISTENCE_STORAGE
337         fi
338 }