Re: Firmware bauen für wr842nd
Chris
anmelden1 at chrisi01.de
Di Jul 7 19:30:22 CEST 2015
Und wärend ich jetzt die ganze Mail fertig zum absenden hatte, ist mir
mein Fehler aufgefallen. Es gibt ja im ~/firmware/bsp/wr842 noch die
versteckte .config Datei, beim kopieren bin ich damals drüber gestolpert
weil wegen vergessen weil nicht gesehen (hab da dann auch die aus dem
wr841 Ordner geschnappt). Beim editieren hab ich aber nicht mehr dran
gedacht. Du kannst die Mail jetzt ruhig lesen, löschen tu ich sie nicht
mehr war genug Mühe das zu tippen aber die Lösung hab ich mittlerweile
glaub ich selbst gefunden ;) Bin jetzt am erneuten testen, ich meld mich
wenns nicht klappen sollte
Am 07.07.2015 um 17:52 schrieb Tobias Klaus:
> Hey Chris,
>
> Am Dienstag, 7. Juli 2015, 15:09:50 schrieb Chris:
>> naja die Datei die ich am Ende erhalten habe, war das Original OpenWRT
>> Image, es war bis auf das Byte gleich und ein Routerflash hat auch
>> gezeigt das von Freifunk Franken nichts drinnen war, es ist das normale
>> blanke OpenWRT auf dem Router gewesen, ich trau mir zu wetten das ein
>> Checksumevergleich das Ergebnis gebracht hätte das es die gleiche Datei
>> wie das OpenWRT Image war, gemacht hab ich das aber nicht mehr.
>>
>> Ich hab jetzt nochmal von null angefangen um ausschließen zu können das
>> ich irgendwo, irgendwas falsch hinkopiert habe, hab anfangs einiges
>> rumgetestet und dabei evtl. was durcheinander gebracht. Diesmal dann
>> strickt nach Anleitung und vorwissen vorgegangen. Ich bleib beim
>> kompilieren jetzt hier stecken:
>>
>> make[3] -C target/linux install
>> make[2] package/index
>> cp: der Aufruf von stat für
>> „./build/wr842/bin/ar71xx/openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-facto
>> ry.bin“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
>> christian at debian:~/firmware$
>>
>> ich glaub ich hab damals einfach in das Verzeichnis
>> ~/firmware/build/wr842/bin/ar71xx/ die dort gesuchte Datei (das fertige
>> openwrt image aus dem Internet geladen) reinkopiert. Ist das richtig
>> gewesen oder muss ich da was anderes machen?
> Ich bin mir gerade nicht sicher welches copy da genau kaputt geht, allerdings
> ist das herunterladen des fertigen Images _nicht_ die Lösung. Näheres siehe
> unten.
ok jetzt hab ich es kapiert, er hat das fertige Image einfach am Ende
rüberkopiert und deshalb hatte ich am Ende auch das fertige openwrt
Image das ich auf den Router geflasht habe ;) das ganze kompilieren war
für die Katz' und nur der cp am Ende hat die fertige Datei ins
vermeindlich richtig Verzeichnis kopiert *g*
> Kann es sein, dass vorher schon Fehler auftreten? Gerade wenn Fehler beim
> packen der Firmware auftreten, wird das vom openwrt-buildsystem oft nicht
> angezeigt, sondern es äußert sich durch das Fehlen der entsprechenden Datei.
> Da hilft dann nur aufmerksam lesen/richtiges suchen, oder vielleicht ein build
> log hier an die Liste schicken. Da "package/index" allerdings der letzte
> Schritt sein müsste vermute ich den Fehler woanders(siehe weiter unten.).
zumindest im kompletten
./buildscript build
ist kein Fehler vorher aufgetreten. Das
./buildscript prepare
hab ich jetzt allerdings nicht kontrolliert, müsste ich?
hier mal (sorry etwas lang) das gesamte ./buildscript build log:
--------------
christian at debian:~/firmware$ ./buildscript build
Working with bsp/board_wr842.bsp and community/franken.cfg
Translating ./build/wr842/files/etc/rc.local.tpl ..
Translating ./build/wr842/files/etc/config/system.tpl ..
Translating ./build/wr842/files/etc/config/configurator.tpl ..
Translating ./build/wr842/files/etc/config/firmware.tpl ..
Translating ./build/wr842/files/etc/config/wireless.tpl ..
Translating ./build/wr842/files/etc/fastdstart.sh.tpl ..
Collecting package info: done
make[1] world
make[2] tools/install
make[2] package/cleanup
make[3] -C tools/sed compile
make[3] -C tools/patch compile
make[3] -C tools/xz compile
make[3] -C tools/sstrip compile
make[3] -C tools/firmware-utils compile
make[3] -C tools/patch-image compile
make[3] -C tools/findutils compile
make[3] -C tools/flock compile
make[3] -C tools/patch install
make[3] -C tools/sed install
make[3] -C tools/xz install
make[3] -C tools/sstrip install
make[3] -C tools/ipkg-utils compile
make[3] -C tools/genext2fs compile
make[3] -C tools/mkimage compile
make[3] -C tools/firmware-utils install
make[3] -C tools/patch-image install
make[3] -C tools/findutils install
make[3] -C tools/yaffs2 compile
make[3] -C tools/flock install
make[3] -C tools/cmake compile
make[3] -C tools/scons compile
make[3] -C tools/bc compile
make[3] -C tools/lzma-old compile
make[3] -C tools/lzma compile
make[3] -C tools/squashfs4 compile
make[3] -C tools/m4 compile
make[3] -C tools/libtool compile
make[3] -C tools/pkg-config compile
make[3] -C tools/ipkg-utils install
make[3] -C tools/genext2fs install
make[3] -C tools/mkimage install
make[3] -C tools/yaffs2 install
make[3] -C tools/padjffs2 compile
make[3] -C tools/scons install
make[3] -C tools/bc install
make[3] -C tools/lzma-old install
make[3] -C tools/lzma install
make[3] -C tools/squashfs4 install
make[3] -C tools/m4 install
make[3] -C tools/libtool install
make[3] -C tools/pkg-config install
make[3] -C tools/padjffs2 install
make[3] -C tools/squashfs compile
make[3] -C tools/autoconf compile
make[3] -C tools/squashfs install
make[3] -C tools/autoconf install
make[3] -C tools/automake compile
make[3] -C tools/quilt compile
make[3] -C tools/automake install
make[3] -C tools/quilt install
make[3] -C tools/mm-macros compile
make[3] -C tools/xorg-macros compile
make[3] -C tools/xfce-macros compile
make[3] -C tools/missing-macros compile
make[3] -C tools/gmp compile
make[3] -C tools/libelf compile
make[3] -C tools/flex compile
make[3] -C tools/mklibs compile
make[3] -C tools/e2fsprogs compile
make[3] -C tools/mm-macros install
make[3] -C tools/xorg-macros install
make[3] -C tools/xfce-macros install
make[3] -C tools/missing-macros install
make[3] -C tools/cmake install
make[3] -C tools/gmp install
make[3] -C tools/libelf install
make[3] -C tools/flex install
make[3] -C tools/mklibs install
make[3] -C tools/mpfr compile
make[3] -C tools/bison compile
make[3] -C tools/e2fsprogs install
make[3] -C tools/mpfr install
make[3] -C tools/mtd-utils compile
make[3] -C tools/mpc compile
make[3] -C tools/mtd-utils install
make[3] -C tools/mpc install
make[3] -C tools/bison install
make[2] toolchain/install
make[3] -C toolchain/gdb prepare
make[3] -C toolchain/binutils prepare
make[3] -C toolchain/gcc/minimal prepare
make[3] -C toolchain/kernel-headers prepare
make[3] -C toolchain/uClibc/headers prepare
make[3] -C toolchain/gcc/initial prepare
make[3] -C toolchain/uClibc prepare
make[3] -C toolchain/gcc/final prepare
make[3] -C toolchain/uClibc/utils prepare
make[3] -C toolchain/gdb compile
make[3] -C toolchain/binutils compile
make[3] -C toolchain/kernel-headers compile
make[3] -C toolchain/binutils install
make[3] -C toolchain/gcc/minimal compile
make[3] -C toolchain/gdb install
make[3] -C toolchain/gcc/minimal install
make[3] -C toolchain/kernel-headers install
make[3] -C toolchain/uClibc/headers compile
make[3] -C toolchain/uClibc/headers install
make[3] -C toolchain/gcc/initial compile
make[3] -C toolchain/gcc/initial install
make[3] -C toolchain/uClibc compile
make[3] -C toolchain/uClibc install
make[3] -C toolchain/gcc/final compile
make[3] -C toolchain/gcc/final install
make[3] -C toolchain/uClibc/utils compile
make[3] -C toolchain/uClibc/utils install
make[2] target/compile
make[3] -C target/linux compile
make[2] package/compile
make[3] -C package/libs/toolchain compile
make[3] -C package/system/opkg host-compile
make[3] -C
/home/christian/firmware/src/packages/openwrt/utils/gpiotoggling compile
make[3] -C /home/christian/firmware/src/packages/openwrt/libs/libugpio
compile
make[3] -C /home/christian/firmware/src/packages/openwrt/net/mii-tool
compile
make[3] -C package/kernel/gpio-button-hotplug compile
make[3] -C package/network/services/dropbear compile
make[3] -C package/network/utils/wireless-tools compile
make[3] -C package/utils/busybox compile
make[3] -C package/libs/libnl-tiny compile
make[3] -C package/libs/libjson-c compile
make[3] -C package/utils/lua compile
make[3] -C package/libs/lzo compile
make[3] -C package/libs/zlib compile
make[3] -C package/libs/ncurses compile
make[3] -C package/boot/uboot-ar71xx compile
make[3] -C package/libs/ncurses compile
make[3] -C /home/christian/firmware/src/packages/fastd/libs/libuecc
compile
make[3] -C package/firmware/linux-firmware compile
make[3] -C
/home/christian/firmware/src/packages/openwrt/net/bridge-utils compile
make[3] -C package/network/utils/iw compile
make[3] -C package/libs/libubox compile
make[3] -C package/utils/util-linux compile
make[3] -C package/kernel/linux compile
make[3] -C package/system/mtd compile
make[3] -C package/system/ubus compile
make[3] -C package/system/uci compile
make[3] -C package/utils/jsonfilter compile
make[3] -C /home/christian/firmware/src/packages/fastd/net/fastd compile
make[3] -C /home/christian/firmware/src/packages/routing/batman-adv
compile
make[3] -C package/network/services/hostapd compile
make[3] -C package/network/utils/iproute2 compile
make[3] -C package/network/utils/iptables compile
make[3] -C package/network/config/swconfig compile
make[3] -C package/network/utils/arptables compile
make[3] -C package/network/utils/ebtables compile
make[3] -C package/network/config/netifd compile
make[3] -C package/system/ubox compile
make[3] -C package/utils/ubi-utils compile
make[3] -C package/system/fstools compile
make[3] -C package/kernel/mac80211 compile
make[3] -C package/system/procd compile
make[3] -C package/boot/uboot-envtools compile
make[3] -C package/network/config/qos-scripts compile
make[3] -C package/base-files compile
make[2] package/install
make[3] package/preconfig
make[2] target/install
make[3] -C target/linux install
make[2] package/index
cp: der Aufruf von stat für
„./build/wr842/bin/ar71xx/openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-factory.bin“
ist nicht möglich: Datei oder Verzeichnis nicht gefunden
christian at debian:~/firmware$
--------------------
>
>> EIne Frage noch, in welchen bin Ordner finde ich am Ende das Image dann
>> wirklich? ~/firmware/bin ??
> Das Openwrt-Buildroot erstellt es zunächst in einem eigenen Ordner.
> Anschließend wird das image durch die Funktion board_postbuild im jeweiligen
> BSP nach firmware/bin kopiert. Wahrscheinlich steht hier bei dir der falsche
> cp Befehl. Am Besten schaust du dir einfach mal an was bei dir so in
> ~/firmware/build/wr842/bin/ar71xx/ liegt und passt das entsprechend an.
danke dir :) In dem genannten Ordner heißen die .bin dateien alle
...wr841... (allerdings heißt der Ordner in ~/firmware/build/ schon
richtig wr842) gibt davon endliche Versionen (v3, v5, v7, v8, v9 jeweils
ein factory und ein sysupgrade) aber keine wr842. Ich hab wohl irgendwo
was vergessen zu editieren, nur wo?
~/firmware/bsp/board_wr842.bsp
sieht so aus (abgekupfert von der wr841 nur an mein System angepasst und in wr842 unbenannt):
---
machine=wr842
target=$builddir/$machine
board_prepare() {
echo "nothing todo" > /dev/null
}
board_prebuild() {
echo "nothing todo" > /dev/null
}
board_postbuild() {
cp
$target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-factory.bin
./bin/
}
board_clean() {
/bin/rm -rf $target bin/*$machine*
}
---
in meinen Augen eigentlich richtig. Es gibt dann noch das Verzeichnis:
~/firmware/bsp/wr842/root_file_system/etc/
mit der Datei
network.tl-wr842nd-v2
(ist die kopierte und unbenannte Datei vom wr841 da ich noch keine
Ahnung von den settings habe und hoffe das sie identisch sind wenn nicht
wird das später noch mal arbeit, drinnen steht aber auch nix von wr841)
Verwendet hab ich dann diese 4 Befehle:
./buildscript selectbsp bsp/board_wr842.bsp
./buildscript selectcommunity community/franken.cfg
./buildscript prepare
./buildscript build
wo hab ich was vergessen das er am Ende dennoch wr841 Dateien erzeugt?
Nur was und wo?
So ich glaub jetzt hab ich doch fast das gesamte bsp mitgeschickt *g*
>
>
>> Ich muss gestehen, so 100%ig verstanden mit diesen BSP hab ich das noch
>> immer nicht. Mir fehlt noch das Verständnis wie das Freifunk Franken im
>> Image von OpenWRT landet? Wird ganz OpenWRT hier neu kompiliert? Weil in
>> die Original OpenWRT
>> openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-factory.bin einfach die
>> Sachen der Freifunk Franken "reinzukompilieren" geht in meinen Augen
>> eigentlich nicht oder lieg ich da falsch und es geht doch?
> Wir kompilieren das komplette Openwrt mit unseren Erweiterungen neu. Das
> Freifunk-Spezifische könnte man zwar als extra Pakete verpacken, aber die
> würden viel mehr Speicher verbrauchen, als wenn man sie mit ins image packt.
> Siehe: http://wiki.openwrt.org/doc/techref/filesystems
so hab ich mir das dann auch gedacht, lag ich also gar nicht so falsch ;)
>
>
>> Ich hab zwar grundsätzlich Ahnung von Linux aber das ganze Zeug rund ums
>> kompilieren macht mich oft wahnsinnig da hatte ich noch nie so richtig
>> Erfolg irgendwie.
> Dann schauen wir mal, dass das besser wird :-)
danke ich hoffe es doch ;) Linux ist halt doch die Zukunft und gerade
wenn man auch ein wenig mit dem Raspberry Pi und so rumspielt doch ganz
sinnvoll da einiges zu lernen :)
>
>
> Grüße
> Tobias
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20150707/01d7426b/attachment-0002.html>
Mehr Informationen über die Mailingliste franken-dev