summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Stockhausen2024-10-15 12:57:41 +0000
committerRobert Marko2024-10-22 08:10:17 +0000
commit3098b4bf0725509aee13fe1560ce5a9188ea2fc7 (patch)
tree1878c4f5395d58a7631c94403bbdaf1bfc3e34cb
parente1d60139350daed88dbb6657d940af5ecfd11825 (diff)
downloadopenwrt-3098b4bf0725509aee13fe1560ce5a9188ea2fc7.tar.gz
scripts: linksys-image: add NAND devices
The larger switches of the Linksys LGS series (e.g. LGS352C) make use of NAND. So the vendor firmware uses other commands to upload an image through the WebUI. Add the required scripts. With this we can upload an image to all devices of that series. Independant of NOR or NAND. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/16711 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rwxr-xr-xscripts/linksys-image.sh24
1 files changed, 21 insertions, 3 deletions
diff --git a/scripts/linksys-image.sh b/scripts/linksys-image.sh
index f0398662fb..d35439907e 100755
--- a/scripts/linksys-image.sh
+++ b/scripts/linksys-image.sh
@@ -38,8 +38,8 @@ gen_fwinfo() {
echo 'FW_VERSION=1.01.100\nBOOT_VERSION=01.00.01'
}
-# The central upgrade script. It allows to install OpenWrt only to first partition.
-gen_imageupgrade() {
+# NOR upgrade script. It allows to install OpenWrt only to first partition.
+gen_nor_upgrade() {
echo '#!/bin/sh'
echo 'flash_bank=65536'
echo 'filesize=`stat --format=%s ./series_vmlinux.bix`'
@@ -58,16 +58,34 @@ gen_imageupgrade() {
echo 'esac'
}
+# NAND upgrade script. It allows to install OpenWrt only to first partition.
+gen_nand_upgrade() {
+ echo '#!/bin/sh'
+ echo 'case $1 in'
+ echo '1)'
+ echo 'flash_eraseall $2 >/dev/null 2>&1'
+ echo 'nandwrite -p $2 ./series_vmlinux.bix >/dev/null 2>&1'
+ echo 'mtd_debug read $2 0 100 image1.img >/dev/null 2>&1'
+ echo 'CreateImage -r ./image1.img > /tmp/app/image1.txt'
+ echo 'echo 0'
+ echo ';;'
+ echo '*)'
+ echo 'echo 1'
+ echo 'esac'
+}
+
tmpdir="$( mktemp -d 2> /dev/null )"
imgdir=$tmpdir/image
mkdir $imgdir
gen_imagecheck $3 > $imgdir/iss_imagecheck.sh
-gen_imageupgrade > $imgdir/iss_imageupgrade.sh
+gen_nor_upgrade > $imgdir/iss_imageupgrade.sh
+gen_nand_upgrade > $imgdir/iss_nand_imageupgrade.sh
gen_fwinfo > $imgdir/firmware_information.txt
chmod +x $imgdir/iss_imagecheck.sh
chmod +x $imgdir/iss_imageupgrade.sh
+chmod +x $imgdir/iss_nand_imageupgrade.sh
cp $1 $imgdir/series_vmlinux.bix