Kompilieren und Installieren eines neuen Kernels unter Ubuntu 10.04

0

Ich habe Ubuntu 10.04 auf VMware auf einem Windows-Host ausgeführt. Ich lerne die Programmierung von Linux-Gerätetreibern. In diesem Prozess habe ich versucht, einen Linux-Quelltextbaum einzurichten und einen benutzerdefinierten Kernel zu erstellen und zu laden. Ich habe die beiden .deb-Pakete (angepasster Kernel) erstellt und sie mit dpkg installiert ( http://www.howtoforge.com/kernel_compilation_ubuntu_p2 ). Dann, wenn ich neu gestartet habe, heißt es: Kernel Panic, nicht in der Lage Root-Fs auf unknown-Block (0,0) zu mounten. Bitte führen Sie, was soll ich tun?

Mein System hat GRUB2.

Bitte geben Sie auch an, welche Linux-Distribution die beste ist, um die Programmierung von Linux-Gerätetreibern zu erlernen. Ich finde Ubuntu etwas schwierig, da die meisten Tutorials, die ich im Internet zum Erstellen von Kerneln finde, für generisches Linux geschrieben wurden, aber Ubuntu hat einen anderen Weg. Es gibt nicht viel Hilfe.

pineapple
quelle
1
Hast du ein initramfs für den neuen Kernel erstellt? Andernfalls verfügt es möglicherweise nicht über alle Module, die zum Booten Ihres Systems erforderlich sind.
cdhowie
Ich bin ein Neuling. Das habe ich nicht geschaffen. Was auch immer auf dieser Seite erwähnt wurde howtoforge.com/kernel_compilation_ubuntu_p2 , Ich habe das gemacht. Ich denke .deb-Paket hat die Initrm-Datei
pineapple
Deb-Kernel-Pakete enthalten keine initramfs-Dateien, da diese normalerweise erstellt werden pro System als Teil des Installations- / Aktualisierungsprozesses. Schau es dir an man mkinitramfs und erstelle einen für den neuen Kernel.
cdhowie
Könnten Sie mir eine einfache Linux-Distribution empfehlen, die ich problemlos für meine Zwecke nutzen kann? Ich stecke schon lange fest, nur um den Kernel aufzubauen, und es ist mir immer noch nicht gelungen
pineapple
Es gibt keine "beste" Verteilung. Sie wählen diejenige, die für die Aufgabe geeignet ist, es sei denn, Sie haben bereits eine auf Berufung beruhende ausgewählt.

Antworten:

2

Führen Sie die folgenden Schritte aus, um einen neuen Kernel unter Ubuntu 10.04 zu konfigurieren, zu erstellen und zu installieren:

  1. cd in das Verzeichnis mit dem Kernel - Quelltextbaum (vorausgesetzt das ist ~/linux ):

    cd ~/linux
    
  2. Kopieren Sie Ihre aktuelle Kernel-Konfiguration in den Quellbaum:

    cp /boot/config-2.6.32-32-generic .config
    
  3. Zusätzliche Optionen konfigurieren (hier akzeptiere ich nur die Standardeinstellungen):

    yes '' | make oldconfig
    

    Jetzt können Sie einige Optionen ändern, wenn Sie keine Standardeinstellungen möchten. Auf meiner Maschine wählte ich ' Processor family '=' Core 2 ' und ' Preemption model '=' Preemptible kernel '. So führen Sie das aus:

    make menuconfig
    

    und wählen Sie die gewünschten Optionen. Sie können drücken ? auf jede Option und es wird eine kurze Beschreibung geben.

  4. Erstellen Sie den Kernel:

    make -j4 > /dev/null
    

    Veränderung 4 Bei der (Anzahl_der_physischen_Kerne_auf_Ihrer_Maschine * 2) beschleunigt dies die Erstellung des Kernels erheblich. Hab keine Angst davor > /dev/null da alle Warnungen und Fehler noch ausgegeben werden.

  5. Installieren Sie den neuen Kernel:

    sudo -s
    make INSTALL_MOD_STRIP=1 modules_install
    

    du kannst einfach make modules_install wenn Sie vorhaben, den Kernel zu debuggen

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

Dieses How-to basiert auf Neuer Kernel auf Ubuntu 10.04


quelle
0

Ich werde Gentoo empfehlen. Es ist ein bisschen schwieriger, Ubuntu zu installieren und zu verwenden, aber Sie lernen Ihr System von Anfang an kennen. Selbst wenn Sie Anfänger sind, werden Sie anhand der Installationsanweisungen durch den Prozess geführt, und das Kompilieren Ihres eigenen Kernels ist ein Teil davon.


quelle