summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authordir <dir@ableton.com>2017-09-07 14:23:03 +0200
committerdir <dir@ableton.com>2017-11-20 18:46:12 +0100
commit3da81751c84c63cd720a083f5156cdf195dd09f9 (patch)
treef7e5a0cf57e2892ff5198ffe53caa5d921bc4627 /scripts
parentd3edab2e45b7d600a8bc59f0093ea34323ccfc57 (diff)
Add -D option to install.sh to pre-populate data partition
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/install.sh19
1 files changed, 16 insertions, 3 deletions
diff --git a/scripts/install.sh b/scripts/install.sh
index b1969ed46..7e3245c31 100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -64,10 +64,11 @@ panicreboot=10
keep=0
grub=0
paragon_ext=0
+datapartcontent=""
function usage {
cat >&2 <<EOF
-Syntax: $me [-f filesystem] [-c cfgfssize] [-d datafssize] [-k] [-n] [-g]
+Syntax: $me [-f filesystem] [-c cfgfssize] [-d datafssize] [-D datafscontent] [-k] [-n] [-g]
[-p panictime] [±q] [-s serialspeed] [±t] <target> <device> <archive>
Partition sizes are in MiB. Filesystem type is currently ignored (ext4).
To keep filesystem on data partition use -k.
@@ -76,8 +77,7 @@ Defaults: -c 1 -p 10 -s 115200; -t = enable serial console
EOF
exit $1
}
-
-while getopts "c:d:ef:ghknp:qs:t" ch; do
+while getopts "c:d:D:ef:ghknp:qs:tx:" ch; do
case $ch {
(c) if (( (cfgfs = OPTARG) < 0 || cfgfs > 16 )); then
print -u2 "$me: -c $OPTARG out of bounds"
@@ -110,6 +110,11 @@ while getopts "c:d:ef:ghknp:qs:t" ch; do
(n) noformat=1 ;;
(t) serial=1 ;;
(+t) serial=0 ;;
+ (D) if [[ ! -d $OPTARG ]]; then
+ print -u2 "$me: -D $OPTARG must be an existing directory"
+ exit 1
+ fi
+ datapartcontent=$OPTARG;;
(*) usage 1 ;;
}
done
@@ -577,6 +582,14 @@ if (( datafssz )); then
echo "/dev/mmcblk0p2 /data ext4 rw 0 0" >> "$R"/etc/fstab
;;
}
+ if [[ -d $datapartcontent ]]; then
+ mount_fs "$datapart" "$D" ext4
+ # strip trailing slash
+ case $datapartcontent in
+ *[!/]*/) datapartcontent=${datapartcontent%"${x##*[!/]}"};;
+ esac
+ cp -R $datapartcontent/* "$D"
+ fi
fi
(( quiet )) || print Finishing up with bootloader and kernel ...