kernel 2.6.20 unter feisty bauen
kernel 2.6.20 unter feisty bauen
Hi,
ich hab ein kleines Problem mit APM und muss daher ein paar Sachen am Kernel ändern
Allerdings möchte ich kein .deb Paket, verzichte daher auf make-kpkg und mach es manuell. Jetzt folgende Fragen:
1) Wenn ich die .config aus dem Bootverzeichniss übernehme und ohne irgendwelche Änderungen zu machen den Kernel und die Module übersetze und die Module anschliessend installiere hab ich nen Kernel der zwar genauso groß ist, wie der alte (logisch!) aber das Verzeichniss mit den Modulen ist um ein vielfaches Größer (ca 400MB) als beim orginalkernel (ca 90MB). Warum? Woran kann das liegen, wenn ich nichts an der config verändere? Ich habs dann auch mal mit make-kpkg probiert. Das Paket hat auch eine recht beachtliche Größe und die initrd ist in diesem Paket auch weit über 40 MB. Die orginal initrd hat 6 MB.
2) welche Teile aus dem Kernel muss ich fest einkompilieren um auf eine initrd komplett verzichten zu können. Bis jetzt hab ich die ext2/3 Treiber und die komponenten für sata fest eingebunden. Wenn ich versuche den neuen kernel zu starten kommt ein Kernel Panic. ("Kernel Panic - not syncing: VFS: Unable to mount fs on unknown block"). Unter Gentoo hab ich damit noch keine Probleme gehabt Traurig
3) Wie mach ich mir (manuell) eine initrd, falls ich doch nicht drauf verzichten? Gibts dazu ein gutes Tut oder so? Es sollte halt nur das rein, was ich wirklich brauche um booten zu können und sollte daher nicht größer sein, als die orgnial initrd.
Vielen Dank schonmal an alle die mir da weiterhelfen können.
Gruss
ironeagle
ich hab ein kleines Problem mit APM und muss daher ein paar Sachen am Kernel ändern
Allerdings möchte ich kein .deb Paket, verzichte daher auf make-kpkg und mach es manuell. Jetzt folgende Fragen:
1) Wenn ich die .config aus dem Bootverzeichniss übernehme und ohne irgendwelche Änderungen zu machen den Kernel und die Module übersetze und die Module anschliessend installiere hab ich nen Kernel der zwar genauso groß ist, wie der alte (logisch!) aber das Verzeichniss mit den Modulen ist um ein vielfaches Größer (ca 400MB) als beim orginalkernel (ca 90MB). Warum? Woran kann das liegen, wenn ich nichts an der config verändere? Ich habs dann auch mal mit make-kpkg probiert. Das Paket hat auch eine recht beachtliche Größe und die initrd ist in diesem Paket auch weit über 40 MB. Die orginal initrd hat 6 MB.
2) welche Teile aus dem Kernel muss ich fest einkompilieren um auf eine initrd komplett verzichten zu können. Bis jetzt hab ich die ext2/3 Treiber und die komponenten für sata fest eingebunden. Wenn ich versuche den neuen kernel zu starten kommt ein Kernel Panic. ("Kernel Panic - not syncing: VFS: Unable to mount fs on unknown block"). Unter Gentoo hab ich damit noch keine Probleme gehabt Traurig
3) Wie mach ich mir (manuell) eine initrd, falls ich doch nicht drauf verzichten? Gibts dazu ein gutes Tut oder so? Es sollte halt nur das rein, was ich wirklich brauche um booten zu können und sollte daher nicht größer sein, als die orgnial initrd.
Vielen Dank schonmal an alle die mir da weiterhelfen können.
Gruss
ironeagle
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Um Sata Festplatten zu Nutzen muss auch die Scsi und Scsi Festplatten Untestützung fest in den Kernel. Poste am besten mal die Ausgabe von lspci und stell deine .config nach http://nopaste.debianforum.de/
Hi, danke für deine schnelle antwort.
Viele der Punkte die scsi betreffen hab ich auch schon ausprobiert. Ab was genau da dabei sein muss, wusste ich natürlich auch nicht.
Hier ist die .config: http://nopaste.debianforum.de/5691
und hier meine hardware
Viele der Punkte die scsi betreffen hab ich auch schon ausprobiert. Ab was genau da dabei sein muss, wusste ich natürlich auch nicht.
Hier ist die .config: http://nopaste.debianforum.de/5691
und hier meine hardware
:~$ lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc M56P [Radeon Mobility X1600]
03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
09:02.0 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
09:02.2 Generic system peripheral [0805]: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
09:02.3 Mass storage controller: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
09:08.0 Ethernet controller: Intel Corporation PRO/100 VE Network Connection (rev 02)
Re: kernel 2.6.20 unter feisty bauen
Dann nimm doch einfach die Gentoo-Konfiguration...Ironeagle hat geschrieben:2) welche Teile aus dem Kernel muss ich fest einkompilieren um auf eine initrd komplett verzichten zu können. Bis jetzt hab ich die ext2/3 Treiber und die komponenten für sata fest eingebunden. Wenn ich versuche den neuen kernel zu starten kommt ein Kernel Panic. ("Kernel Panic - not syncing: VFS: Unable to mount fs on unknown block"). Unter Gentoo hab ich damit noch keine Probleme gehabt Traurig
Freiheit ist immer die Freiheit der Andersdenkenden.
(Rosa Luxemburg)
(Rosa Luxemburg)
Das ist ne gute Idee. Ubuntu hat nur leider bei dem kernel noch einige andere patches im gepäck, dafür fehlen welche, die bei gentoo dabei sind. Ich weiss nicht, ob dann hinterher noch alles so funktioniert wie vorher, wenn ich einfach die config ersetze.
Aber danke für den tipp. Wenn gar nix mehr geht werd ich das mal ausprobieren
gruss
ironeagle
Aber danke für den tipp. Wenn gar nix mehr geht werd ich das mal ausprobieren
gruss
ironeagle
Damit meint ich eigentlich nur, dass ich, wenn ich ein gentoo system aufsetze, diese problem in der form noch nicht hatte. Das waren aber auch andere Rechner und insbesondere keine sata platten. An diesem Rechner hab ich noch nicht probiert gentoo zu installieren. Will ich auch nicht.gms hat geschrieben:warum hast du den Gentoo-Kernel besser oder anders konfiguiert ?
Wie @lunar schon angemerkt hat, kannst du die Konfiguration von deinem Gentoo-Kernel weiterverwenden, du kannst aber auch den Kernel und die Module in dein Ubuntu-System kopieren.
Gruß
gms
dann haben wir dich mißverstanden, mir war das eben auch nicht einläuchtend, warum sich jemand zweimal diese Arbeit antun sollte
Auf einem neuen System, wenn der Kernel nicht gleich ohne initrd funktioniert, dann boote ich diesen Kernel mittels initrd, schau mir dann mittels "pcimodules" an, welche Module geladen wurden und überlegen dann, welches Modul davon schon beim Bootvorgang benötigt wird und daher fix in den Kernel reinkompiliert werden sollten. Normalerweise habe ich dann spätestens beim zweiten Anlauf einen Kernel, der auch ohne initrd bootet.
Eine initrd kannst du recht einfach erstellen:
"version" gehört natürlich (2x) ersetzt
Gruß
gms
Auf einem neuen System, wenn der Kernel nicht gleich ohne initrd funktioniert, dann boote ich diesen Kernel mittels initrd, schau mir dann mittels "pcimodules" an, welche Module geladen wurden und überlegen dann, welches Modul davon schon beim Bootvorgang benötigt wird und daher fix in den Kernel reinkompiliert werden sollten. Normalerweise habe ich dann spätestens beim zweiten Anlauf einen Kernel, der auch ohne initrd bootet.
Eine initrd kannst du recht einfach erstellen:
Code: Alles auswählen
mkinitrd -o /boot/initrd.img-version version
Gruß
gms
ah, vielen dank gmx. Das scheint eine gute vorgehensweise zu sein. Jetzt hab ich allerdings immernoch das problem, dass die initrd 40 MB groß ist. Leider hab ich nur eine beschränkt große Bootpartition. Wie kann ich die initrd (und auch das Verzeichniss mit den Modulen) kleiner bekommen. Warum sind die überhaupt so groß, selbst, wenn ich an der .config gar nichts ändere?
hm, selbst wenn ich vom Debian-Standardkernel alle Module zur initrd hinzufüge ( konfigurierbar über /etc/mkinitrd/mkinitrd.conf : MODULES=all ), komme ich auf nicht einmal 19 MB ). Mit "MODULES=dep" wird das image keine 2 MB groß
Mit der "-k" Option wird das temporäre Verzeichnis behalten, du kannst dort einmal reingucken, was alles in deine initrd reinkommt
Gruß
gms
Mit der "-k" Option wird das temporäre Verzeichnis behalten, du kannst dort einmal reingucken, was alles in deine initrd reinkommt
Gruß
gms