Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 17.11.2009 11:45:09

Hallo zusammen,

ich wollte gerade meinen Kernel updaten auf 2.6.31 allerdings taucht dieser bei apt-cache search nicht in der Liste auf. Muss ich den nun manuell installieren oder fehlt mir eine Quelle?

Grüße
Frank

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von GoKi » 17.11.2009 12:23:19

Ist in unstable verfügbar: Debianlinux-source-2.6.31 bzw. auch als image, bspw. Debianlinux-image-2.6.31-1-686, Debianlinux-image-2.6.31-1-amd64
MfG GoKi
:wq

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Danielx » 17.11.2009 13:18:42

Welches Debian?

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 17.11.2009 15:11:32

Debian 5.0 hab ich derzeit drauf

@goki, was muss ich den für einen Eintrag in sources.list hinzufügen?

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von cirrussc » 17.11.2009 16:45:55

Gar keinen, wenn du GoKi's verlinkte .deb's direkt installierst.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 18.11.2009 08:09:46

Ok, das habe ich gemacht.

Allerdings hat er nicht die Datei
/boot/initrd.img-2.6.31-6-686 und vmlinuz-2.6.31-6-686 oder ähnlich, die ich für den Bootmanager brauche.

Muss ich die jetzt noch kompilieren?

Also die initrd.img hab ich jetzt erstellt bekommen, aber die vmlinuz bekomme ich irgendwie nicht erzeugt bzw. weiß nicht womit ich die erzeugen kann.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von KBDCALLS » 18.11.2009 10:52:51

Falls die wirklich fehlen sollte was ich nicht glaube, denn ich habe mir gerade mal den Kernel 2.6.31 instaliert , allerdings amd64 , kann man sich ein Initrd auch nachtröglich erstellen.

Code: Alles auswählen

update-initramfs -c -k [version]

Anschließend

Code: Alles auswählen

update-grub
Schon mal ins Bootverzeichnis /boot reingesehen ?
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 18.11.2009 10:59:00

Ja, da hab ich ja gemerkt, dass dort keine einzige Datei vom neuen Kernel liegt in /boot und sonst auch nirgendwo habe danach suchen lassen.

Die initrd-Datei hatte ich schon erzeugt bekommen mit dem Befehl.
Aber jetzt fehlt mir noch die vmlinuz Datei und evtl. die config.

Ich hab mir das Paket linux-headers-2.6.31-1-686 und common installiert, oder fehlt mir jetzt noch was? (also per apt-get install)

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von KBDCALLS » 18.11.2009 12:53:11

Was willst du denn mit headers und Common erst einmal. Du brauchst das Image. Da ist der Kernel drinne. Poste mal den Inhalt von /boot

Code: Alles auswählen

ls -1
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 18.11.2009 15:21:40

Code: Alles auswählen

insgesamt 14636
-rw-r--r-- 1 root root   91712  5. Nov 01:24 config-2.6.26-2-686
drwxr-xr-x 2 root root    4096  6. Nov 10:04 grub
-rw-r--r-- 1 root root 6219429  6. Nov 10:03 initrd.img-2.6.26-2-686
-rw-r--r-- 1 root root 15119429  18. Nov 13:03 initrd.img-2.6.31-1-686 <-- von Hand erzeugt mit dem Befehl
-rw-r--r-- 1 root root 6190418  6. Nov 08:20 initrd.img-2.6.26-2-686.bak
-rw-r--r-- 1 root root  928209  5. Nov 01:24 System.map-2.6.26-2-686
-rw-r--r-- 1 root root 1506128  5. Nov 01:23 vmlinuz-2.6.26-2-686

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von KBDCALLS » 18.11.2009 18:41:36

Ist nur selsam die initrd läßt sich erstellen. Dazu müssen ja die Module instaliert worden sein. Und wo ist dann der Kernel abgeblieben ?. Man könnte jetzt das Paket nochmal installieren und sehen ob der Kernel dann vorhanden ist. Oder man holt ihn direkt aus dem Paket. Zum Beispiel gehts am einfachsten mit dem MidnigtCommander (MC) . Irgendwie schon seltsam. Habe das Paket auch noch versuchweise installiert. Und es hat einwandfrei funktioniert. Habe übrigens gerade gesehen das die Initrd viel zu klein von der Größe her ist. Da fehlen wohl anscheinend doch die Module.

Wenn man sich folgenden Sympolischen link anlegt.

Code: Alles auswählen

ln -s initrd.img-2.6.31-1-686 initrd.img-2.6.31-1-686.cpio 
Dann kann man sich mit MC den Inhalt der Initrd ansehen. Die Module befinden sich im Verzeichnis /lib/modules/2.6.31-1-686
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von cirrussc » 18.11.2009 19:26:19

