[Berlin-wireless] Patches für Hedy 1.0.5 und Raspberry Pi binaries

Stefan W. wuchi at protonmail.com
Sa Mär 28 12:09:26 CET 2020


Ok, das lässt sich lösen.

Es müssen beide Dateien bereits im patches-4.4 Verzeichnis vorhanden sein, und sie sollen durch die geänderten Dateien ersetzt werden. Wenn bei Dir das erste Patch die Nummer 0079 trägt und damit nach dem Kopieren beide Dateien angewendet werden, geht es schief.

In dem Fall mache folgendes:

- Lösche die durch wget erstellte 0061-Improve[...] aus dem patches-4.4 Verzeichnis heraus.

- Lösche die eventuell durch wget erstellte Dublette "0589-Update-vfpmodule.c.patch.1" aus dem patches-4.4 Verzeichnis heraus (die Datei mit .1 am Ende).

- lade die geänderte Datei 0589-Update[...] herunter und überschreibe damit die vorhandene Datei.

- lade die geänderte Datei 0061-Improve[...] herunter, benenne sie um in 0079-Improve[...] und überschreibe damit die vorhandene Datei.

Viele Grüße!

- Stefan


‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Saturday, 28. March 2020 00:26, Sven Roederer <freifunk at it-solutions.geroedel.de> wrote:

