Hi Roman,
Op vrijdag 8 januari 2021 om 19:31 schreef Roman Kuzmitskii
<damex...@icloud.com>:
there is no good way to differentiate between devices in runtime if
they
use the same platform.
custom dts would be a better solution in case of edgerouter lite since
upstream (kernel) already have one for e100 (edgerouter lite).
could we reuse it?
I have no idea if it's possible, but I was thinking about an additional
DTS that overrides the 'compatible' property. Haven't yet found if this
is possible at all though, overriding that value.
Stijn
On Jan 8, 2021, at 10:11 PM, Stijn Segers <f...@volatilesystems.org>
wrote:
Hi,
Op vrijdag 8 januari 2021 om 13u29 schreef Adrian Schmutzler
<m...@adrianschmutzler.de>:
Hi,
-----Original Message-----
From: openwrt-devel
[mailto:openwrt-devel-boun...@lists.openwrt.org]
On Behalf Of Stijn Segers
Sent: Freitag, 8. Januar 2021 11:28
To: openwrt-devel@lists.openwrt.org
Subject: [PATCH 1/2] octeon: rename erlite to ubnt,erlite
Prefix EdgeRouter Lite board_name value with vendor abbreviation
UBNT, as
other Ubiquiti devices do, and use full name "Ubiquiti EdgeRouter
Lite" as
model value.
If we touch this, please use ubnt,edgerouter-lite to match the
devices in other targets.
Will do.
I always wanted to do this but never did it because I don't have
the device to test and breaking sysupgrade was not an option for me
here.
However, with BOARD_NAME in place I'm not sure whether sysupgrade
would still break if you also add SUPPORTED_DEVICES properly.
I'll add SUPPORTED_DEVICES to the v2 just to be on the safe side.
Additional comments below.
Signed-off-by: Stijn Segers <f...@volatilesystems.org>
---
.../octeon/base-files/lib/preinit/01_sysinfo | 10 ++++++++--
.../octeon/base-files/lib/preinit/79_move_config | 2 +-
.../octeon/base-files/lib/upgrade/platform.sh | 16
++++++++--------
3 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/target/linux/octeon/base-files/lib/preinit/01_sysinfo
b/target/linux/octeon/base-files/lib/preinit/01_sysinfo
index d66618b0cf..497116b2c7 100644
--- a/target/linux/octeon/base-files/lib/preinit/01_sysinfo
+++ b/target/linux/octeon/base-files/lib/preinit/01_sysinfo
@@ -6,7 +6,8 @@ do_sysinfo_octeon() {
case "$machine" in
"UBNT_E100"*)
- name="erlite"
+ name="ubnt,erlite"
+ model="Ubiquiti EdgeRouter Lite"
;;
"UBNT_E200"*)
@@ -34,7 +35,12 @@ do_sysinfo_octeon() {
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$name" > /tmp/sysinfo/board_name
- echo "$machine" > /tmp/sysinfo/model
+ if [ -z "$model" ]
+ then
+ echo "$machine" > /tmp/sysinfo/model
+ else
+ echo "$model" > /tmp/sysinfo/model
+ fi
What's the purpose of this change? If it just "adds a friendly
name" it should probably be separate, as the rest is about changing
the board_name.
I'll split this out into a separate patch. This is cosmetic indeed,
so /tmp/sysinfo/model (and LuCI) don't display the architecture as
'model'. The EdgeRouter 4 e.g. does not suffer from this because it
uses an external DTS that sets the model value.
I could do the same for the other machine matches, but it looks like
the UBNT_E[0-9][0-9]0 values are crude indicators of what device
OpenWrt is running on...
A quick online search gave this:
- UBNT E100: EdgeRouter Lite (ERLite-3), but also EdgeRouter PoE
(ERPoe-5) e.g.
- UBNT E200: EdgeRouter (ER-8) & EdgeRouter Pro (ERPro-8)
- UBNT E220: UniFi Security Gateway Pro 4 (USG Pro-4), but also
EdgeRouter
So what's the best way to deduplicate this? A custom DTS per device
that overrides upstream board_name and model, but inherits the
remainder of the DTS?
Thanks
Stijn
Best
Adrian
}
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 5a84e6f18a..fb917ec39e 100644
--- a/target/linux/octeon/base-files/lib/preinit/79_move_config
+++ b/target/linux/octeon/base-files/lib/preinit/79_move_config
@@ -15,7 +15,7 @@ octeon_move_config() {
. /lib/functions.sh
case "$(board_name)" in
- erlite)
+ ubnt,erlite)
move_config "/dev/sda1"
;;
itus,shield-router)
diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh
b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index ad5baef4a1..5e5f33b719 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -19,11 +19,6 @@ platform_get_rootfs() {
platform_copy_config() {
case "$(board_name)" in
- erlite)
- mount -t vfat /dev/sda1 /mnt
- cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
- umount /mnt
- ;;
itus,shield-router)
mount -t vfat /dev/mmcblk1p1 /mnt
cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
@@ -34,6 +29,11 @@ platform_copy_config() {
cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
umount /mnt
;;
+ ubnt,erlite)
+ mount -t vfat /dev/sda1 /mnt
+ cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
+ umount /mnt
+ ;;
esac
}
@@ -87,7 +87,7 @@ platform_do_upgrade() {
ubnt,edgerouter-4)
kernel=mmcblk0p1
;;
- erlite)
+ ubnt,erlite)
kernel=sda1
;;
itus,shield-router)
@@ -112,9 +112,9 @@ platform_check_image() {
case "$board" in
er | \
- erlite | \
itus,shield-router | \
- ubnt,edgerouter-4)
+ ubnt,edgerouter-4 | \
+ ubnt,erlite)
local kernel_length=$(tar xf $tar_file $board_dir/kernel -O |
wc -c 2> /dev/null)
local rootfs_length=$(tar xf $tar_file $board_dir/root -O | wc
-c 2> /dev/null)
[ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && {
--
2.20.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel