<html><head></head><body>Hey Steffen,<br>
<br>
den fraglichen Teil hab ich an der ML vorbei beigesteuert, da ich Jan nicht verbal mit meinen Vorstellungen nerven wollte sondern  lieber mit Umsetzung.<br>
<br>
Hintergrund war, das sich einige image Namen nicht in das bisherige Schema pressen lassen. So ist zum Beispiel squashfs nur ein qulifier und nicht immer vorhanden. Ich von grad unterwegs und kann nicht nach schauen, aber der dateiname für das banana pi Router board ist ein gutes Beispiel.<br>
<br>
Du hast aber recht. Chipset gibt es immer und sollte auch gesetzt werden und wenn bash das mit Hausmittel kann(wieder was gelernt) dann nehmen wir lieber die.<br>
<br>
Ich mach das dann.<br>
<br>
Grüße<br>
Tobias<br><br><div class="gmail_quote">Am 20. März 2016 11:43:33 MEZ, schrieb Steffen Pankratz <kratz00@gmx.de>:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On Thu, 17 Mar 2016 18:41:33 +0100<br />Jan Kraus <mayosemmel@googlemail.com> wrote:<br /><br />Hi Jan,<br /><br />meine Anmerkungen findest du wie immer 'inline'.<br /><br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> Signed-off-by: Jan Kraus <mayosemmel@gmail.com><br /> <br /> suggested-by: Alexander Wunschik <freifunk@wunschik.net><br /> Co-Authored-By: Alexander Wunschik <freifunk@wunschik.net><br /> <br /> Co-Authored-By: Tobias Klaus <tk+ff@meskal.net><br /> ---<br />  bsp/board_ar71xx.bsp                           | 49 ++++++++++----------------<br />  bsp/board_wdr4300.bsp                          | 29 +++++----------<br />  bsp/board_wdr4900.bsp                          | 14 +++-----<br />  bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a> | 26 ++++++++------<br />  buildscript                                    |
19 ++++++++--<br />  5 files changed, 64 insertions(+), 73 deletions(-)<br /> <br /> diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp<br /> index 4876631..1834d16 100644<br /> --- a/bsp/board_ar71xx.bsp<br /> +++ b/bsp/board_ar71xx.bsp<br /> @@ -1,5 +1,23 @@<br />  machine=ar71xx<br /> +chipset=ar71xx<br />  target=$builddir/$machine<br /> +images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-ubnt-loco-m-xw-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin"<br /> +       
"openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wr1043nd-v3-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wa860re-v1-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wa850re-v1-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-gl-ar150-squashfs-sysupgrade.bin"<br /> +        )<br />  <br />  board_prepare() {<br />      echo "nothing todo" > /dev/null<br /> @@ -8,34 +26,3 @@ board_prepare() {<br />  board_prebuild() {<br />      echo "nothing todo" > /dev/null<br />  }<br /> -<br /> -board_postbuild() {<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-ubnt-nano-m-squashfs-*.bin ./bin/<br /> -<br /> -    cp
$target/bin/ar71xx/openwrt-ar71xx-generic-ubnt-loco-m-xw-squashfs-*.bin ./bin/<br /> -<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-*.bin ./bin/<br /> -<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-*.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-*.bin ./bin/<br /> -<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-*.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-*.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-*.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-*.bin ./bin/<br /> -<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-*.bin ./bin/<br /> -<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-*.bin ./bin/<br /> -    cp
$target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-*.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v3-squashfs-*.bin ./bin/<br /> -<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wa860re-v1-squashfs-*.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wa850re-v1-squashfs-*.bin ./bin/<br /> -<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-gl-ar150-squashfs-*.bin ./bin/<br /> -}<br /> -<br /> -board_clean() {<br /> -    /bin/rm -rf $target bin/*$machine*<br /> -}<br /> diff --git a/bsp/board_wdr4300.bsp b/bsp/board_wdr4300.bsp<br /> index 7e6c66e..514d589 100644<br /> --- a/bsp/board_wdr4300.bsp<br /> +++ b/bsp/board_wdr4300.bsp<br /> @@ -1,28 +1,17 @@<br />  machine=wdr4300<br /> +chipset=ar71xx<br />  target=$builddir/$machine<br /> +images=(<br /> +        "openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-sysupgrade.bin"<br /> +       
"openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin"<br /> +        "openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-sysupgrade.bin"<br /> +       )<br />  <br />  board_prepare() {<br /> - echo "nothing todo" > /dev/null<br /> +    echo "nothing todo" > /dev/null<br />  }<br />  <br />  board_prebuild() {<br /> - echo "nothing todo" > /dev/null<br /> +    echo "nothing todo" > /dev/null<br />  }<br /> -<br /> -board_postbuild() {<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-factory.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-sysupgrade.bin ./bin/<br /> -<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin ./bin/<br /> -<br /> -    cp
$target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin ./bin/<br /> -<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-factory.bin ./bin/<br /> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-sysupgrade.bin ./bin/<br /> -}<br /> -<br /> -board_clean() {<br /> - /bin/rm -rf $target bin/*$machine*<br /> -}<br /> \ No newline at end of file<br /> diff --git a/bsp/board_wdr4900.bsp b/bsp/board_wdr4900.bsp<br /> index 777b3b5..5428d82 100644<br /> --- a/bsp/board_wdr4900.bsp<br /> +++ b/bsp/board_wdr4900.bsp<br /> @@ -1,6 +1,11 @@<br />  machine=wdr4900<br /> +chipset=mpc85xx<br />  target=$builddir/$machine<br />  <br /> +images=(<br /> +        "openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin"<br /> +       )<br /> +<br />  board_prepare() {<br />   echo "nothing todo" > /dev/null<br />  }<br
/> @@ -8,12 +13,3 @@ board_prepare() {<br />  board_prebuild() {<br />   echo "nothing todo" > /dev/null<br />  }<br /> -<br /> -board_postbuild() {<br /> -    cp $target/bin/mpc85xx/openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-factory.bin ./bin/<br /> -    cp $target/bin/mpc85xx/openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin ./bin/<br /> -}<br /> -<br /> -board_clean() {<br /> - /bin/rm -rf $target bin/*$machine*<br /> -}<br /> \ No newline at end of file<br /> diff --git a/bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a> b/bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a><br /> index e954514..a90164d 100755<br /> --- a/bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a><br /> +++ b/bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a><br /> @@ -1,21 +1,25 @@<br />  #!/bin/sh<br /> +cd /tmp/<br />  <br /> -BOARD=`uci get <a
href="http://board.model.name">board.model.name</a>`<br /> +. /etc/firmware_release<br />  <br /> -case $BOARD in<br /> -    tl-wdr4900-v1 )<br /> -        SOC="mpc85xx" ;;<br /> -    * )<br /> -        SOC="ar71xx" ;;<br /> -esac<br /> +BOARD=$(uci get <a href="http://board.model.name">board.model.name</a>)<br /> +echo -ne "\nHardware: $BOARD\n"<br />  <br /> -FILE="openwrt-${SOC}-generic-${BOARD}-squashfs-sysupgrade.bin"<br /> +wget $(uci get firmware.upgrade.path)/release.nfo<br /> +if [ ! -f release.nfo ]; then<br /> +  echo -ne "Latest release information not found. Please try to update manually.\n\n"<br /> +  exit 1<br /> +fi<br /> +VERSION=$(grep -Po '(?<=^VERSION:).*' release.nfo)<br /> +rm -f release.nfo<br /> +echo -ne "Firmware found on server: $VERSION\n"<br />  <br /> -echo -ne "\nHardware: $BOARD\n"<br /> +FILE="fff-${FIRMWARE_COMMUNITY}_${VERSION}_${BOARD}-sysupgrade.bin"<br />  echo -ne "Downloading $FILE\n\n"<br /> -cd /tmp/<br />  wget $(uci get
firmware.upgrade.path)/${FILE}<br />  wget $(uci get firmware.upgrade.path)/${FILE}.md5<br /> +<br />  echo -ne "\ndone. Comparing md5 sums: "<br />  md5sum -c ${FILE}.md5<br />  ret=$?<br /> @@ -32,4 +36,4 @@ else<br />          [Nn]|* ) echo -ne "\nAborting firmware upgrade.\n\n"; rm -f ${FILE}*; exit 0;;<br />      esac<br />    done<br /> -fi<br /> \ No newline at end of file<br /> +fi<br /> diff --git a/buildscript b/buildscript<br /> index fcc3f3d..ded4c82 100755<br /> --- a/buildscript<br /> +++ b/buildscript<br /> @@ -268,12 +268,27 @@ config() {<br />      cd "$opath"<br />  }<br />  <br /> +cp_firmware() {<br /> +    for image in ${images[@]}; do<br /> +        filename_build=$(echo $image | sed -e "s/openwrt/${community}_${version}/")<br /> +        if [[ -n "$chipset" ]] ; then<br /> +          filename_build=$(echo $filename_build | sed -e "s/${chipset}//")<br /> +        fi<br /></blockquote><br />Mir ist nicht klar fuer was die "Chipset"-Abfrage gut ist, da Chipset
doch immer gesetzt ist.<br />Wieso hast du ueberhaupt das ganze Umbenennen der Images von v7 auf v8 geaendert?<br />Die Variante in v7 mit den "Board"-Namen erschien mir deutlich schlanker.<br />Habe ich Einwaende von anderen verpasst?<br /><br />Noch als Tipp, es geht mit Bash auch ohne sed, Beispiel:<br /><br />string="stirng" ; echo "${string//ir/ri}"<br /><br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> +        cp "$target/bin/${chipset}/$image" "./bin/$filename_build"<br /> +<br /> +        image_factory="$(echo $image | sed -e 's/sysupgrade/factory/')"<br /> +        if [[ -f "$target/bin/${chipset}/$image_factory" ]]; then<br /> +          filename_build_factory="$(echo $filename_build | sed -e 's/sysupgrade/factory/')"<br /> +          cp "$target/bin/${chipset}/$image_factory" "./bin/$filename_build_factory"<br /> +        fi<br /> +    done<br /> +}<br /> +<br />  postbuild() {<br /> -   
board_postbuild<br /> +    cp_firmware<br />  }<br />  <br />  clean() {<br /> -    board_clean<br />      /bin/rm -rf bin $builddir src/openwrt<br />  <br />      # remove downloaded package feeds<br /> -- <br /> 2.1.4<br /></blockquote><br /><br />Gruss<br />-Steffen<br /></pre></blockquote></div></body></html>