diff options
author | John Klug <john.klug@multitech.com> | 2018-06-22 17:19:03 -0500 |
---|---|---|
committer | John Klug <john.klug@multitech.com> | 2018-06-22 17:19:03 -0500 |
commit | d03bd4c356f61ff41f1af89eaa011b4b918824f0 (patch) | |
tree | cd24155bc2d966ffbd4d7c0d1e6de2f1062a8ef4 /scripts/upgrade/install.sh | |
parent | 130d8e80bc46f446baf42fc735aab5a9e9558631 (diff) | |
download | meta-mlinux-d03bd4c356f61ff41f1af89eaa011b4b918824f0.tar.gz meta-mlinux-d03bd4c356f61ff41f1af89eaa011b4b918824f0.tar.bz2 meta-mlinux-d03bd4c356f61ff41f1af89eaa011b4b918824f0.zip |
mtcap/mtcdt compatible update package
Diffstat (limited to 'scripts/upgrade/install.sh')
-rwxr-xr-x | scripts/upgrade/install.sh | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/scripts/upgrade/install.sh b/scripts/upgrade/install.sh deleted file mode 100755 index 4928d88..0000000 --- a/scripts/upgrade/install.sh +++ /dev/null @@ -1,148 +0,0 @@ -#!/bin/bash -# This script works with a tar archvie -# called upgrade.bin in either /var/volatile -# or on the SD card. -# -# This is what the tar file upgrade file -# should look like to create an ipk upgrade -# file. IPK files should be in all, -# arm926ejste, and mtcdt (for mtcdt) -cat <<'!EOF' >/dev/null -. -|-- install_list.txt -|-- install_list.txt.md5 -|-- install.sh* -|-- install.sh.md5 -|-- local.conf -|-- local.conf.md5 -|-- model -|-- repo/ -| |-- arm926ejste/ -| | |-- busybox_1.24.1-r0.mlinux2.mlinux2.1_arm926ejste.ipk -| | |-- busybox-hwclock_1.24.1-r0.mlinux2.mlinux2.1_arm926ejste.ipk -| | |-- busybox-ifplugd_1.24.1-r0.mlinux2.mlinux2.1_arm926ejste.ipk -| | |-- busybox-syslog_1.24.1-r0.mlinux2.mlinux2.1_arm926ejste.ipk -| | |-- busybox-udhcpc_1.24.1-r0.mlinux2.mlinux2.1_arm926ejste.ipk -| | |-- initscripts_1.0-r155.3.40.0_arm926ejste.ipk -| | |-- initscripts-functions_1.0-r155.3.40.0_arm926ejste.ipk -| | |-- Packages -| | |-- Packages.gz -| | `-- Packages.stamps -| `-- Packages -!EOF -# -# The tarball must be called upgrade.bin. -# -# The file /var/volatile/do_flash_upgrade must exist and -# be owned by root. -# -# The tar file, upgrade.bin must be either in -# /var/volatile/flash-upgrade or -# /media/card/flash-upgrade -# -# Note that when this script is started, the -# tar file is already unpacked, since this script -# is in the tarball. - -# This script assumes that the rootfs and maybe /var -# are writable. For MTR, we may need to set -# root and var to read/write - -NAME=install.sh -echo "$NAME starting" - -umount_all() { - if [[ $1 == "error" ]] ; then - echo "Cannot continue" - err_leds - sleep 10 - fi - echo "Deactivating swap..." - swapoff -a - - # We leave /proc mounted. - echo "Unmounting local filesystems..." - grep -q /mnt/ram /proc/mounts && mount -o remount,ro /mnt/ram - umount -f -a -r > /dev/null 2>&1 - - mount -o remount,ro / - ${up_dir}/upgrade-reboot - - # Should not get here normally - echo "upgrade-reboot failed" - /sbin/reboot - exit 1 -} -err_leds() { - led_dir=/sys/class/leds - # blink all programmable LEDs except status - leds=$(ls $led_dir/ | grep -v status) - nleds=$(echo "$leds" | wc -w) - - # turn LEDs off - for led in $leds; do - echo "timer" > $led_dir/$led/trigger - echo 0 > $led_dir/$led/delay_off - done - - int=200 - total=$(( int * (nleds+1) )) - on=$(( total - int )) - off=$(( total - on )) - - # make a pattern - for led in $leds; do - echo "$on" > $led_dir/$led/delay_on - echo "$off" > $led_dir/$led/delay_off - done - sleep 5 -} -flash_dir="$1" -up_dir="${flash_dir}/flash-upgrade" -if ! [[ -d ${up_dir} ]] ; then - echo "\"${up_dir}\" is not present" - umount_all error -fi -echo "ls -l ${flash_dir}" -ls -l ${flash_dir} -echo "ls -l ${up_dir}" -ls -l "${up_dir}" -cd "${up_dir}" -if ! md5sum -c local.conf.md5 >/dev/null ; then - echo "md5sum of local.conf is bad" - umount_all error -fi - -# opkg needs /tmp, so recreate it. -# On a Conduit, this is always /var/volatile -mkdir -m 01777 /var/volatile/tmp -localcnf="${up_dir}/local.conf" -echo "Local configuration file: ${localcnf}" -echo mounts ... -cat /proc/mounts -echo "Update package list ... /usr/bin/opkg -f ${localcnf} update" -/usr/bin/opkg -f "${localcnf}" update -echo "List upgradable packages ... /usr/bin/opkg -f ${localcnf} list-upgradable" -/usr/bin/opkg -f "${localcnf}" list-upgradable -echo "Do package upgrade /usr/bin/opkg -f ${localcnf} upgrade" -/usr/bin/opkg -f "${localcnf}" upgrade -pkglist_file="install_list.txt" -if [[ -r ${pkglist_file} ]] ; then - if ! md5sum -c ${pkglist_file}.md5 ; then - echo "md5sum bad on ${pkglist_file}" - umount_all error - fi - OIFS="${IFS}" - IFS=$'\n' - for p in $(cat ${pkglist_file}) ; do - echo /usr/bin/opkg -f "${localcnf}" install $p - /usr/bin/opkg -f "${localcnf}" install $p - done - IFS="${OIFS}" -fi -echo "Rebooting..." - -umount_all ok -echo "upgrade-reboot failed" -exit 1 - |