Projekt 1 Erstellen eines angepassten Kernel und Erstellen von Patches
Sie werden Änderungen an den Linux-Kernel für Ihre Projekte in diesem Semester werden zu machen. So müssen Sie vertraut mit dem Kernel kompiliert, wodurch Aktualisierungen Änderungen reflektieren und sie dann zur Einstufung einreichen. Sie werden diese Operationen viele, viele Male während des Semesters wiederholen. Projekt 1 ist ein einfaches Projekt konzipiert, dass Sie mit diesen Verfahren beginnen. Es werden zwei Ziele verfolgt:
- Installation von Linux und den Aufbau eines eigenen Kernel
- Erstellen von Patches für den Kernel-Updates
Installation von Linux und den Aufbau eines eigenen Kernel
Das erste Ziel ist, sich bequem Erstellen eines benutzerdefinierten Linux-Kernel und Installation es (auf einem externen USB-Laufwerk im Labor oder auf dem eigenen Computer oder Partition auf Ihrem eigenen Computer oder mit VMware Workstation 4). Wir werden eine Standard-Linux-Distribution verwenden, das ISO-Images von denen aus myUMBC (Folgen Sie Links zu Business Service, dann Campus-Software-Lizenzinformationen und schließlich UMBC RedHat Linux 3.0) zur Verfügung. Sie können dies auf CDs herunterladen und brennen. Wir haben auch eine Web-Seite mit Anweisungen, wie zu erhalten, kompiliert und installieren Sie den Kernel.
Wir werden nur RedHat Linux ES3 mit der Kernel-Version 2.4.21-20.EL verwenden, die für alle Projekte mit der Verteilung kommt. Absolut keine Ausnahmen.
Lesen Sie die Installationsanleitung für eine ausführliche Montageanleitung. Stellen Sie sicher, dass Sie die Kernel-Quellen und die Kernel-Entwicklungstools von der Distribution installieren, wenn Sie das System installieren. Wir werden auf original „unbefleckt“ Kernel-Quellverzeichnis verweisen, die als die ursprünglichen Kernel-Quellen mit der Verteilung kommt. Bevor Sie etwas anderes tun, machen Sie eine vollständige Kopie der ursprünglichen Kernelquellen im Verzeichnis / usr / src / pristine-Linux mit dem Befehl
cp -r /usr/src/linux-2.4.21-20.EL / usr / src / pristine-linux
Wir werden als ursprünglich Kernelquellen-Verzeichnis dieser verweisen. Nehmen Sie keine Änderungen in diesem Verzeichnis.
Der nächste Schritt ist der erste angepassten Kernel zu kompilieren und zu installieren. Lesen Sie in Anhang A. Erstellen eines benutzerdefinierten Kernels sehr sorgfältig durch, bevor Sie fortfahren.- Erstellen Sie eine Wiederherstellungsdiskette im Fehlerfall.
- Sie werden Ihre Änderungen an den Kernelquellen im Verzeichnis /usr/src/linux-2.4.21-20.EL machen.
- Nennen Sie Ihren eigenen Kernel als Linux-GLUSRNM -cs421project1, wo GLUSRNM ist Ihr UMBC GL Benutzernamen ein. Schauen Sie in Schritt 8 in Anhang A. Erstellen eines benutzerdefinierten Kernels.
- Dann gehen Sie Ihren Kernel zu kompilieren, installieren Sie es, und von dort aus booten. Stellen Sie sicher, dass Ihre Kernel bootet richtig.
- Führen Sie den Befehl und Blick auf seinen Ausgang.
Erstellen von Kernel-Updates
Sie sollten bereits haben das ursprüngliche Kernel-Quellen-Verzeichnis / usr / src / pristine-linux erstellt wie oben beschrieben. Sie sollten bereits Ihre ersten eigenen Kernel wie in Teil 1, durch entsprechende Änderungen an den Kernelquellen im Verzeichnis /usr/src/linux-2.4.21-20.EL gebaut. Wir werden in dem Verzeichnis, auf die Quellen beziehen /usr/src/linux-2.4.21-20.EL wie die experimentellen Kernel-Quellen.
Wie man einen Patch erstellen
WICHTIG. Bevor Sie mit dem Diff-Befehl verwenden, tun
und sowohl in der unberührten und den experimentellen Kernel-Source-Verzeichnisse entfernen Sie alle ausführbaren Dateien und Objekt-Dateien. Wenn Sie vergessen, dies zu tun, werden Sie eine sehr große Patchdatei erhalten.
In Ihrem Unix-Shell verwenden Sie den Befehl:
alle enthält die Informationen, die Patch-Befehl, um die ursprünglichen Kernel-Quellen auf Ihre experimentellen Kernel-Quellen verwandeln muss.
Wie Überprüfen / Bestätigung der Patch
Sie sollten immer Ihre Patchdateien überprüfen, bevor sie einreichen. Um zu überprüfen, ob Ihre Patch funktioniert oder nicht, können Sie den „Patch“ Befehl verwenden. Erstellen Sie eine vollständige Kopie Ihrer ursprünglichen Kernel-Quellen in das Verzeichnis / tmp / verify-Linux mit dem Befehl eingeben „überprüfen“ Verzeichnis und den Patch anwenden. Die Quellen im Verzeichnis / tmp / verify-linux Verzeichnis sollten nun in der experimentellen Quellen umgewandelt werden. Sie können den „diff“ Befehl verwenden, um sicherzustellen, dass es keine Unterschiede zwischen diesen beiden Verzeichnissen sind, das ist der folgende Befehl sollte keine Unterschiede nicht mehr anzeigen
Was einreichen
Sie erhalten eine einzige tar-gzip-Datei „project0.tar.gz“ einreichen, enthält: Ihr Patchdatei patchPrj0.diff für den ersten angepassten Kernel und Beispielausgabe des „uname -a“ -Befehl in Ihrem System gebootet mit Ihrem eigenen Kernel kompilieren .
- Die Konfigurationsdatei /boot/config-2.4.21-20.EL enthält die Konfiguration für die Installation der ursprünglichen RedHat 8.0 Verteilung. Diese Konfigurationsdatei ist sehr nützlich, wenn benutzerdefinierte Kernelkonfiguration. Kopieren Sie die Konfigurationsdatei /boot/config-2.4.21-20.EL zu /usr/src/linux-2.4.21-20.EL/.config, bevor Sie in Ihren eigenen Kernel make config laufen, aber nachdem Sie laufen " machen mrproper“.