View previous topic :: View next topic |
Author |
Message |
ubald n00b
Joined: 14 Jan 2005 Posts: 48
|
Posted: Thu Jan 20, 2005 5:37 pm Post subject: Kernelkompilierung - allgemeine Fragen |
|
|
Hallo!
Ich hab mir gentoo installiert, hab aber das Problem, dass ich nicht ins Internet komme.
Daher wollte ich den Kernel neu kompilieren, was aber bisher damit geendet hat, dass lilo sagt: "no data input"
Daher will ich jetzt mal wissen, wo ich die grundsätzlichen Sachen zum Kernel usw. nachlesen kann.
Fragen sind z.B.:
1. Wird auch die /boot partition beim Start automatisch gemountet, wenn sie in fstab angegeben ist? (Ich muss ja den Kernel nach /boot kopieren)
2. Welche Dateien brauche ich auf /boot, damit gentoo läuft? Bei mir waren da eine ganze Menge, u.a. ein link "boot", der ewig auf sich selbst zu verweisen scheint, weiterhin "map" und "kernel" und "System" und "System.map" und natürlich "kernel-2.4.25" und "initrd-2.4.25" usw.
3.Wird beim kompilieren nur eine neue "kernel-2.4.25" erzeugt (natürlich erst als bzImage) oder muss ichj da auch eine neue "initrd" usw. herstellen?
4.Welcher Kernel wird verwendet? Immer der, den ich anfangs emerged habe?
5. genügen zur "aktivierung" des neuen Kernels die Komandos aus Kapitel 7? Also:
-make menuconfig
-dann meine Einstellungen
- make dep && make bzImage modules modules_install
- cp arch/i386/boot/bzImage /boot/kernel-2.4.25
- cp System.map /boot/System.map-2.4.25
6. Wird die initrd nur beim genkernel benötigt?
7. Kann ich sagen: wenn genkernel nicht funktioniert, brauch ich gar nicht selber zu kompilieren anfangen, weil das dann eh nichts bringt?
8.Wo kann man nachlesen, was ein Linux-System grundsätzlich für Bestandteile hat und wo ich diese finde? also z.b. die fstab, den kernel, diese ganzen autoload-dateien, die Orte, wo sich die module befinden usw.
Wäre schön, wenn ihr mir zumindest au einige dieser Fragen Antwort geben könnt! |
|
Back to top |
|
|
c07 Veteran
Joined: 25 Oct 2002 Posts: 1091
|
Posted: Thu Jan 20, 2005 6:04 pm Post subject: Re: Kernelkompilierung - allgemeine Fragen |
|
|
ubald wrote: | Wird auch die /boot partition beim Start automatisch gemountet, wenn sie in fstab angegeben ist? |
Prinzipiell schon, aber es ist üblich, das mit "noauto" zu unterbinden.
Was du auf /boot brauchst, hängt von deiner Konfiguration ab. /boot/boot ist z.B. unnötig, fängt aber manche Fehlkonfigurationen ab.
ubald wrote: | Welcher Kernel wird verwendet? |
Der, den du verwendest. Wenn du dich in /usr/src/linux begibst, hängt es davon ab, worauf dieser Symlink zeigt (sollte immer der aktuelle Kernel sein; also bei neuem Kernel ändern).
ubald wrote: | Kann ich sagen: wenn genkernel nicht funktioniert, brauch ich gar nicht selber zu kompilieren anfangen, weil das dann eh nichts bringt? |
Nein, ohne genkernel ist manches schwieriger, dafür entfallen aber auch einige zusätzliche Fehlerquellen. |
|
Back to top |
|
|
calvin-gr Tux's lil' helper
Joined: 25 Sep 2004 Posts: 94 Location: Germany
|
Posted: Thu Jan 20, 2005 6:07 pm Post subject: |
|
|
ich kann leider nicht auf alle fragen antworten, aber ich hoffe es hilft dennoch
2. IIRC brauchst du nur den kernel und System.map und gegebennenfalls eine initrd
4. es wird immer das image geladen, das in der lilo.conf angegeben ist.
5. ich denke schon
6. beim genkernel wird sie auf jeden fall benötigt. beim selbst-compiled nur in bestimmten fällen, zb wenn du einen bootsplash installierst
8. wenn du ein buch willst, such einfach mal bei amazon, da findest du so gut wie alles _________________ Apfelmus schmeckt gut! |
|
Back to top |
|
|
m.b.j. Guru
Joined: 12 Sep 2003 Posts: 407 Location: Germany (Essen)
|
Posted: Thu Jan 20, 2005 11:34 pm Post subject: |
|
|
Zur boot partition, du gibts diese Partition im Grub (oder anderen Bootloader) ja an, deshalb muss sie nicht gemountet werden, der Kernel wird in den Ram kopiert und fertig... _________________ root@mbj # echo "sys-pizza/calzone -tunfish" >> /etc/paludis/use.conf
root@mbj # paludis -i calzone --dl-blocks discard |
|
Back to top |
|
|
nexus780 Apprentice
Joined: 17 Sep 2004 Posts: 206 Location: Manchester
|
Posted: Fri Jan 21, 2005 3:18 am Post subject: Re: Kernelkompilierung - allgemeine Fragen |
|
|
ubald wrote: | 5. genügen zur "aktivierung" des neuen Kernels die Komandos aus Kapitel 7? Also:
-make menuconfig
-dann meine Einstellungen
- make dep && make bzImage modules modules_install
- cp arch/i386/boot/bzImage /boot/kernel-2.4.25
- cp System.map /boot/System.map-2.4.25 |
Nein. Du musst auch noch die /boot/grub/grub.conf aendern, wie's bei lilo geht weiss ich nicht - s. Handbuch. Dann musst du noch neustarten. Und davor natuerlich den kernel emergen oder sonstwie installen und dann den symlink /usr/src/linux aendern.
ubald wrote: | 6. Wird die initrd nur beim genkernel benötigt? |
Nein, auch bei vielen Arten nen Kernel zu konfiggen. Bei der Standardmethode Kernel selbst kompilieren braucht man sie allerdings nicht, es sei denn man will sie unbedingt haben
ubald wrote: | 7. Kann ich sagen: wenn genkernel nicht funktioniert, brauch ich gar nicht selber zu kompilieren anfangen, weil das dann eh nichts bringt? |
Im Gegenteil. Mein Laptop war mit genkernel nich zum Laufen zu bringen (hab aber nich viel rumprobiert), mit selbst konfiggen liefs zwar nicht beim ersten Versuch sondern beim Dritten aber die ersten beiden waren dumme Fehler die leicht zu finden waren.
ubald wrote: | 8.Wo kann man nachlesen, was ein Linux-System grundsätzlich für Bestandteile hat und wo ich diese finde? also z.b. die fstab, den kernel, diese ganzen autoload-dateien, die Orte, wo sich die module befinden usw. |
Puh.. vielleicht beim Gentoo Wiki oder so, kannst auch bei LFS (linux from scratch) schaun. Die meisten Distros erwarten ja nicht, dass der Admin selbst die Konfigs usw. aendert sondern die Distro-Tools verwendet. |
|
Back to top |
|
|
platinumviper l33t
Joined: 12 Feb 2004 Posts: 658 Location: Munich, Germany
|
Posted: Fri Jan 21, 2005 4:11 am Post subject: Re: Kernelkompilierung - allgemeine Fragen |
|
|
ubald wrote: | Ich hab mir gentoo installiert, hab aber das Problem, dass ich nicht ins Internet komme. |
Wenn das das einzige Problem ist, liegt es ziemlich sicher nicht am Kernel. Was sagt denn /sbin/ifconfig und was steht in /etc/conf.d/net?
ubald wrote: | wo ich die grundsätzlichen Sachen zum Kernel usw. nachlesen kann. |
Was meinst Du genau? Es gibt z.B. den Hilfe-Button, das Verzeichnis /usr/src/linux/Documentation, mindestens ein WIKI (such' mal in diesem Forum) und die Kernel-Mailing-List.
ubald wrote: | 1. Wird auch die /boot partition beim Start automatisch gemountet, wenn sie in fstab angegeben ist? |
Wenn die Option noauto in der fstab steht nicht, ansonsten schon.
ubald wrote: | (Ich muss ja den Kernel nach /boot kopieren) |
Nein, mußt Du nicht, ein ungepatchter Standard-Kernel installiert sich nach /. Du kannst den Kernel an einem Platz Deiner Wahl unterbringen solange folgende Bedingungen erfüllt sind:
1. der korrekte Pfad muss in lilo.conf eingetragen sein
2. die Partition muss gemounted sein während Du lilo aufrufst
3. das BIOS muss auf das Gerät zugreifen können, bei neueren BIOSs kommt sogar 'ne Digitalkamera in Frage.
4. falls initrd genutzt wird muss der Gerätetreiber und das Filesystem fest im Kernel sein, nicht als Modul
ubald wrote: | 2. Welche Dateien brauche ich auf /boot, damit gentoo läuft? |
Eigentlich nur das, was lilo bzw make install oder make bzlilo dort angelegt haben (vmlinuz*, System.map*, boot.* und ein Paar Links), eventuell auch initrd*, das hängt aber stark von Deiner individuellen Konfiguration ab. Solange der Platz auf der Partition nicht knapp wird: Besser nichts unbekanntes löschen.
ubald wrote: | 3.Wird beim kompilieren nur eine neue "kernel-2.4.25" erzeugt (natürlich erst als bzImage) oder muss ichj da auch eine neue "initrd" usw. herstellen? |
Annahme: In /usr/src/linux/Makefile ist die Variable INSTALL_PATH auf /boot gesetzt, dann gilt:
make bzImage erzeugt nur ein bzImage
make modules erzeugt die Moduln
make modules_install kopiert die Moduln nach /lib/modules/KernelVersion
make bzlilo erzeugt ein bzImage, kopiert /boot/vmlinuz nach /boot/vmlinuz.old, kopiert /boot/System.map nach /boot/System.map.old, kopiert bzImage nach /boot/vmlinuz, kopiert System.map nach /boot/System.map und führt lilo aus
make install erzeugt ein bzImage, kopiert bzImage nach /boot/vmlinuz-Version, kopiert /boot/System.map nach /boot/System.map.old, löscht den Link /boot/vmlinuz.old, benennt den Link /boot/vmlinuz um in /boot/vmlinuz.old, legt einen neuen Link /boot/vmlinuz an, der auf /boot/vmlinuz-Version verweist und fragt anschliessend ob lilo oder grub ausgefüht werden soll.
Wenn Deine initrd Kernelmoduln enthält, musst Du sie natürlich auch neu "bauen", sie passen nur zu "ihrem" Kernel
ubald wrote: | 4.Welcher Kernel wird verwendet? Immer der, den ich anfangs emerged habe? |
Der Kernel, der in lilo.conf als default eingetragen ist, falls die default-Zeile fehlt, der erste Kernel in lilo.conf
ubald wrote: | 5. genügen zur "aktivierung" des neuen Kernels die Komandos aus Kapitel 7? Also:
-make menuconfig
-dann meine Einstellungen
- make dep && make bzImage modules modules_install
- cp arch/i386/boot/bzImage /boot/kernel-2.4.25
- cp System.map /boot/System.map-2.4.25 |
Es fehlt mindestens noch ein simples lilo und ganz am Anfang mount /boot
Einfacher:
make [menuconfig|xconfig] dep modules modules_install install (Kernel 1.0 - 2.4) oder
make [menuconfig|gconfig|xconfig] all modules_install install (Kernel 2.6)
ubald wrote: | 6. Wird die initrd nur beim genkernel benötigt? |
Es gibt seltene Ausnahmefälle, in denen eine initrd sinnvoll sein kann (z.B. Reihenfolge der SCSI Adapter ändern)
ubald wrote: | 7. Kann ich sagen: wenn genkernel nicht funktioniert, brauch ich gar nicht selber zu kompilieren anfangen, weil das dann eh nichts bringt? |
Da genkernel nicht in einer KI Sprache geschrieben wurde ist er nicht lernfähig sonder immer auf fremde Hilfe (seine Programmierer) angewiesen, Du bist ihm haushoch überlegen, mach weiter!
P.S.: Bist Du ein Mensch oder eine mutierende LISP Struktur?
platinumviper _________________ No money back garantee. In case of problems, don't call us, we call you. |
|
Back to top |
|
|
Deever Veteran
Joined: 06 Jul 2002 Posts: 1354 Location: Zürich / Switzerland
|
Posted: Fri Jan 21, 2005 4:48 am Post subject: Re: Kernelkompilierung - allgemeine Fragen |
|
|
platinumviper wrote: | 4. falls initrd genutzt wird muss der Gerätetreiber und das Filesystem fest im Kernel sein, nicht als Modul | Nein, genau deswegen benutzen kommerzielle Distributoren eine initrd. Um universelle Kernels bauen zu können ohne den Treiber für das Rootdateisystem einkompiliert. Dieser und anderer Ramsch wird eben in der initrd nachgeladen!
Gruß,
/dev |
|
Back to top |
|
|
gambi n00b
Joined: 30 Nov 2004 Posts: 71 Location: Leipzig
|
Posted: Fri Jan 21, 2005 7:38 am Post subject: |
|
|
ich kenne das was ubald beschreibt, deshalb habe ich mich auch ca. ein halbes jahr ums kernelkompilieren gedrückt. Kann mal jemand eine Liste von Links zu diesem Thema posten, denn mit den hier beschriebenen Sachen kann ich immer noch keinen
funktionierenden Kernel backen.
Im Internet gibt es ca. 1 Million Seiten die sich mit den Befehlen zum backen
auseinander setzen, jedoch kaum eine die sich damit beschäftigt was den so alles rein
muss, Standardmässig. Das Gentoo-HB hat schon einpaar vorweg genommen um die
größten Fehler auszuschließen, das ist aber leider noch lange nicht alles der ca.
10 Milliarden Einstellungsmöglichkeiten.
Für ne Liste wäre ich sehr dankbar. _________________ moderne Physik ist wie das Lächeln einer Katze, die es garnicht gibt. - Einstein
"Kunst kommt von Können, käme sie von wollen, so würde sie Wulst heißen" Max Liebermann (1847-1835)
|
|
Back to top |
|
|
nexus780 Apprentice
Joined: 17 Sep 2004 Posts: 206 Location: Manchester
|
Posted: Fri Jan 21, 2005 7:56 am Post subject: |
|
|
Die ersten paar von-null Kernels werden anstrengend, danach solltes viel schneller gehn. Lies dir einfach zu jeder Option die du moeglicherweise brauchst (Treiber sollten ja recht offensichtlich sein, im Zweifel lesen) und wenn du dir nicht sicher bist nimm den Standard. Mach dir vielleicht vorher ne Liste von aller Hardware die unterstuetzt werden muss. Bei mir z.B. nForce2 AGP, nForce2 Netz, nForce2 Audio, Matrox FB, Via Rhino Netz, Promise irgendwas SATA - zu finden unter SCSI -, SCSI hard disk, USB Maus&Tastatur (ist ein Treiber, USB HID oder so - HID=human interface device), PS/2 Tastatur.. hm ich glaub das wars im Wesentlichen Hardware. Wenn du das so machst sollteste nicht allzu viele Probs haben, und wenn doch kannst ja nochmal spezifisch fragen - bei Fragen wo man sieht, dass der Author vorher auch den Kopf benutzt hat wird eigentlich fast immer ne Loesung gefunden
Nen richtigen Guide kenn ich leider nicht, waere aber auch fuer mich gut gewesen am Anfang glaub ich. Aber meinen ersten Kernel hab ich ohne Hilfe auf den 2. Versuch hingekriegt
Btw: Bei Kernel-Updates brauchst du das nicht neu zu machen. Zumindest innerhalb einer Serie, also z.B. der 2.6er Gentoos - kA wies bei Serienwechsel is, von 2.4 auf 2.6 und umgekehrt wuerd ich neu machen. Schau dazu in den Wikis oder Forum/Docu Forum/FAQ, is ganz einfach wenn du erstmal nen laufenden eignen Kernel hast |
|
Back to top |
|
|
ubald n00b
Joined: 14 Jan 2005 Posts: 48
|
Posted: Fri Jan 21, 2005 1:54 pm Post subject: |
|
|
Erstmal vielen Dank für die überweltigende Hilfsbereitschaft hier! Ich hab noch nie ein Forum gesehen, wo einem so gut geholfen wird wie hier!
Bei mir ist das Problem, dass ich den Kernel schon oft kompiliert zu haben glaubte, aber es war die /boot nicht gemounted
Erst jetzt hab ich den neuen Kernel wirklich mal nach /boot kopiert, aber nichts läuft! lilo sagt nur: no data input. Daher werde ich das nächste mal versuchen, nach dem kompilieren einfach noch "lilo" zu machen.
@nexus780:
Ich hab auch ein nforce2-board und eins meiner Hauptprobleme dabei ist das onboard-lan.
Der Treiber ist nicht in der Liste in menuconfig, daher hab ich ihn nachher mit "emerge nforce-net" installiert und in die autoloadliste eingetragen. Der läuft auch.
Aber wie ist es mit den Treibern, die ich in menuconfig als modul wähle, müssen die auch erscheinen, wenn ich "lsmod" mache? Und muss ich die auch manuell in die autoload eintragen?
Und brauch ich eigentlich solche Sachen wie nForce2 AGP (wenn ja: wo find ich das?) oder PS/2-Tastatur (wo?)?
Weiterhin: muss ich mit einem neuen Kernel irgendwelche config-Dateien (ausser lilo und /usr/src/linux) ändern?
Danke! |
|
Back to top |
|
|
Mindphaser Tux's lil' helper
Joined: 15 Dec 2004 Posts: 113 Location: Germany
|
Posted: Fri Jan 21, 2005 2:28 pm Post subject: |
|
|
Nur mal so ne Frage.... wieso nimmst du nicht den 2.6er Kernel ? Da ist auch nForce2 LAN/AGP etc. mit drinn, ob das der 2.4er hat weiss ich nicht.
Aber egal ob 2.4 oder 2.6, es ist wesentlich einfacher (und logischer), wenn du den Kernel KEINE Module bauen lässt, alles direkt in den Kernel reinbacken. Für Sachen wie nVidia Grafik etc., also was der Kernel nicht hat, dass kommt dann ins autoload.
Ich verwende zwar kein LILO, aber so weit ich weiss musst du nachdem du einen neuen Kernel gemacht hast "lilo" eingeben, warum weiss ich auch nicht, bei GRUB muss das nicht sein, aber egal... |
|
Back to top |
|
|
c07 Veteran
Joined: 25 Oct 2002 Posts: 1091
|
Posted: Fri Jan 21, 2005 3:06 pm Post subject: |
|
|
Mindphaser wrote: | Ich verwende zwar kein LILO, aber so weit ich weiss musst du nachdem du einen neuen Kernel gemacht hast "lilo" eingeben, warum weiss ich auch nicht, bei GRUB muss das nicht sein, aber egal... |
Grub ist im Prinzip ein eigenständiges Betriebssystem, während Lilo unter Linux läuft. Der eigentliche Bootloader kann da wirklich nur die nötigen Sachen, die ihm zuvor gesagt werden müssen, also z.B. welche Blöcke er laden soll. Beide Konzepte haben ihre Vorteile. |
|
Back to top |
|
|
nexus780 Apprentice
Joined: 17 Sep 2004 Posts: 206 Location: Manchester
|
Posted: Fri Jan 21, 2005 3:29 pm Post subject: |
|
|
[quoteIch hab auch ein nforce2-board und eins meiner Hauptprobleme dabei ist das onboard-lan.[/quote]
Nimm lieber Forcedeth (OSS mit Unterstuetzung von nVidia
Quote: | Aber wie ist es mit den Treibern, die ich in menuconfig als modul wähle, müssen die auch erscheinen, wenn ich "lsmod" mache? Und muss ich die auch manuell in die autoload eintragen? |
Haengt davon ab ob du sie immer brauchst (dann in die autoload - oder einfach direkt in den Kernel rein soweit moeglich). Und angezeigt werden sie bei lsmod falls sie geladen wurden
Also entweder per autoload oder per modprobe
Quote: | Und brauch ich eigentlich solche Sachen wie nForce2 AGP (wenn ja: wo find ich das?) oder PS/2-Tastatur (wo?)? |
PS/2 Tastatur/Maus: Device Drivers > Input Device Support > i8042 PC Keyboard controller und PCI PS/2 keyboard and PS/2 mouse controller
AGP: Device drivers > Character devices > /dev/agpgart (AGP Support) > NVIDIA nForce/nForce2 chipset support (btw: Warum steht da nix von nForce3&4?
Quote: | Weiterhin: muss ich mit einem neuen Kernel irgendwelche config-Dateien (ausser lilo und /usr/src/linux) ändern? |
Wuesste nich welche |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|