Gluon 2022.1 build fällt auf die Nase

Hallo,

ich habe hier gerade ein Problem mit unserem Gluon 2022.1 build, welchen ich nicht deuten kann:

18:52:35 /var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/staging_dir/host/bin/padjffs2 /var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/tmp/openwrt-ath79-generic-dlink_dir-825-b1-squashfs-factory.bin  64
18:52:35 padding image to 00600000
18:52:35 bash: line 1: 8: Bad file descriptor
18:52:35 dd if=/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/tmp/openwrt-ath79-generic-dlink_dir-825-b1-squashfs-factory.bin of=/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/tmp/openwrt-ath79-generic-dlink_dir-825-b1-squashfs-factory.bin.new bs=6144k conv=sync
18:52:35 dd: failed to open '/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/tmp/openwrt-ath79-generic-dlink_dir-825-b1-squashfs-factory.bin': No such file or directory
18:52:35 make[6]: *** [Makefile:105: /var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/tmp/openwrt-ath79-generic-dlink_dir-825-b1-squashfs-factory.bin] Error 1
18:52:35 make[6]: Leaving directory '/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/target/linux/ath79/image'
18:52:35 make[5]: *** [Makefile:19: install] Error 2
18:52:35 make[5]: Leaving directory '/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/target/linux/ath79'
18:52:35 make[4]: *** [Makefile:11: install] Error 2
18:52:35 make[4]: Leaving directory '/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/target/linux'
18:52:35 time: target/linux/install#118.54#16.55#119.96
18:52:35     ERROR: target/linux failed to build.
18:52:35 make[3]: *** [target/Makefile:30: target/linux/install] Error 1
18:52:35 make[3]: Leaving directory '/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt'
18:52:35 make[2]: *** [target/Makefile:24: /var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/staging_dir/target-mips_24kc_musl/stamp/.target_install] Error 2
18:52:35 make[2]: Leaving directory '/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt'
18:52:35 make[1]: *** [/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/include/toplevel.mk:230: world] Error 2
18:52:35 make[1]: Leaving directory '/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt'
18:52:35 make: *** [Makefile:195: all] Error 2
18:52:35 Build step 'Execute shell' marked build as failure
18:52:35 [WS-CLEANUP] Deleting project workspace...
18:52:35 [WS-CLEANUP] Deferred wipeout is used...
18:52:35 [WS-CLEANUP] done
18:52:35 Finished: FAILURE

Was genau will mir make mitteilen? Hat jemand einen Lösungsansatz?

Meine erste Vermutung wäre das du deine site.mk optimieren musst weil aktuell die Images zu groß werden und dann bei manchen Geräten der Flash nicht ausreicht.
Dein Build bricht dann ab wenn ein Image nicht generiert werden konnte weil es größer als maximal erlaubt ist.
Manche von den Geräten haben weniger als 7M nutzbaren Flash aufgrund von einer ungünstigen Partitionierung.

Kannst dir ja mal das folgende Skript anschauen (ggf. musst du einen historischen Commit bzw. den Stand aus dem v2022.1.x Branch nehmen (falls sich das unterscheidet)):

Festplatte voll? Der Fehler scheint mir bereits vor Deinem Protokollauszug aufzutreten.

Second that, bei einigen Geräten scheint die Grenze schon sehr nah zu sein. Wir hatten …

#GLUON_SITE_PACKAGES_standard := \
#    tcpdump \
#    mtr-json \
#    ip-full

… drin, was dann eine Reihe von Builds gekillt hat. @jzielke84, guck man weiter oben im Logfile, ob da was von „image too large“ oder so steht.

2 „Gefällt mir“

Danke für die Tips! Platte voll kann ich bei >450 GB freiem Platz ausschließen, aber der Hinweis mit den Paketen könnte stimmen. Ich teste das mal und gebe euch dann ein Feedback.

1 „Gefällt mir“

Sicher? Der Versuch des Gluon-Builds auf einer unserer beefigeren Kisten schlug fehl, weil die inodes nicht ausreichten (das System war nicht als Buildhost, sondern Hypervisor, aufgesetzt, das ext4 entsprechend mit »–largefiles« angelegt); Gluon, genauer OpenWrt, produziert Myriaden von Dateien. df -i /var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1 sollte Klarheit bringen :wink:

Jep, sicher :wink:

Filesystem                     Inodes  IUsed    IFree IUse% Mounted on
/dev/mapper/jenkins--vg-root 32497664 742565 31755099    3% /

Ich bekomme folgenden Fehler:

08:51:27     WARNING: Image file /var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/tmp/openwrt-ath79-generic-dlink_dir-825-b1-squashfs-factory.bin is too big: 6291460 > 6291456
08:51:29     ERROR: target/linux failed to build.
08:51:29 make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
08:51:29 make[1]: *** [/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt/include/toplevel.mk:230: world] Error 1
08:51:29 make[1]: Leaving directory '/var/lib/jenkins/workspace/ffkbu-multihood-stable-wireguard-gluon2022.1/openwrt'
08:51:29 make: *** [Makefile:195: all] Error 2
08:51:29 Build step 'Execute shell' marked build as failure
08:51:29 [WS-CLEANUP] Deleting project workspace...
08:51:29 [WS-CLEANUP] Skipped based on build state FAILURE
08:51:29 Finished: FAILURE

Dies passiert aber z.B. beim x86 Build nicht. Also doch zu viele Module? Ich habe jetzt schon ein paar entfernt, aber scheinbar reicht es noch nicht?!

Edit: Egal, wieviele Module ich entferne, es ist immer der dir-825-b1 welcher rumzickt. Das komische dabei ist, dass das bis vor kurzem noch nicht so passiert ist. Gab es eventuell Änderungen am offiziellen Gluon-Branch oder am gluon-wireguard repo?

Nimm’ mal wireless-encryption-wpa3 raus und bau nur ath79_generic, ob’s dann reicht. Bzw. nimm SSL-Gedöns in GLUON_d-link-dir-825-rev-b1_SITE_PACKAGES raus, fehlen ja nur noch 4 Byte :wink:

1 „Gefällt mir“

Klar, Gluon ist auf eine neuere OpenWrt Version gewechselt (22.03.05), da wird Gluon dann insgesamt auch etwas größer (kommt aufs Target an). Es wird ja aktiv am Betriebssystem gearbeitet
In wenigen Monaten kommt OpenWrt 23 und es dürfte nochmal ein Stück größer werden durch Kernel 5.15, denke ich.

Partiell off-topic, aber: wieso eigentlich? Läßt sich da nicht mehr modularisieren oder nötigenfalls raus-#ifdef-en? Letztlich heißt mehr Code ja auch mehr Taktzyklen für dessen Ausführung, nicht das, was man sich für Embedded-Systeme eigentlich wünscht :wink:

OK, die Aussage von Wusel war korrekt. Bei dem Modell scheint es etwas knapp sonst zu werden was die Imagegröße betrifft. Danke für die Hilfe :slight_smile:

1 „Gefällt mir“