Frank85 hat geschrieben:Muss ich die jetzt noch kompilieren?
Das Wort "image" im Paket schießt das eigentlich aus.
Frank85 hat geschrieben: Ich hab mir das Paket linux-headers-2.6.31-1-686 und common installiert, oder fehlt mir jetzt noch was? (also per apt-get install)
Schmeiße die überflüssigen header und common Pakete wieder herunter und installiere das image Paket (so wie bei goki verlinkt).
Da ist alles drin und die Initrd wird automatisch erzeugt.

i686:
http://ftp.de.debian.org/debian/pool/ma ... 2_i386.deb
amd64:
http://ftp.de.debian.org/debian/pool/ma ... _amd64.deb
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 19.11.2009 14:08:24

So ich hab jetzt endlich das image drauf und es steht auch in der Menuliste.

Jetzt kommt das nächste Problem. Ich würde gerne diesen Kernel auf die aktuelle Version 2.6.31-6 von kernel.org updaten. Wie funktioniert ein Kernelupdate und was brauche ich für Dateien?

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von cirrussc » 19.11.2009 15:35:46

Wenn kein aktueller Kernel in den Repos ist, muss der nach wie vor selbst gebaut werden [1].
Das erzeugte kernel-image.dep muss wieder installiert werden.

Oder ein Blick auf den Build Server lohnt sich [2].

[1] http://wiki.debianforum.de/DebianizedLinuxKernel
[2] http://kernel-archive.buildserver.net/d ... linux-2.6/
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von KBDCALLS » 19.11.2009 16:40:38

cirrussc hat geschrieben: Oder ein Blick auf den Build Server lohnt sich [2].

[2] http://kernel-archive.buildserver.net/d ... linux-2.6/
Wenn er denn mal funktionieren würde.

Bild
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 20.11.2009 15:31:28

Um einen Kernel zu backen brauche ich make-kpkg steht in dem Tutorial. Woher bekomme ich das Programm? Ich konnte es nicht auf debian.org und nicht in meinen Quellen noch bei google finden. Hat das jemand oder gibt es mittlerweile eine Alternative?

Clio

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Clio » 20.11.2009 15:43:27

make-kpkg befindet sich im Paket "kernel-package"

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 24.11.2009 09:15:51

Hallo,

danke erstmal für die antworten.
Ich habe versucht den Kernel 2.6.32-rc2 von kernel.org zu installieren und mich an die hier empfohlene Anleitung von prolinux gehalten.
Erstmal funktioniert das auch ganz gut, auch wenn er bei mir sagt es gibt keine Regel für zImage.
(Hab das ignoriert da ich an der Stelle bzimage habe).

So, also die Datei als vmlinuz gespeichert und mit mkramfs -o /boot/initrd.... die noch fehlende Datei erzeugt und alles in grub eingetragen.

Bei der Auswahl des Kernels kommt beim Starten aber folgende Fehlermeldung:
Warning: Could not open /lib/modules/2.6.32-rc2
Fatal: Could not load /lib/modules/2.6.32-rc2/modules.dep

Aber der Ordner existiert und die Datei auch, hab die Rechte überprüft und ist, wie beim funktionierenden Kernel 2.6.32

Dann kommt nach einiger Zeit: ALERT! /dev/hda7 does not exist <--Aber das ist die Festplatte wo Debian liegt und die auch mit Kernel 2.6.26 funktioniert.

Hat da jemand eine Idee?

Clio

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Clio » 24.11.2009 13:00:41

Frank85 hat geschrieben:Ich habe versucht den Kernel 2.6.32-rc2 von kernel.org zu installieren und mich an die hier empfohlene Anleitung von prolinux gehalten.
Hier werden keine Anleitungen von prolinux empfohlen.
Wenn ich bzimage lese, kann es sich nur um eine völlig veraltete Anweisung handeln.
Mit make-kpkg brauchst Du das nicht.
Nachdem Du mit

Code: Alles auswählen

make menuconfig
Deine Eingaben gemacht hast, gibst Du

Code: Alles auswählen

make-kpkg --initrd linux-image
ein, und es wird ein .deb-Paket des Kernels erstellt. Dieses Paket kannst Du dann mit

Code: Alles auswählen

dpkg -i <kernelpaket>
installieren, zusätzlich zu dem jetzigen Kernel.
Hier im Wiki gibt es auch Anleitungen.
Übrigens, die letzte Version ist 2.6.32-rc8. Lad Dir den herunter und fange nochmal von vorne an.
Mehr als die vorgenannten Befehle braucht es nicht.

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 24.11.2009 13:46:59

