This repository has been archived by the owner on Nov 4, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstall_deb_MMC_flasher.sh
executable file
·105 lines (73 loc) · 3.86 KB
/
install_deb_MMC_flasher.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/bin/bash
show_current_task
#--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
exportdefvar HOST_MMC_BOOT ""
exportdefvar HOST_MMC_SYSROOT ""
#--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
install_deb_pkgs \
debootstrap \
exfat-utils \
mmc-utils \
binutils \
kpartx \
fdisk \
lzop \
sudo \
pv
#--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
FN=$(basename "${IMG_MMC_FL}")
DN="${FN%.*}"
preAuthRoot && sudo rm -rf "${SYSROOT}/opt/${DN}"
preAuthRoot && sudo mkdir -p "${SYSROOT}/opt/${DN}"
show_message "INSTALL IMAGE: ${IMG_MMC_FL}"
if ( [ "${HOST_MMC_BOOT}" ] && [ "${HOST_MMC_SYSROOT}" ] ) ; then
if ! ( preAuthRoot && sudo kpartx -av "${IMG_MMC_FL}" ) ; then goto_exit 1 ; fi
sleep 3s ; sync
preAuthRoot && readarray -t DEVARR <<< "$(sudo kpartx -l ${IMG_MMC_FL})"
i=0
while [[ ${DEVARR[$i]} ]] ; do
OUT_DEV=`echo $(echo ${DEVARR[$i]} | awk '{print $1}')`
OUT_IMG="${SYSROOT}/opt/${DN}/${DN}_${OUT_DEV}.img"
show_message "INSTALL: /dev/mapper/${OUT_DEV} --> ${SYSROOT}/opt/${DN}/${DN}_${OUT_DEV}.img"
if ! ( preAuthRoot && sudo dd if="/dev/mapper/${OUT_DEV}" of="${SYSROOT}/opt/${DN}/${DN}_${OUT_DEV}.img" ) ; then goto_exit 2 ; fi
i=$((i+1))
if ( ! [ "${IMG_BOOT}" ] || ! [ "${HOST_MMC_BOOT}" ] ) ; then
export IMG_BOOT="/opt/${DN}/${DN}_${OUT_DEV}.img"
export HOST_MMC_BOOT="${HOST_MMC_BOOT}"
elif ( ! [ "${IMG_SYSROOT}" ] || ! [ "${HOST_MMC_SYSROOT}" ] ) ; then
export IMG_SYSROOT="/opt/${DN}/${DN}_${OUT_DEV}.img"
export HOST_MMC_SYSROOT="${HOST_MMC_SYSROOT}"
fi
done
else
if ! ( preAuthRoot && sudo install -m 0755 "${IMG_MMC_FL}" "${SYSROOT}/opt/${DN}/" ) ; then goto_exit 3 ; fi
unset IMG_BOOT
unset HOST_MMC_BOOT
export IMG_SYSROOT="/opt/${DN}/${FN}"
export HOST_MMC_SYSROOT="${HOST_MMC}"
fi
#--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
if [ -f "${CACHE}/u-boot-${UBOOT_BRANCH}/u-boot.bin" ] ; then
if ! ( preAuthRoot && sudo install -m 0755 "${CACHE}/u-boot-${UBOOT_BRANCH}/u-boot.bin" "${SYSROOT}/opt/${DN}/" ) ; then goto_exit 4 ; fi
fi
if [ -f "${CACHE}/u-boot-${UBOOT_BRANCH}/u-boot.imx" ] ; then
if ! ( preAuthRoot && sudo install -m 0755 "${CACHE}/u-boot-${UBOOT_BRANCH}/u-boot.imx" "${SYSROOT}/opt/${DN}/" ) ; then goto_exit 4 ; fi
fi
if ! ( preAuthRoot && sudo install -m 0755 "${COREDIR}"/*func.sh "${SYSROOT}/opt/${DN}/" ) ; then goto_exit 5 ; fi
if ! ( preAuthRoot && sudo install -m 0755 "${COREDIR}"/*flash_image.sh "${SYSROOT}/opt/${DN}/" ) ; then goto_exit 6 ; fi
#--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --
preAuthRoot && echo "#!/bin/bash
source *func.sh
exportdefvar USERDIR \"/opt\"
exportdefvar SYSROOT \"/tmp/mmc_flasher_mount/sysroot\"
exportdefvar IMG_BOOT \"${IMG_BOOT}\"
exportdefvar HOST_MMC_BOOT \"${HOST_MMC_BOOT}\"
exportdefvar IMG_SYSROOT \"${IMG_SYSROOT}\"
exportdefvar HOST_MMC_SYSROOT \"${HOST_MMC_SYSROOT}\"
exportdefvar DEV_MAKE_STORAGE \"${DEV_MAKE_STORAGE}\"
exportdefvar DEV_FSTAB_MMC_PREFIX \"${DEV_FSTAB_MMC_PREFIX}\"
exportdefvar DEV_STORAGE_FS \"${DEV_STORAGE_FS}\"
exportdefvar DEV_STORAGE_LBL \"${DEV_STORAGE_LBL}\"
exportdefvar DEV_POSTCONFIG \"${DEV_POSTCONFIG}\"
/bin/bash /opt/${DN}/*flash_image.sh" | sudo tee -a "${SYSROOT}/opt/${DN}/install.sh"
if ! ( preAuthRoot && sudo chmod +x "${SYSROOT}/opt/${DN}/install.sh" ) ; then goto_exit 7 ; fi