octeon: get rid of /lib/functions/octeon.sh hackery, use sysinfo directly
authorFelix Fietkau <nbd@openwrt.org>
Fri, 29 Jan 2016 23:19:41 +0000 (23:19 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 29 Jan 2016 23:19:41 +0000 (23:19 +0000)
Fixes sysupgrade

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48558

target/linux/octeon/base-files/etc/board.d/01_network
target/linux/octeon/base-files/lib/functions/octeon.sh [deleted file]
target/linux/octeon/base-files/lib/preinit/20_sysinfo [new file with mode: 0644]
target/linux/octeon/base-files/lib/preinit/79_move_config
target/linux/octeon/base-files/lib/upgrade/platform.sh

index 3c1e843b6c9163078db325e7df5f2b583b79ceeb..851b7e8f184b5eef4032da9223ed21f65f34ebcc 100755 (executable)
@@ -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 (executable)
index deae9e3..0000000
+++ /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 (file)
index 0000000..d8f467e
--- /dev/null
@@ -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
index 39cefd53dbc8752e15d836b7cace7890769bb513..669999e2e37698ff0823f2e4e6f96e795ebf8720 100644 (file)
@@ -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 /
index 4cb03bc984409680277a8c544fd5ff3644bd203b..91763ce1c66a6900e753a64da495a28a4ef02989 100755 (executable)
@@ -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 | \