Clio hat geschrieben:Hier werden keine Anleitungen von prolinux empfohlen.
http://debianforum.de/forum/viewtopic.php?f=33&t=377 dieser Beitrag hat doch den Status wichtig, oder nicht? Oder kann man den selber setzen? Dachte wichtig ist auch empfohlen......

Trotzdem natürlich danke für deine Antwort, werde das gleich mal testen.

Edit:
Kommt immernoch die Fehlermeldung, dass er hda7 nicht findet, aber das ist 100% die richtige Debianpartition.
Oder könnte die im neuen Kernel sda7 heißen, denke nicht, oder?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von KBDCALLS » 24.11.2009 14:45:40

Clio hat geschrieben:
Frank85 hat geschrieben:Ich habe versucht den Kernel 2.6.32-rc2 von kernel.org zu installieren und mich an die hier empfohlene Anleitung von prolinux gehalten.
Hier werden keine Anleitungen von prolinux empfohlen.
Wenn ich bzimage lese, kann es sich nur um eine völlig veraltete Anweisung handeln.
Das ist schon ne Steinalte Anleitung .
Pro Linux hat geschrieben:Copyright (C) Pro-Linux
Erschienen auf Pro-Linux, letzte Änderung 1999-22-11
Da war von Kernel 2.4 noch nix zu ahnen, geschweige denn 2.6.
Kernel.org hat geschrieben:

Code: Alles auswählen

ChangeLog-2.4.1                   30-Jan-2001 07:57  2.5K  
PS. Es ist ja Prinzipiell richtig wenn man sich nach Howtows richtet, aber warum berücksichtig keiner ein Erscheinungsdatum ? Bei 1999 sollten eigentlich schon die Alarmglocken angehen.

PPS. Ich wäre sogar schon vorsichtig wenn ich eine Ableitung finden würde die für einen Kernel 2.6.12 und davor geschrieben worden ist.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 24.11.2009 16:04:08

Ja, hätte auf das Datum gucken können geb ich recht, dachte aber auch, dass die Links aktuell wären...naja egal - hab nicht geschaut und gut ist...

Also zu meinem Problem:
Es steht die ganze Zeit da: Loading, please wait (Cursor blinkt)
Irgendwann kommt dann:
ALERT! /dev/hda7 does not exist. Dropping to a shell!
/bin/sh: can't access tty; job control turned off
(initramfs) <-- Hier blinkt wieder der Cursor. Also scheint ja ein Prompt zu sein.

Und da steht er dann endgültig...hda7 ist aber auf jeden Fall richtig.

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 25.11.2009 14:37:05

Hab den Kernel nach langem hin und her zum Laufen gebracht. Dafür waren einige Schritte hier hilfreich. Komischerweise musste ich aber wieder auf mkfsram... zurückgreifen für die initrd.
Seis drum Kernel 2.6.32 bootet!

Jetzt muss ich aber iPerf neukompilieren und da kommen folgende Fehlermeldungen:

Code: Alles auswählen

In file included from ../../openss7-0.9.2.G/streams/src/kernel/specfs.c:123:
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:76:28: error: linux/autoconf.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:77:27: error: linux/version.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:78:26: error: linux/module.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:79:24: error: linux/init.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:81:28: error: linux/compiler.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:82:24: error: linux/slab.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:83:29: error: linux/interrupt.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:87:25: error: linux/delay.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:88:26: error: linux/sysctl.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:89:24: error: linux/file.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:90:24: error: linux/poll.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:91:22: error: linux/fs.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:98:25: error: linux/major.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:99:24: error: asm/atomic.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:101:73: error: linux/kernel.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:102:53: error: linux/pagemap.h: Datei oder Verzeichnis nicht gefunden
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:106:54: error: linux/mount.h: Datei oder Verzeichnis nicht gefunden
Irgendwie werden die gesamten Headerdateien nicht gefunden, die in /usr/src/linux-2.6.32-rc2/include/ liegen.

Jemand eine Idee?
Zuletzt geändert von Saxman am 25.11.2009 15:06:44, insgesamt 1-mal geändert.
Grund: Code Tags eingefügt

Frank85
Beiträge: 16
Registriert: 26.10.2009 08:26:58

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von Frank85 » 27.11.2009 13:01:01

Also ich hab jetzt noch mal ein weiteren Schritt geschafft, aber jetzt hab ich noch eine Fehlermeldung und da hört mein Verständnis irgendwie auf:

Code: Alles auswählen

