[openwrt/openwrt] scripts: linksys-image: add NAND devices

LEDE Commits lede-commits at lists.infradead.org
Tue Oct 22 01:10:21 PDT 2024


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/3098b4bf0725509aee13fe1560ce5a9188ea2fc7

commit 3098b4bf0725509aee13fe1560ce5a9188ea2fc7
Author: Markus Stockhausen <markus.stockhausen at gmx.de>
AuthorDate: Tue Oct 15 08:57:41 2024 -0400

    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 at gmx.de>
    Link: https://github.com/openwrt/openwrt/pull/16711
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 scripts/linksys-image.sh | 24 +++++++++++++++++++++---
 1 file 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
 




More information about the lede-commits mailing list