> # firmware-1.0.x$ git status
> On branch v1.0.5
> nothing to commit, working tree clean
>
> firmware-1.0.x$ git log -1
>
> ===========================
>
> commit 7d4a8801d7b8c4c446935ba4b5ade2ff8e17da5f (HEAD -> v1.0.5, tag: v1.0.5, SAm0815/Hedy-1.0.x, my_routers, Hedy-1.0.x)
> Author: Sven Roederer freifunk at it-solutions.geroedel.de
> Date: Thu Mar 12 22:26:37 2020 +0100
>
> release settings for Hedy-1.0.5
>
> firmware-1.0.x$ rm -rf openwrt/build_dir/target-arm_arm1176jzf-s+vfp_musl-1.1.16_eabi
>
> ======================================================================================
>
> firmware-1.0.x$ make V=s TARGET=brcm2708-bcm2708 prepare
>
> =========================================================
>
> firmware-1.0.x$ cd openwrt
>
> ===========================
>
> firmware-1.0.x/openwrt$ make V=s
>
> =================================
>
> firmware-1.0.x/openwrt$ git status
>
> ===================================
>
> HEAD detached at beaa2ecc10
> Changes not staged for commit:
> (use "git add/rm <file>..." to update what will be committed)
> (use "git checkout -- <file>..." to discard changes in working directory)
>
> modified: include/kernel-version.mk
> modified: package/base-files/files/etc/banner
> modified: package/base-files/files/etc/openwrt_release
> modified: package/network/config/netifd/Makefile
> modified: package/network/services/hostapd/files/hostapd.sh
> modified: target/imagebuilder/files/Makefile
> deleted: target/linux/ar71xx/patches-4.4/403-mtd_fix_cfi_cmdset_0002_status_check.patch
> modified: target/linux/generic/patches-4.4/902-debloat_proc.patch
> modified: target/linux/ramips/base-files/etc/board.d/02_network
> modified: target/linux/ramips/base-files/lib/ramips.sh
> modified: target/linux/ramips/base-files/lib/upgrade/platform.sh
> modified: target/linux/ramips/image/mt7621.mk
> modified: target/linux/ramips/mt7621/config-4.4
> modified: target/linux/x86/config-4.4
>
> Untracked files:
> (use "git add <file>..." to include in what will be committed)
>
> .pc/
> package/kernel/mac80211/patches/940-freifunk-berlin-rt2x00_allow_adhoc_and_ap.patch
> package/libs/mbedtls/patches/201-accept-rsa-1024.patch
> patches
> target/linux/ramips/base-files/etc/board.d/03_gpio_switches
> target/linux/ramips/dts/UBNT-ERX-SFP.dts
> target/linux/ramips/mt7620/profiles/nexx.mk
>
> no changes added to commit (use "git add" and/or "git commit -a")
>
> firmware-1.0.x/openwrt$ make V=s
>
> =================================
>
> make[1]: Entering directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt'
> make[2]: Entering directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt'
> make[3]: Entering directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux'
> make[4]: Entering directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux/brcm2708'
> rm -rf /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/build_dir/target-arm_arm1176jzf-s+vfp_musl-1.1.16_eabi/linux-brcm2708_bcm2708
> mkdir -p /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/build_dir/target-arm_arm1176jzf-s+vfp_musl-1.1.16_eabi/linux-brcm2708_bcm2708
> xzcat /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/dl/linux-4.4.205.tar.xz | tar -C
> /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/build_dir/target-arm_arm1176jzf-s+vfp_musl-1.1.16_eabi/linux-brcm2708_bcm2708 -xf -
> ...
> ...
> ...
> Applying /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux/brcm2708/patches-4.4/0079-Improve-__copy_to_user-and-__copy_from_user-performa.patch using plaintext:
> patching file arch/arm/include/asm/string.h
> patching file arch/arm/include/asm/uaccess.h
> Hunk #1 succeeded at 534 (offset 41 lines).
> patching file arch/arm/lib/Makefile
> patching file arch/arm/lib/arm-mem.h
> patching file arch/arm/lib/copy_from_user.S
> Hunk #1 FAILED at 89.
> 1 out of 1 hunk FAILED -- saving rejects to file arch/arm/lib/copy_from_user.S.rej
> patching file arch/arm/lib/exports_rpi.c
> patching file arch/arm/lib/memcmp_rpi.S
> patching file arch/arm/lib/memcpy_rpi.S
> patching file arch/arm/lib/memcpymove.h
> patching file arch/arm/lib/memmove_rpi.S
> patching file arch/arm/lib/memset_rpi.S
> patching file arch/arm/lib/uaccess_with_memcpy.c
> Patch failed! Please fix /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux/brcm2708/patches-4.4/0079-Improve-__copy_to_user-and-__copy_from_user-performa.patch!
> make[4]: *** [Makefile:36:
> /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/build_dir/target-arm_arm1176jzf-s+vfp_musl-1.1.16_eabi/linux-brcm2708_bcm2708/linux-4.4.205/.prepared_2aa2a15403752469a3c249c70b2cd89c]
> Error 1
> make[4]: Leaving directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux/brcm2708'
> make[3]: *** [Makefile:13: compile] Error 2
>
> firmware-1.0.x/openwrt$ cd target/linux/brcm2708/patches-4.4/
>
> ==============================================================
>
> firmware-1.0.x/openwrt$ wget http://lernekultur.de/ffbf/0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch
>
> ========================================================================================================================
>
> firmware-1.0.x/openwrt$ wget http://lernekultur.de/ffbf/0589-Update-vfpmodule.c.patch
>
> ======================================================================================
>
> --> das file gibt's schon und wget speichert als "0589-Update-vfpmodule.c.patch.1"
>
> firmware-1.0.x/openwrt$ cd ../../../..
>
> =======================================
>
> firmware-1.0.x/openwrt$ make V=s
>
> =================================
>
> make[1]: Entering directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt'
> make[2]: Entering directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt'
> make[3]: Entering directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux'
> make[4]: Entering directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux/brcm2708'
> rm -rf /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/build_dir/target-arm_arm1176jzf-s+vfp_musl-1.1.16_eabi/linux-brcm2708_bcm2708
> mkdir -p /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/build_dir/target-arm_arm1176jzf-s+vfp_musl-1.1.16_eabi/linux-brcm2708_bcm2708
> xzcat /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/dl/linux-4.4.205.tar.xz | tar -C
> /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/build_dir/target-arm_arm1176jzf-s+vfp_musl-1.1.16_eabi/linux-brcm2708_bcm2708 -xf -
> ...
> ...
> ...
> Applying /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux/brcm2708/patches-4.4/0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch using plaintext:
> patching file arch/arm/include/asm/string.h
> Hunk #1 succeeded at 38 with fuzz 2 (offset -1 lines).
> patching file arch/arm/include/asm/uaccess.h
> Hunk #1 succeeded at 534 with fuzz 2 (offset 20 lines).
> patching file arch/arm/lib/Makefile
> Hunk #1 FAILED at 7.
> Hunk #2 succeeded at 18 (offset -1 lines).
> 1 out of 2 hunks FAILED -- saving rejects to file arch/arm/lib/Makefile.rej
> patching file arch/arm/lib/arm-mem.h
> patching file arch/arm/lib/copy_from_user.S
> patching file arch/arm/lib/exports_rpi.c
> patching file arch/arm/lib/memcmp_rpi.S
> patching file arch/arm/lib/memcpy_rpi.S
> patching file arch/arm/lib/memcpymove.h
> patching file arch/arm/lib/memmove_rpi.S
> patching file arch/arm/lib/memset_rpi.S
> patching file arch/arm/lib/uaccess_with_memcpy.c
> Hunk #2 succeeded at 93 (offset 1 line).
> Hunk #3 succeeded at 183 (offset 1 line).
> Hunk #4 succeeded at 244 (offset 1 line).
> patching file arch/arm/mach-bcm/Kconfig
> Hunk #1 succeeded at 135 with fuzz 2 (offset -52 lines).
> Patch failed! Please fix /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux/brcm2708/patches-4.4/0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch!
> make[4]: *** [Makefile:36:
> /mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/build_dir/target-arm_arm1176jzf-s+vfp_musl-1.1.16_eabi/linux-brcm2708_bcm2708/linux-4.4.205/.prepared_fcde37ac7b8a8f4a5a08976d48d5bded]
> Error 1
> make[4]: Leaving directory '/mnt/local/btrfs/build/freifunk/ffberlin/firmware-1.0.x/openwrt/target/linux/brcm2708'
> make[3]: *** [Makefile:13: compile] Error 2
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Bei dem ersten build gibt's probleme beim Anwenden von Patch
> "0079-Improve-__copy_to_user-and-__copy_from_user-performa.patch". Dann
> hab ich deine beiden Patche eingespielt und den build aus OpenWrt neu
> gestartet. Dabei werden die original-kernel-sourcen wieder entpackt und
> alle patche erneut angewendet. Diesmal habe ich dann scho Probleme beim
> neuen Patch "0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch",
> der ja schon vor dem bisher probelmatischen Patch "0079" angewendet wird.
>
> Also wird auf meiner Seite nicht wirklich besser ...
>
> gruss Sven
>
> P.S. Da deine Lösung den vereinzelt auftretenden WiFi-fehler nicht anrührt,
> ist ja eh der konsens, wieder auf den letzten offiziellen OpenWrt-Kernel zu
> wechseln. Dadurch sollte sich das Problem ja von alleine erledigen.
>
> Am 27.03.20 um 14:20 schrieb Stefan W.:
>
> > Hallo Sven!
> >
> > > Die genannte CONFIG-option und patches kommen erst bei linux-kernel 4.9.x ins OpenWrt[...]
> >
> > Diese Frage kann ich Dir natürlich auch nicht einfach beantworten. Die Option wird tatsächlich verlangt, und da die meisten sicherlich mit mehreren Prozessen kompilieren sollte es vorher in der config-4.4 gesetzt sein, da sonst der build fehlschlägt.
> >
> > > deckt sich der Fehler, den du siehst mit dem von Torsten[...]
> >
> > Nein, das ist denke ich eine andere Baustelle. Die beiden geänderten Patches von mir sorgen dafür, das Hedy 1.0.5 für das Target brcm2708 kompilierbar ist.
> >
> > > Ich hab deinen Patch mal anstatt[...]
> >
> > Ich kann Dir die Schritte aufzählen, wie der Build mit den geänderten Patches erfolgreich durchläuft:
> >
> > -   firmware klonen, git branch "Hedy-1.0.x", revision v1.0.5
> > -   erstes make TARGET=brcm2708-bcm2708 -j33
> > -   nach dem ersten Fehlschlag im Verzeichnis firmware/openwrt/target/linux/brcm2708
> >     die beiden Dateien im Verzeichnis patches-4.4 mit denen aus aus [0] und [1] ersetzen
> >
> > -   in den Verzeichnissen bcm2708, bcm2709, bcm2710 in die Datei config-4.4
> >     CONFIG_HARDEN_BRANCH_PREDICTOR=y
> >     einfügen.
> >
> > -   zweites make TARGET=brcm2708-bcm2708 -j33
> >
> > Viele Grüße!
> >
> > -   Stefan
> >
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > On Thursday, 26. March 2020 08:34, Sven Roederer freifunk at it-solutions.geroedel.de wrote:
> >
> > > Hallo Stefan,
> > > Am 22.03.20 um 09:43 schrieb Stefan W.:
> > >
> > > > Hallo zusammen!
> > > > Leider funktioniert Hedy 1.0.5 auch für die Raspberry Pi Targets nicht korrekt. Da ich zwischen Kinderbetreuung und Familie bei Laune halten ein paar Minuten Zeit fand, habe ich mich kurz hinsetzen
> > > > können um die entstandenen Fehler zu finden.
> > >
> > > deckt sich der Fehler, den du siehst mit dem von Torsten berichtetem
> > > (https://github.com/freifunk-berlin/firmware/pull/749#issuecomment-572493593)?
> > >
> > > > Wollt ihr mit der Option -j mit mehreren Prozessen kompilieren, dann noch in der entsprechenden config-4.4 folgendes hinzufügen:
> > > > CONFIG_HARDEN_BRANCH_PREDICTOR=y
> > > > Sonst werdet ihr in den Requester zurückgeworfen, den ihr natürlich auch beantworten könnt, wenn ihr mit nur einem Prozess kompiliert, also -j auf 1 setzt.
> > >
> > > > [0] http://lernekultur.de/ffbf/0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch http://lernekultur.de/ffbf/0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch
> > > > [1] http://lernekultur.de/ffbf/0589-Update-vfpmodule.c.patch http://lernekultur.de/ffbf/0589-Update-vfpmodule.c.patch
> > >
> > > Die genannte CONFIG-option und patches kommen erst bei linux-kernel 4.9.x
> > > ins OpenWrt. Daher wundert es mich etwas, dass du die beim Pi schon für
> > > linux-4.4.x benötigst.
> > > https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=dfbf836a52e451f98e90dcf567c107062e2d7048
> > > GRuss Sven
> > > Berlin mailing list
> > > Berlin at berlin.freifunk.net
> > > http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin
> > > Diese Mailingliste besitzt ein ffentlich einsehbares Archiv
> >
> > Berlin mailing list
> > Berlin at berlin.freifunk.net
> > http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin
> > Diese Mailingliste besitzt ein ffentlich einsehbares Archiv
>
> Berlin mailing list
> Berlin at berlin.freifunk.net
> http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin
> Diese Mailingliste besitzt ein ffentlich einsehbares Archiv




Mehr Informationen über die Mailingliste Berlin