@@ -19,48 +19,57 @@ trap cleanup EXIT
1919[ -n " ${SUDO_UID} " ] || die " SUDO_UID not defined"
2020[ -n " ${SUDO_GID} " ] || die " SUDO_GID not defined"
2121
22- for src in release/* .zip; do
23- src=$( basename " ${src} " )
24- img=$( echo " ${src} " | sed ' s/\.zip/.img/' )
25- TMP_DIR=$( mktemp -d)
26- (
27- cp " release/${src} " " ${TMP_DIR} "
28- mkdir " ${TMP_DIR} /files"
29- cd " ${TMP_DIR} /files"
30- unzip " ../${src} "
31- cd " ${TMP_DIR} "
32- dd if=/dev/zero bs=1M count=258 of=temp.img
33- /sbin/sfdisk temp.img << EOF
22+ build_images ()
23+ {
24+ chip=" $1 "
25+ for src in release-${chip} /* .zip; do
26+ src=$( basename " ${src} " )
27+ img=$( echo " ${src} " | sed ' s/\.zip/.img/' )
28+ TMP_DIR=$( mktemp -d)
29+ (
30+ cp " release-${chip} /${src} " " ${TMP_DIR} "
31+ mkdir " ${TMP_DIR} /files"
32+ cd " ${TMP_DIR} /files"
33+ unzip " ../${src} "
34+ cd " ${TMP_DIR} "
35+ dd if=/dev/zero bs=1M count=258 of=temp.img
36+ /sbin/sfdisk temp.img << EOF
3437label: dos
3538label-id: 0x0a7b5ac5
3639device: temp.img
3740unit: sectors
3841
3942./test.img1 : start= 2048, size= 524288, type=c
4043EOF
41- file temp.img
42- kpartx -lv temp.img | head -n1 | awk ' {print $1}'
43- LOOP=" /dev/mapper/$( kpartx -lv temp.img | head -n1 | awk ' {print $1}' ) "
44- kpartx -av temp.img
45- /sbin/mkfs.fat -F 32 -s 1 " ${LOOP} "
46- mkdir fs
47- mount " ${LOOP} " fs
48- cp -v files/* fs
49- sync
50- sleep 5
51- umount fs
52- # Delay before calling kpartx otherwise it's sometimes possible to get orphaned loopback devices
53- sleep 5
54- kpartx -dv temp.img
55- )
56- mkdir -p images
57- chown " ${SUDO_UID} :${SUDO_GID} " images
58- mv " ${TMP_DIR} /temp.img" " images/${img} "
59- file " images/${img} "
60- cd images
44+ file temp.img
45+ kpartx -lv temp.img | head -n1 | awk ' {print $1}'
46+ LOOP=" /dev/mapper/$( kpartx -lv temp.img | head -n1 | awk ' {print $1}' ) "
47+ kpartx -av temp.img
48+ /sbin/mkfs.fat -F 32 -s 1 " ${LOOP} "
49+ mkdir fs
50+ mount " ${LOOP} " fs
51+ cp -v files/* fs
52+ sync
53+ sleep 5
54+ umount fs
55+ # Delay before calling kpartx otherwise it's sometimes possible to get orphaned loopback devices
56+ sleep 5
57+ kpartx -dv temp.img
58+ )
59+ image_dir=" images-${chip} "
60+ mkdir -p " ${image_dir} "
61+ chown " ${SUDO_UID} :${SUDO_GID} " " ${image_dir} "
62+ mv " ${TMP_DIR} /temp.img" " ${image_dir} /${img} "
63+ file " ${image_dir} /${img} "
64+ cd " ${image_dir} "
6165 zip " ${src} " " ${img} "
6266 cd ..
63- rm " images/${img} "
64- chown " ${SUDO_UID} :${SUDO_GID} " " images/${src} "
65- done
66- echo " Wrote images for rpi-imager to $( pwd) /images/${src} "
67+ rm " ${image_dir} /${img} "
68+ chown " ${SUDO_UID} :${SUDO_GID} " " ${image_dir} /${src} "
69+ done
70+ echo " Wrote images for rpi-imager to $( pwd) /${image_dir} /${src} "
71+ }
72+
73+ build_images 2711
74+ build_images 2712
75+
0 commit comments