Sie sind nicht angemeldet.

1

19.08.2011, 13:26

Wie AUFS2-Support mit Catalyst und Genkernel einkompilieren

Hallo zusammen,

bin gerade dabei mir ein NAS-System als Live-CD mit AUFS2 für Änderungen an Konfigurationedateien zu bauen.
Ich setze dafür Catalyst ein und und schaffe es nicht AUFS2 mit genkernel in den Kernel zu patchen.
Ich habe als Kernel-Paket aufs2 mit USE-Flag "kernel-patch" gesetzt, was bewirkt, dass das Kernelmodul "aufs.ko" und der Support für mount auch in der Live-CD enthalten ist. Wenn ich das Kernelmodul lade bekomme ich allerdings "unresolved symbols" da der Kernel nicht gepatched ist.

Soweit ich es beurteilen kann, findet der eBuild von aufs2 zu spät statt, d.h. erst nachdem genkernel bereits den Kernel gebaut hat.

Hat jemand eine Idee wie ich AUFS2-Support sauber in die Live-CD bekomme. In der aktuellen Live-DVD von Gentoo (11.2) ist dies ja erfolgreich umgesetzt. Diese wird ja auch mit Catalyst erstellt. Es sollte also möglich sein.

Viele Grüße,
Davdi

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tonymande« (27.08.2011, 11:10)


2

24.08.2011, 22:26

Wie sieht Deine Konfiguration aus? Poste mal die relevanten Stellen.
In der stage2.spec gibt es

Quellcode

1
2
3
4
5
# This option is for merging kernel-dependent packages and external modules that
# are configured against this kernel label.
# example:
# boot/kernel/gentoo/packages: pcmcia-cs speedtouch slmodem globespan-adsl hostap-driver hostap-utils ipw2100 ipw2200 fritzcapi fcdsl cryptsetup 
boot/kernel/gentoo/packages:
Hast Du aufs2 hier eingetragen oder an einer anderen Stelle?
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

3

26.08.2011, 21:41

Hi bell,

genau, dort habe ich aufs2 eingetragen. Aufs2 wird auch gebaut, allerdings erst nachdem der kernel von genkernel übersetzt wurde, was den Fehler ja auch erklärt.
Bislang habe ich keine Möglichkeit gefunden, den aufs2-emerge vorher auszuführen. Bleibt vermutlich nur den Kernel manuell zu patchen, oder? Wie geht das mit genkernel?

Viele Grüße
David

Anbei mein spec2-File:
»tonymande« hat folgende Datei angehängt:
  • spec2.txt (2,85 kB - 4 mal heruntergeladen - zuletzt: 10.11.2012, 10:16)

4

26.08.2011, 21:59

Versuche mal das Paket in die Stage1 Datei unter "livecd/packages" einzutragen. Hab schon lange nicht mehr mit Catalyst gespielt, jedoch glaube ich, dass diese Pakete vor dem Kernel gebaut werden.
An sonsten würde ich es pragmatisch angehen. Erstelle ein eigenes Paket "sys-kernel/aufs2-sources" und packe es in ein lokales Overlay.
Als Vorlage kannst Du zB. http://gpo.zugaina.org/sys-kernel/hitchhiker-sources oder sonstiges sys-kernel/*-sources Paket. Du musst dort nur aufs2 Patches mit angeben und das Paket selbst warten.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

5

27.08.2011, 09:07

Hi bell,

danke für Deine Antwort.
In stage1 wird aufs2 nichts bringen, da sind ja die Kernel-Sourcen noch gar nicht entpackt, dies erfolgt ja erst in stage2. Die Kernel-Sourcen müssen aber vor dem Kernel-Build gepatched werden und zusätzlich der aufs2-eBuild gebaut werden. Habe auch schon überlegt die Kernel-Sourcen und aufs2 in stage1 zu mergen, dies wird aber ebenfalls nichts bringen. In stage2 wird genkernel definitiv die Kernel-Source neu mergen und damit die Änderungen der aufs2-Patches überschreiben.

Mit eigenen Kernel-Sources hatte ich bereits rumgespielt, habe es allerdings nicht geschafft die aufs2-Patches unterzubringen. Als Basis hatte ich die eBuilds der original gentoo-sources verwendet. Eigentlich benötige ich ja nur einen einzigen zusätzlichen Patch zu den normalen gentoo-sources, allerdings bin ich nicht in der Lage diesen einfach in den eBuild unterzubringen.
Ich probiere es später noch einmal mit hitchhiker-sources als Vorlage, vielleicht schaffe ich es ja damit den Kernel entsprechend zu patchen.



Viele Grüße,
David

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tonymande« (27.08.2011, 09:16)


6

27.08.2011, 11:09

Solved

Hi Bell,

habe es jetzt geschafft, indem ich den eBuild von gentoo-sources genommen habe und analog base und extra ein zusätzliches Patchset hinzugefügt habe.
Vielleicht kennt jemand aber ja noch einen eleganteren Weg.


Viele Grüße,
David

7

27.08.2011, 11:26

Prima!

Lade mal das Ebuild hoch. Eventuell kann es jemand anders auch gebrauchen oder auch Verbesserungsvorschläge machen.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

8

27.08.2011, 21:43

Hi bell,

ok, anbei das eBuild und mein Spec2-File.
Für aufs2 muss in /etc/portage/package.use explizit kernel-patch ausgeschaltet werden da ansonsten der Patch zweifach angewendet wird.

Quellcode

1
sys-fs/aufs2 -kernel-patch

Den Kernel-Patch für aufs2 habe ich ja nach genpatches-2.6.39-5.genas.tar.bz2 gepackt.

Vom Ablauf funktioniert es dann so, dass der eigene Kernel ausgepackt wird, der exakt identisch zu den gentoo-sources ist, d.h. alle Patches etc. sind identisch. Zusätzlich wird das genpatches-2.6.39-5.genas.tar.bz2 geladen und der darin enthaltene aufs2-Patch angewendet. Nachdem Genkernel den Kernel erstellt hat wird dann (ohne Kernel-Patch) aufs2 gebaut.

Funktioniert prima, wenn sicherlich auch nicht die eleganteste Variante.

Viele Grüße,
David
»tonymande« hat folgende Dateien angehängt: