From beda11255b27d2ec089aae4d8248000f213d323b Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 29 Jan 2016 23:19:41 +0000 Subject: [PATCH] octeon: get rid of /lib/functions/octeon.sh hackery, use sysinfo directly Fixes sysupgrade Signed-off-by: Felix Fietkau SVN-Revision: 48558 --- .../octeon/base-files/etc/board.d/01_network | 5 +- .../octeon/base-files/lib/functions/octeon.sh | 50 ------------------- .../octeon/base-files/lib/preinit/20_sysinfo | 31 ++++++++++++ .../base-files/lib/preinit/79_move_config | 6 +-- .../octeon/base-files/lib/upgrade/platform.sh | 8 ++- 5 files changed, 36 insertions(+), 64 deletions(-) delete mode 100755 target/linux/octeon/base-files/lib/functions/octeon.sh create mode 100644 target/linux/octeon/base-files/lib/preinit/20_sysinfo diff --git a/target/linux/octeon/base-files/etc/board.d/01_network b/target/linux/octeon/base-files/etc/board.d/01_network index 3c1e843b6c..851b7e8f18 100755 --- a/target/linux/octeon/base-files/etc/board.d/01_network +++ b/target/linux/octeon/base-files/etc/board.d/01_network @@ -4,13 +4,10 @@ # . /lib/functions/uci-defaults.sh -. /lib/functions/octeon.sh board_config_update -board=$(octeon_board_name) - -case "$board" in +case "$(cat /tmp/sysinfo/board_name)" in erlite) ucidef_set_interfaces_lan_wan "eth0" "eth1" ;; diff --git a/target/linux/octeon/base-files/lib/functions/octeon.sh b/target/linux/octeon/base-files/lib/functions/octeon.sh deleted file mode 100755 index deae9e3778..0000000000 --- a/target/linux/octeon/base-files/lib/functions/octeon.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2010-2013 OpenWrt.org -# - -OCTEON_BOARD_NAME= -OCTEON_MODEL= - -octeon_board_detect() { - local machine - local name - - machine=$(grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g") - - case "$machine" in - "UBNT_E100"*) - name="erlite" - ;; - - "UBNT_E200"*) - name="er" - ;; - - "UBNT_E220"*) - name="erpro" - ;; - - *) - name="generic" - ;; - esac - - [ -z "$OCTEON_BOARD_NAME" ] && OCTEON_BOARD_NAME="$name" - [ -z "$OCTEON_MODEL" ] && OCTEON_MODEL="$machine" - - [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" - - echo "$OCTEON_BOARD_NAME" > /tmp/sysinfo/board_name - echo "$OCTEON_MODEL" > /tmp/sysinfo/model -} - -octeon_board_name() { - local name - - [ -f /tmp/sysinfo/board_name ] || octeon_board_detect - [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) - [ -z "$name" ] && name="unknown" - - echo "$name" -} diff --git a/target/linux/octeon/base-files/lib/preinit/20_sysinfo b/target/linux/octeon/base-files/lib/preinit/20_sysinfo new file mode 100644 index 0000000000..d8f467ed27 --- /dev/null +++ b/target/linux/octeon/base-files/lib/preinit/20_sysinfo @@ -0,0 +1,31 @@ +do_sysinfo_octeon() { + local machine + local name + + machine=$(grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g") + + case "$machine" in + "UBNT_E100"*) + name="erlite" + ;; + + "UBNT_E200"*) + name="er" + ;; + + "UBNT_E220"*) + name="erpro" + ;; + + *) + name="generic" + ;; + esac + + [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" + + echo "$name" > /tmp/sysinfo/board_name + echo "$machine" > /tmp/sysinfo/model +} + +boot_hook_add preinit_main do_sysinfo_octeon diff --git a/target/linux/octeon/base-files/lib/preinit/79_move_config b/target/linux/octeon/base-files/lib/preinit/79_move_config index 39cefd53db..669999e2e3 100644 --- a/target/linux/octeon/base-files/lib/preinit/79_move_config +++ b/target/linux/octeon/base-files/lib/preinit/79_move_config @@ -2,11 +2,7 @@ # Copyright (C) 2014 OpenWrt.org move_config() { - . /lib/functions/octeon.sh - - local board="$(octeon_board_name)" - - case "$board" in + case "$(cat /tmp/sysinfo/board_name)" in erlite) mount -t vfat /dev/sda1 /mnt mv -f /mnt/sysupgrade.tgz / diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh b/target/linux/octeon/base-files/lib/upgrade/platform.sh index 4cb03bc984..91763ce1c6 100755 --- a/target/linux/octeon/base-files/lib/upgrade/platform.sh +++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh @@ -2,8 +2,6 @@ # Copyright (C) 2014 OpenWrt.org # -. /lib/functions/octeon.sh - platform_get_rootfs() { local rootfsdev @@ -24,7 +22,7 @@ platform_get_rootfs() { } platform_copy_config() { - local board="$(octeon_board_name)" + local board="$(cat /tmp/sysinfo/board_name)" case "$board" in erlite) @@ -60,7 +58,7 @@ platform_do_flash() { platform_do_upgrade() { local tar_file="$1" - local board=$(octeon_board_name) + local board=$(cat /tmp/sysinfo/board_name) local rootfs="$(platform_get_rootfs)" local kernel= @@ -83,7 +81,7 @@ platform_do_upgrade() { } platform_check_image() { - local board=$(octeon_board_name) + local board=$(cat /tmp/sysinfo/board_name) case "$board" in erlite | \ -- 2.25.1