Du bist nicht angemeldet.

#26 07.07.2005 14:03:53

quiptime
Gast

Re: kernel kompilieren

Hallo Pierre,

Unabhaengig von den Posts, wie es geht.

Langsam piept mich die Art und Weise, bei Arch einen Kernel zu kompilieren und dabei gleich ein Paket zu bilden, maechtig an.

Es ist nicht nur, dass man offensichtlich erst jede Menge Infos reinziehen muss, um keinen Fehler zu machen oder auch einfach nur um das Beabsichtigte auch wirklich zu erreichen.

Grund:
Ich nehme make xconfig (aber gconfig wird verwendet). Nachdem ich den Kernel konfiguriert habe sichere ich die Konfiguration mit "Save As" unter dem Namen "config.bakup". Was passiert? Der Inhalt von "config.bakup" ist der Gleiche wie in config! Wenn ich also den Kernel erneut kompiliere, weil z. Bsp. wegen eines Errors in einem Modul die Kompilierung abgebrochen wurde, fange ich wieder mit der Konfiguration des Kernels von vorn an, da ja meine "config.bakup" den alten Inhalt hat. Na Klasse.

Da lob ich mir doch die Version, nen Vanilla von kernel.org runterzuladen und den Kernel zu konfigurieren, kompilieren und die Anschliessenden Dinge zu erledigen. Und wenn ich diesen Kernel erneut kompilieren moechte kann ich dabei die bestehende und ja schon mal geaenderte .config verwenden. Und es funktioniert (schon zig Mal gemacht). Wozu also den Stress mit dem nicht richtig und umstaendlich funktionierenden makepkg?

Wenn ich das voran genannte mal auf das Bauen eines anderen oder neuen Paketes uebertrage frage ich mich ernsthaft, wie das die anderen Arch-User machen. Oder haben die 5 Jahre Arch-Erfahrung hinter sich und wissen zwangslaeufig, was zu tun ist?

Ist das mal Allgemein betrachtet die Art, wie man mit Arch arbeiten kann?

Gruss quiptime

Beitrag geändert von Guest (07.07.2005 15:04:05)

#27 07.07.2005 15:12:43

quiptime
Gast

Re: kernel kompilieren

Habe fast die Schna... voll.

Habe schon wieder einen Abbruch, weil irgendein Soundmodul fehlerhaft ist. Was ist da an dem kernel26 stabil ??? Schlimmer kann ne Testversion auch nicht sein.

Wie gesagt, muss ich nun die Konfiguration erneut komplett durchfuehren, da ich beim erneuten starten von makepkg mit der default - config arbeite. Ist doch irgendwie beschissen. Oder?

So nebenbei:

Kompiliert von den Arch-Usern niemand seinen eigenen Kernel? Offensichtlich nicht. Es gibt im deutschen Forum eigentlich keine Threads zu diesem Thema, vom deutschen WIKI will ich gar nicht erst reden. Oder die Arch-User mit Erfahrungen bei diesem Thema haben Null Bock ihre Erfahrungen preis zu geben. So wird Arch wohl immer eine Distri fuer Freaks bleiben.

Gruss quiptime

#28 07.07.2005 15:21:17

quiptime
Gast

Re: kernel kompilieren

Hier die Abbruchmeldung:

  INSTALL sound/synth/snd-util-mem.ko
if [ -r System.map ]; then /sbin/depmod -ae -F System.map -b /home/siggi/intern/pakete/kernel26/pkg -r 2.6.11.10-SIG02; fi
WARNING: /home/siggi/intern/pakete/kernel26/pkg/lib/modules/2.6.11.10-SIG02/kernel/drivers/isdn/hysdn/hysdn.ko needs unknown symbol cli
WARNING: /home/siggi/intern/pakete/kernel26/pkg/lib/modules/2.6.11.10-SIG02/kernel/drivers/isdn/hysdn/hysdn.ko needs unknown symbol restore_flags
WARNING: /home/siggi/intern/pakete/kernel26/pkg/lib/modules/2.6.11.10-SIG02/kernel/drivers/isdn/hysdn/hysdn.ko needs unknown symbol save_flags
WARNING: /home/siggi/intern/pakete/kernel26/pkg/lib/modules/2.6.11.10-SIG02/kernel/drivers/isdn/hysdn/hysdn.ko needs unknown symbol sti
./PKGBUILD: line 71: cd: /home/siggi/intern/pakete/kernel26/pkg/lib/modules/2.6.11.10-ARCH: Datei oder Verzeichnis nicht gefunden

/home/siggi/intern/pakete/kernel26/pkg/lib/modules/2.6.11.10-SIG02 existiert.

PKGBUILD versucht aber /home/siggi/intern/pakete/kernel26/pkg/lib/modules/2.6.11.10-ARCH zu finden.

Das ist ein PKGBUILD - Snipped

  cat ../config | sed "s|#CARCH#|$carch|g" >./.config
  # build the full kernel version to use in pathnames
  . ./.config
  _kernver="${pkgver}${CONFIG_LOCALVERSION}"

Der von mir geaenderte Wert "-SIG02" von CONFIG_LOCALVERSION wird ignoriert. Das geht konform damit das die geaenderte config FALSCH gesichert wird. Die .config (mit Punkt) enthaelt aber den richtigen Wert von CONFIG_LOCALVERSION. Allerdings lautet der Pfad zu dieser .config /home/siggi/intern/pakete/kernel26/pkg/usr/src/linux-2.6.11.10-ARCH <- wieso -ARCH ?

Offensichtlich habe ich also wieder was falsch gemacht.

