Make baut Kernel neu, auch wenn nur ein Paket (davfs) hinzugefügt wurde

ao

Aktives Mitglied
Mitglied seit
15 Aug 2005
Beiträge
2,158
Punkte für Reaktionen
2
Punkte
38
Hallo,

ich habe eben (aus Testgründen) eine ziemlich "nackte" Freetz-Trunk r3251 für meine 7170 gebaut (ohne Pakete, kein Labor, kein replace kernel, also die Standard-.config). Die .configs (einmal ohne davfs, einmal mit) habe ich angehängt. Hier außerdem das diff:
Code:
$ diff config_ohne_davfs.txt config_mit_davfs.txt 
184c184,186
< # FREETZ_PACKAGE_DAVFS2 is not set
---
> FREETZ_PACKAGE_DAVFS2=y
> # FREETZ_DAVFS2_WITH_SSL is not set
> # FREETZ_DAVFS2_WITH_ZLIB is not set
373c375
< # FREETZ_MODULE_coda is not set
---
> FREETZ_MODULE_coda=y
504c506
< # FREETZ_LIB_libexpat is not set
---
> FREETZ_LIB_libexpat=y
508c510,512
< # FREETZ_LIB_libneon is not set
---
> FREETZ_LIB_libneon=y
> # FREETZ_LIB_libneon_WITH_SSL is not set
> # FREETZ_LIB_libneon_WITH_ZLIB is not set
519c523
< # FREETZ_LIB_libiconv is not set
---
> FREETZ_LIB_libiconv=y
Ich habe also beim 2. make aus den Test-Paketen davfs (ohne SSL- und ohne zlib-Support) gewählt. Der make Vorgang fängt dann so an:
Code:
rm -rf source/ref-8mb_26-04.70/kernel
mkdir -p source/ref-8mb_26-04.70/kernel
cp -a source/avm-gpl-04.70/GPL/base source/ref-8mb_26-04.70/kernel/kernel_8mb_26_build
Warum wird hier das komplette Verzeichnis zuerst gelöscht und dann wieder angelegt, und weshalb rödelt make ziemlich lange herum?
(obwohl doch nur ein neues Paket, hier davfs, hinzugefügt wurde)

Bedingt das Hinzufügen eines neuen Paketes wie davfs wegen der dazugehörenden Module (code) und Libs (libexpat, libneon, libiconv) ein komplettes rebuild?
(so sieht es zumindest aus)
.
 

Anhänge

  • config_ohne_davfs.txt
    14.5 KB · Aufrufe: 1
  • config_mit_davfs.txt
    14.6 KB · Aufrufe: 0
Zuletzt bearbeitet:
Nein, da wurde nur der Kernel neu gebaut. Ich bin diesem Phänomen auf der Spur, da es mich auch ziemlich nervt. Es scheint immer dann aufzutreten, wenn man nach einem "make dirclean" das zweite Mal "make" aufruft.

MfG Oliver
 
Es tritt auch dann auf, wenn man
1. eine FW für die FB 7170 baut (make menuconfig mit Standard-Einstellungen zzgl. einiger Patches, aber ohne Pakete)
2. noch einmal dieselben Einstellungen wie unter (1) verwendet, jedoch zzgl. Paket davfs,
ohne dazwischen ein make dirclean ausgeführt zu haben, also make menuconfig, make, make menuconfig, make.
 
Ich hatte es gestern auch, und ich hatte nur "make oldconfig" aufgerufen, weil er nach einem Update danach verlangt hatte, ohne daß ich etwas an der Konfiguration geändert hätte. Die Datei .config ist dadurch aber aktualisiert worden. Ich habe aber gerade ausprobiert, allein ein "touch .config" löst kein Neuerstellen des Kernels aus.
 
ohne daß ich etwas an der Konfiguration geändert hätte.
Bist Du Dir sicher? Kannst Du das ggf. reproduzieren und ein diff Deiner .configs (vorher/nachher) machen? (falls sich doch etwas geändert hat)
 
jedoch zzgl. Paket davfs,
ohne dazwischen ein make dirclean ausgeführt zu haben, also make menuconfig, make, make menuconfig, make.
Ich kann das Paket davfs noch so oft an und abwählen, der Kernel wird bei mir trotzdem nicht gebaut.

MfG Oliver
 
Mit der FW für die 7170? Ich versuche, das selbst noch einmal zu reproduzieren (7170)...
 
ich habe das auch, es wird bei mir immer beim 2. make der Kernel neu gebaut, aber auch, wenn nur make direkt 2x eingeben ist, muss ich nix auswählen oder verändern.
 
Das Problem wird bei mir durch den ccache hervorgerufen. Dieser wird nach kernel-configured gebaut und ändert den Timestamp der Prerequisite (mipsel-unknown-linux-gnu-gcc) für das .unpacked target. Daher wird beim nächsten Durchlauf der Kernel nochmal gebaut.
Eine Lösung wäre den gcc als "order only" Prerequisite anzugeben. Dann wird der Kernel bei Änderungen an der Kerneltoolchain zwar nicht neu gebaut, aber wann ändert sich die Kerneltoolchain denn schon?

MfG Oliver
 
Bleibt nur noch die Frage, weshalb das früher nicht aufgetreten ist
 
Weil es früher kein ccache für die Kerneltoolchain gab? #232

MfG Oliver
 
Es ist bei mir aber zum 1. mal vor 1 Woche aufgetreten. Das Ticket ist schon etwas älter
 
Bei mir wird gerade auch einfach so der Kernel neu gebaut, obwohl ich nicht mal was an der Paketauswahl geändert habe. Ich habe nur jeweils make $package-dirclean und make $package-precompiled für dropbear und sane-backends gemacht, weil das ja sonst nicht mit ins Image kommt.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.