Kompilieren und Installieren eines neuen Kernels auf Ubuntu 10.04

1273
pineapple

Ich habe Ubuntu 10.04 unter VMware auf einem Windows-Host ausgeführt. Ich lerne Linux-Gerätetreiberprogrammierung. Ich habe also versucht, einen Linux-Quellbaum einzurichten und einen benutzerdefinierten Kernel zu erstellen und zu laden. Ich stellte die beiden .deb-Pakete (benutzerdefinierten Kernel) her und installierte sie mit dpkg ( http://www.howtoforge.com/kernel_compilation_ubuntu_p2 ). Beim Neustart heißt es dann: Kernel-Panik, root fs kann nicht in Unknown-Block (0,0) gemountet werden. Bitte führen Sie, was ich tun soll.

Mein System hat GRUB2.

Bitte geben Sie auch an, welche Linux-Distribution die beste ist, um die Programmierung der Linux-Gerätetreiber zu erlernen. Ich finde Ubuntu etwas schwierig, da die meisten Tutorials, die ich im Internet für den Kernelbau finde, für generische Linux geschrieben sind, aber Ubuntu hat einen anderen Weg. Es gibt nicht viel Hilfe.

0
Haben Sie ein initramfs für den neuen Kernel erstellt? Ohne diese Option sind möglicherweise nicht alle Module vorhanden, die zum Starten Ihres Systems erforderlich sind. cdhowie vor 13 Jahren 1
Ich bin ein Neuling. Das habe ich nicht geschaffen. Was auch immer auf dieser Seite http://www.howtoforge.com/kernel_compilation_ubuntu_p2 erwähnt wurde, habe ich getan. Ich denke, das .deb-Paket hat die initrm-Datei pineapple vor 13 Jahren 0
Deb-Kernel-Pakete enthalten keine initramfs-Dateien, da diese normalerweise * pro System * als Teil des Installations- / Upgradeprozesses erstellt werden. Werfen Sie einen Blick auf `man mkinitramfs` und erstellen Sie einen für den neuen Kernel. cdhowie vor 13 Jahren 0
Könnten Sie eine einfache Linux-Distribution empfehlen, die ich problemlos für meine Zwecke verwenden kann? Ich bin lange Zeit festgefahren, nur um den Kernel aufzubauen, und es ist mir immer noch nicht gelungen pineapple vor 13 Jahren 0
Es gibt keine "beste" Verteilung. Sie wählen diejenige aus, die für die Aufgabe geeignet ist, sofern Sie nicht bereits eine Berufung gewählt haben. vor 13 Jahren 0
Ich teile Ihre Meinung, dass Ubuntu nicht als seriöse Entwicklungsplattform gilt (schließlich versuchen sie Einsteiger mit Desktopsystemen zu bedienen). Ihre Komponenten sind daher oft veraltet. Wenn es um die "Top 5" -Distributionen geht (wie von distrowatch.org festgelegt), kann ich mich für Fedora, openSUSE und (derzeit) Debian-6 verbürgen, die die Anforderungen für ernsthafte Entwickler erfüllen. vor 13 Jahren 0
Nun, Sie sollten in der Lage sein, mit distro-agnostischen Tutorials (der Masse von ihnen, gegen die Sie eine Abneigung zu haben scheinen) zu arbeiten, selbst bei Unbunt. Das ist doch der Punkt, generisch zu sein. Es ist nicht so, dass Sie * erforderlich * sind, um Distributionsspezifische Binärpakete zu erstellen. vor 13 Jahren 0

2 Antworten auf die Frage

2

To config, build, and install new kernel on Ubuntu 10.04 follow these steps:

  1. cd to the directory with the kernel source tree (assuming this is ~/linux):

    cd ~/linux 
  2. Copy your current kernel configuration to the source tree:

    cp /boot/config-2.6.32-32-generic .config 
  3. Config additional options (here I just accept defaults):

    yes '' | make oldconfig 

    Now you can change some options, if you don't want defaults. On my machine I chose 'Processor family' = 'Core 2' and 'Preemption model' = 'Preemptible kernel'. To do this run:

    make menuconfig 

    and chose options that you like. You can press ? on any option and there will be short description.

  4. Build the kernel:

    make -j4 > /dev/null 

    change 4 to the (number_of_physical_cores_on_your_machine * 2), this will make building of the kernel a lot faster. Don't be afraid of > /dev/null since all the warnings and errors still will be output.

  5. Install the new kernel:

    sudo -s make INSTALL_MOD_STRIP=1 modules_install 

    you can just make modules_install if you plan to debug the kernel

    make install update-initramfs -c -k `make kernelrelease` update-grub exit 

This how-to is based on New kernel on Ubuntu 10.04

0

I'll recomend Gentoo. It's a little bit harder to install and use then out of the box Ubuntu, but you are getting to know your system from the beginning. Even if you are newbie, installation instructions will guide you through the process, and compiling your own kernel is a part of it.