makepkg kommt nicht damit klar, dass mein Kernel "2.6.11.10-SIG02" und nicht "2.6.11.10-ARCH" heissen soll. Laut WIKI ist aber diese Umbenennung des Kernelnamens moeglich. Ist in der Kernelkonfiguration eine Option in Genereller Setup.

Wenn ich den Namen aendere sollte makepkg damit doch umgehen koennen!!!

Hat hier also makepkg einen Fehler oder was mache ich falsch?

Oder ist bei ARCH Kernelkompilieren Gluecksspiel mit Tendenz klappt selten?

Gruss quiptime

Beitrag geändert von Guest (07.07.2005 16:20:40)

#29 07.07.2005 17:05:38

Pierre
Entwickler

Re: kernel kompilieren

Ich habe bisher auf allen Rechner den Kernel schon öfters problemlos kompiliert.

Aber Du hast Recht; wenn man den Standard-Kernel nicht ARCH nennt schlägt makepkg fehl.

Vielleicht komme ich oder jemand anderes mal dazu dies zu korrigieren.

PS: Ein deutsches Wiki gibt es eigentlich nicht.

PPS: Ich denke ich weiß woran das liegt. Verschiebe folgenden Eintrag in PKGBUILD hinter make xconfig:

  # build the full kernel version to use in pathnames
  . ./.config
  _kernver="${basekernel}${CONFIG_LOCALVERSION}"

Beitrag geändert von Pierre (07.07.2005 17:13:40)

Offline

#30 07.07.2005 17:58:57

quiptime
Gast

Re: kernel kompilieren

Jetzt ist makepkg durchgelaufen.

Hatte mir inzwischen vom WIKI eine andere PKGBUILD besorgt. Die hatte bereits

  # Kernel custom - to create a unique pkgname (see below)
  _kerncust="${_kernextra}${CONFIG_LOCALVERSION}"

Nun ergibt sich die naechste Frage. So wurde make pkg beendet:

==> Compressing man pages...
==> Stripping debugging symbols from libraries...
find: pkg/usr/lib: Datei oder Verzeichnis nicht gefunden
find: pkg/usr/local: Datei oder Verzeichnis nicht gefunden
find: pkg/opt/*: Datei oder Verzeichnis nicht gefunden
==> Stripping symbols from binaries...
find: pkg//bin: Datei oder Verzeichnis nicht gefunden
find: pkg//sbin: Datei oder Verzeichnis nicht gefunden
find: pkg/usr/bin: Datei oder Verzeichnis nicht gefunden
find: pkg/usr/sbin: Datei oder Verzeichnis nicht gefunden
find: pkg/usr/local: Datei oder Verzeichnis nicht gefunden
find: pkg/usr/local: Datei oder Verzeichnis nicht gefunden
find: pkg/opt/*: Datei oder Verzeichnis nicht gefunden
find: pkg/opt/*: Datei oder Verzeichnis nicht gefunden
==> Generating .PKGINFO file...
==> Copying install script...
==> Generating .FILELIST file...
==> Compressing package...
==> Finished making: kernel261110-SIG02  (Do Jul  7 15:46:26 UTC 2005)

Was bedeuten die nicht gefundenen Verzeichnisse?

Ist das nun Paketspezifisch und im Falle des Kernels ignoriert werden?

Gruss quiptime

#31 07.07.2005 18:03:49

Pierre
Entwickler

Re: kernel kompilieren

Kannst Du ignorieren. makepkg versucht hier nur nicht benötigte Dateien zu entfernen. Die Meldungen kommen wenn diese nicht da sind. (auch wenn das nicht schön gelöst ist)

Offline

#32 07.07.2005 18:07:36

quiptime
Gast

Re: kernel kompilieren

OK,

und um nun dieses Kernelpaket zu installieren:

pacman -U /path_to_pakage/kernel261110-SIG02-2.6.11.10-1.pkg.tar.gz

Und das aber als root. Sonst kommt ja pacman nicht an /usr/src usw. ran.

Richtig?

#33 07.07.2005 18:08:43

Pierre
Entwickler

Re: kernel kompilieren

Genau.

Offline

#34 07.07.2005 18:16:35

quiptime
Gast

Re: kernel kompilieren

installing kernel261110-SIG02... done.

So, nun noch grub konfigurieren und dann sehen was ein reboot mit dem ersten selbstgebauten ArchKernel macht.

#35 07.07.2005 18:26:35

quiptime
Gast

Re: kernel kompilieren

Wie war der Spruch?

Bin drin.

So, Pierre danke Dir bis hierher, auch fuer Deine Geduld. Hat also funktioniert und ich weiss ein Stueck mehr von Arch.

Gibt es ne InfoQuelle uber die jeweils verfuegbaren Patches zu einem Arch-Kernel? Oder muss ich mich da im WIKI umtun um fuendig zu werden?

Gruss quiptime

#36 07.07.2005 19:01:41

quiptime
Gast

Re: kernel kompilieren

Noch ein Nachtrag zu make menuconfig in PKGBUILD

Da make menuconfig bei mir nicht funktionierte habe ich statt dessen make xconfig verwendet. Damit gab es aber das Problem mit dem Speichern der config.

Zuerst war ich irtuemlich der Annahme, dass trotz xconfig gconfig verwendet wird, weil die Shell diese Bezeichnung hatte. Habe aber als 3. Variante dann in PKGBUILD make gconfig verwendet. Und damit lief makepkg auch wirklich mit gconfig.

gconfig ist besser als xconfig

Grund:

gconfig legt selbsstaendig eine Bakup der config (Darumerweitert) an. Weiterhin fragt gconfig nach make clean.

Gruss quiptime

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums