11#! /bin/bash
22# SPDX-License-Identifier: GPL-3.0-or-later
33
4+ KICKSTART_DISKS=0
5+ KICKSTART_SDCARDS=0
6+ BOOT_DISKS=0
7+ BOOT_SDCARDS=0
8+ BOOT_CMDLINE=" "
9+
410PROG=" ${0##*/ } "
511TEST=
612message ()
@@ -193,6 +199,7 @@ create_qemu_wrapper()
193199 . "$top_workdir /qemu-cpu"
194200 . "$top_workdir /qemu-efi"
195201 . "$top_workdir /qemu-disks"
202+ . "$top_workdir /qemu-sdcards"
196203 set -x
197204 exec qemu-system-$ARCH "\$ {qemu_args[@]}"
198205 EOF
@@ -211,7 +218,7 @@ qemu_create_disk()
211218 i=" $1 " ; shift
212219 fn=" $1 " ; shift
213220 fmt=" ${QEMU_DISK_FORMAT:- qcow2} "
214- size=" 3G "
221+ size=" 4G "
215222
216223 [ ! -f " $fn " ] ||
217224 return 0
@@ -245,10 +252,32 @@ qemu_init_blockdev()
245252{
246253 :> " $top_workdir /disks.map"
247254 :> " $top_workdir /qemu-disks"
255+ :> " $workdir /qemu-sdcards"
248256
249257 qemu_args \
250258 -device " virtio-scsi-pci,id=scsi" \
251259 > " $workdir /qemu-disks"
260+
261+ qemu_args \
262+ -device " sdhci-pci" \
263+ > " $workdir /qemu-sdcards"
264+ }
265+
266+ qemu_add_sdcard ()
267+ {
268+ local fn fmt i
269+
270+ i=" $1 " ; shift
271+ fn=" $1 " ; shift
272+
273+ [ " $# " -eq 0 ] &&
274+ fmt=" ${QEMU_SDCARD_FORMAT:- qcow2} " ||
275+ fmt=" $1 "
276+
277+ qemu_args \
278+ -device " sd-card,drive=sdcard-$i " \
279+ -drive " id=sdcard-$i ,if=none,format=$fmt ,file=$fn " \
280+ >> " $workdir /qemu-sdcards"
252281}
253282
254283qemu_add_disk ()
@@ -279,6 +308,10 @@ qemu_setup_boot_disks()
279308 done
280309
281310 qemu_activate_disks
311+
312+ for (( i= 1 ; i <= BOOT_SDCARDS; i++ )) ; do
313+ qemu_add_sdcard " $i " " $top_workdir /sdcard-$i .img"
314+ done
282315}
283316
284317qemu_setup_kickstart_disks ()
@@ -299,6 +332,15 @@ qemu_setup_kickstart_disks()
299332 done
300333
301334 qemu_activate_disks
335+
336+ for (( i= 1 ; i <= KICKSTART_SDCARDS; i++ )) ; do
337+ message " creating QEMU sdcard $i ..."
338+
339+ fn=" $top_workdir /sdcard-$i .img"
340+
341+ qemu_create_disk " $i " " $fn "
342+ qemu_add_sdcard " $i " " $fn "
343+ done
302344}
303345
304346qemu_calc_boot_duration ()
0 commit comments