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