debian:/usr/src/openss7-0.9.2.G/streams# make CC="gcc -I /usr/src/linux-2.6.32-rc8/include/ -I /usr/src/linux-2.6.32-rc8/arch/x86/include/"
make  all-recursive
make[1]: Entering directory `/usr/src/openss7-0.9.2.G/streams-0.9.2.4'
Making all in include
make[2]: Entering directory `/usr/src/openss7-0.9.2.G/streams-0.9.2.4/include'
make  all-am
make[3]: Entering directory `/usr/src/openss7-0.9.2.G/streams-0.9.2.4/include'
make[3]: Für das Ziel »all-am« ist nichts zu tun.
make[3]: Leaving directory `/usr/src/openss7-0.9.2.G/streams-0.9.2.4/include'
make[2]: Leaving directory `/usr/src/openss7-0.9.2.G/streams-0.9.2.4/include'
Making all in .
make[2]: Entering directory `/usr/src/openss7-0.9.2.G/streams-0.9.2.4'
gcc -I /usr/src/linux-2.6.32-rc8/include/ -I /usr/src/linux-2.6.32-rc8/arch/x86/include/ -DHAVE_CONFIG_H   -I. -I. -I. -DLFS=1 -imacros ./config.h -imacros ./include/sys/config.h -I. -I./include -I./include -nostdinc -iwithprefix include -DLINUX -D__KERNEL__ -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 '-DKBUILD_STR(s)=#s' '-DKBUILD_BASENAME=KBUILD_STR('`echo libLfS_specfs_a-specfs.o | sed -e 's,lib.*_a-,,;s,\.o,,;s,-,_,g'`')' -DMODULE  -D__NO_VERSION__ -DEXPORT_SYMTAB  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -Wa,-mtune=generic32 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -ffreestanding  -c -o libLfS_specfs_a-specfs.o `test -f 'src/kernel/specfs.c' || echo './'`src/kernel/specfs.c
In file included from ./include/sys/dki.h:80,
                 from ./include/sys/streams/stream.h:206,
                 from ./include/sys/stream.h:80,
                 from src/kernel/strspecfs.c:158,
                 from src/kernel/specfs.c:123:
./include/sys/streams/dki.h:101: error: redefinition of ‘struct cred’
In file included from ./include/sys/ddi.h:80,
                 from src/kernel/strspecfs.c:161,
                 from src/kernel/specfs.c:123:
./include/sys/streams/ddi.h: In function ‘drv_priv’:
./include/sys/streams/ddi.h:250: error: ‘cred_t’ has no member named ‘cr_uid’
./include/sys/streams/ddi.h:250: error: ‘cred_t’ has no member named ‘cr_ruid’
In file included from src/kernel/specfs.c:123:
src/kernel/strspecfs.c: In function ‘specfs_init_cache’:
src/kernel/strspecfs.c:1406: warning: passing argument 5 of ‘kmem_cache_create’ from incompatible pointer type
make[2]: *** [libLfS_specfs_a-specfs.o] Fehler 1
make[2]: Leaving directory `/usr/src/openss7-0.9.2.G/streams-0.9.2.4'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/usr/src/openss7-0.9.2.G/streams-0.9.2.4'
make: *** [all] Fehler 2
Angeblich hat die Struktur cred_t nicht die beiden Variablen...
Einziger Punkt, wo diese Struktur deklariert ist in dki.h

Code: Alles auswählen

...
#ifdef CONFIG_STREAMS_LIS_BCM

/* for LiS binary compatibility */
typedef struct cred {
        uid_t cr_uid;                   /* effective user id */
        gid_t cr_gid;                   /* effective group id */
        uid_t cr_ruid;                  /* real user id */
        gid_t cr_rgid;                  /* real group id */
} cred_t;

#else                           /* CONFIG_STREAMS_LIS_BCM */

/* same layout as in task_struct */
typedef struct cred {
        uid_t cr_ruid, cr_uid, cr_suid, cr_fsuid;
        gid_t cr_rgid, cr_gid, cr_sgid, cr_fsgid;
#ifdef NGROUPS
        int cr_ngroups;
        gid_t cr_groups[NGROUPS];
#endif
#ifdef NGROUPS_SMALL
        struct group_info *cr_group_info;
#endif
} cred_t;
...
Also für mich ist die da deklariert und hat auch die beiden Variablen.
Aber irgendwie akzeptiert er das nict und ich weiß nicht warum...


PS:
Vielleicht kann jemand den Thread nach Toolkompilierung oder so verschieben, falls das geht...

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie Linux Kernel 2.6.31 aus den Sourcen installieren?

Beitrag von cirrussc » 02.12.2009 03:36:18

Wo ist denn aktuell das Problem?
Wenn Du Dich genau an Clios Anleitung hältst, sollte eigentlich alles klappen!
Das wurde aber auch schon im Wiki verlinkt.
Die Initrd wird dann automatisch beim installieren des .deb Paketes erzeugt.
Ansonsten nimmt man dafür mkinitramfs oder update-initramfs.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Antworten