diff options
author | Jason Reiss <jreiss@multitech.com> | 2016-11-02 11:19:19 -0500 |
---|---|---|
committer | Jason Reiss <jreiss@multitech.com> | 2016-11-02 11:19:19 -0500 |
commit | 4a699900a468a228d8280eaea5e7c7f0bb63be05 (patch) | |
tree | 59c025b00c685f342c65407c7823268922e17c80 | |
parent | 7f176197b131aadcbfdb9e85c424a9ed67543af7 (diff) | |
parent | ebbb49d7bcfa7874cb820e6106164ea42d05f723 (diff) | |
download | meta-mlinux-4a699900a468a228d8280eaea5e7c7f0bb63be05.tar.gz meta-mlinux-4a699900a468a228d8280eaea5e7c7f0bb63be05.tar.bz2 meta-mlinux-4a699900a468a228d8280eaea5e7c7f0bb63be05.zip |
Merge remote-tracking branch 'origin' into Conduit_0.1
-rw-r--r-- | classes/mlinux-image.bbclass | 18 | ||||
-rwxr-xr-x | recipes-connectivity/ppp/ppp-2.4.7/ip-up | 5 | ||||
-rw-r--r-- | recipes-connectivity/ppp/ppp_2.4.7.bb | 2 | ||||
-rw-r--r-- | recipes-core/mlinux-scripts/mlinux-scripts-1.0.inc | 5 | ||||
-rwxr-xr-x | recipes-core/mlinux-scripts/mlinux-scripts-1.0/mlinux-firmware-upgrade | 57 | ||||
-rw-r--r-- | recipes-core/mlinux-scripts/mlinux-scripts_1.0.bb | 2 |
6 files changed, 86 insertions, 3 deletions
diff --git a/classes/mlinux-image.bbclass b/classes/mlinux-image.bbclass index 3f49a94..13cacb5 100644 --- a/classes/mlinux-image.bbclass +++ b/classes/mlinux-image.bbclass @@ -12,6 +12,24 @@ mlinux_set_root_password () { } ROOTFS_POSTPROCESS_COMMAND += "mlinux_set_root_password;" +# set custom product sw version to /etc/issue file if $FIRMWARE_PRODUCT_VER is set +mlinux_set_product_version () { + if [ -n "${FIRMWARE_PRODUCT_VER}" ]; then + # set issue + if cat ${IMAGE_ROOTFS}/etc/issue | grep "Version: " > /dev/null 2>&1 ; then + # replace + sed -i "s/^Version: .*$/Version: $FIRMWARE_PRODUCT_VER/g" ${IMAGE_ROOTFS}/etc/issue + sed -i "s/^Date: .*$/Date: $FIRMWARE_PRODUCT_DATE/g" ${IMAGE_ROOTFS}/etc/issue + else + # add + echo "" >> ${IMAGE_ROOTFS}/etc/issue + echo "Version: ${FIRMWARE_PRODUCT_VER}" >> ${IMAGE_ROOTFS}/etc/issue + echo "Date: $(date +%Y-%m-%dT%H:%M:%S)" >> ${IMAGE_ROOTFS}/etc/issue + fi + fi +} +ROOTFS_POSTPROCESS_COMMAND += "mlinux_set_product_version;" + # generate upgrade.bin files -- provides single file for upgrades do_firmware () { cd ${DEPLOY_DIR_IMAGE} diff --git a/recipes-connectivity/ppp/ppp-2.4.7/ip-up b/recipes-connectivity/ppp/ppp-2.4.7/ip-up index fc2fae9..b78e688 100755 --- a/recipes-connectivity/ppp/ppp-2.4.7/ip-up +++ b/recipes-connectivity/ppp/ppp-2.4.7/ip-up @@ -41,4 +41,9 @@ export PPP_TTYNAME run-parts /etc/ppp/ip-up.d +# save timestamp +linkuptime=$(cat /proc/uptime) +linkuptime=${linkuptime%%.*} +echo "$linkuptime" > /var/run/pppisup-$PPP_IFACE.sec + # last line diff --git a/recipes-connectivity/ppp/ppp_2.4.7.bb b/recipes-connectivity/ppp/ppp_2.4.7.bb index 8a94318..881c40e 100644 --- a/recipes-connectivity/ppp/ppp_2.4.7.bb +++ b/recipes-connectivity/ppp/ppp_2.4.7.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77 file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \ file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \ file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2" -PR = "r7" +PR = "r8" SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \ file://makefile.patch \ diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.0.inc b/recipes-core/mlinux-scripts/mlinux-scripts-1.0.inc index fd75904..979fc4c 100644 --- a/recipes-core/mlinux-scripts/mlinux-scripts-1.0.inc +++ b/recipes-core/mlinux-scripts/mlinux-scripts-1.0.inc @@ -6,7 +6,9 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda SRC_URI = "file://mlinux-wifi-ap \ file://mlinux-dhcpd \ file://mlinux-set-apn \ - file://mlinux-cell-router" + file://mlinux-cell-router \ + file://mlinux-firmware-upgrade \ +" do_install() { @@ -15,4 +17,5 @@ do_install() { install -m 755 ${WORKDIR}/mlinux-dhcpd ${D}${sbindir} install -m 755 ${WORKDIR}/mlinux-set-apn ${D}${sbindir} install -m 755 ${WORKDIR}/mlinux-cell-router ${D}${sbindir} + install -m 755 ${WORKDIR}/mlinux-firmware-upgrade ${D}${sbindir} } diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.0/mlinux-firmware-upgrade b/recipes-core/mlinux-scripts/mlinux-scripts-1.0/mlinux-firmware-upgrade new file mode 100755 index 0000000..94027d5 --- /dev/null +++ b/recipes-core/mlinux-scripts/mlinux-scripts-1.0/mlinux-firmware-upgrade @@ -0,0 +1,57 @@ +#!/bin/bash + +if [ $# != 1 ]; then + echo "Usage: $0 upgrade.bin" + exit 1 +fi + +set -e +upgrade=$1 + +mkdir -p /var/volatile +cd /var/volatile + +# make sure firmware is for this device +hw_version=$(cat /sys/devices/platform/mts-io/hw-version) +firmware_model=$(tar -xO -f $upgrade model) +shopt -s nocasematch +if [[ ! "$hw_version" =~ ^$firmware_model- ]]; then + logger -s -t firmware_upgrade "Wrong firmware for this hardware" + logger -s -t firmware_upgrade "hw version: $hw_version" + logger -s -t firmware_upgrade "firmware model: $firmware_model" + exit 1 +fi + +files=(bstrap.bin uboot.bin uImage.bin config.jffs2 oem.jffs2 rootfs.jffs2) + +tobeflashed=0 +# verify all MD5 sums +for (( i = 0; i < ${#files[@]}; i++ )); do + file=${files[i]} + # if the file is in the tar, md5sum it + if tar -t -f $upgrade | grep -F -q "$file"; then + logger -s -t firmware_upgrade "Checking MD5 for $file..." + if ! tar -x -f $upgrade $file.md5; then + logger -s -t firmware_upgrade "MD5 is not found for the $file, upgrade aborted" + exit 1 + fi + if ! tar -xO -f $upgrade $file | md5sum -c $file.md5; then + logger -s -t firmware_upgrade "MD5 check failed, upgrade aborted" + exit 1 + fi + tobeflashed=1 + fi +done + +if (( $tobeflashed )); then + mkdir -p /var/volatile/flash-upgrade + mv -f $upgrade /var/volatile/flash-upgrade/upgrade.bin + touch /var/volatile/do_flash_upgrade + logger -s -t firmware_upgrade "Rebooting" + sleep 1 + reboot + exit 0 +else + logger -s -t firmware_upgrade "Nothing to be flashed!" + exit 1 +fi diff --git a/recipes-core/mlinux-scripts/mlinux-scripts_1.0.bb b/recipes-core/mlinux-scripts/mlinux-scripts_1.0.bb index 6b0d37f..9fb8fbd 100644 --- a/recipes-core/mlinux-scripts/mlinux-scripts_1.0.bb +++ b/recipes-core/mlinux-scripts/mlinux-scripts_1.0.bb @@ -2,6 +2,6 @@ DESCRIPTION = "Scripts to easily get started with common mLinux use cases" require mlinux-scripts-1.0.inc -PR = "r4" +PR = "r5" S = "${WORKDIR}/mlinux-scripts-${PV}" |