diff options
author | dir <dir@ableton.com> | 2017-09-07 14:23:03 +0200 |
---|---|---|
committer | dir <dir@ableton.com> | 2017-11-20 18:46:12 +0100 |
commit | 3da81751c84c63cd720a083f5156cdf195dd09f9 (patch) | |
tree | f7e5a0cf57e2892ff5198ffe53caa5d921bc4627 /scripts | |
parent | d3edab2e45b7d600a8bc59f0093ea34323ccfc57 (diff) |
Add -D option to install.sh to pre-populate data partition
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/install.sh | 19 |
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 ... |