Ich versuche, den Inhalt der ISO-Image-Datei einer Linux-Distribution und den Ablauf der Installation zu verstehen. Hier spreche ich speziell über CentOS 6.4 in seiner Minimalversion.
Also wird ISOLINUX ausgelöst und ich bekomme das Menü angezeigt. Dann drücke ich auf Installieren.
Es lädt den Kernel und das initrd-Dateisystem.
Meine Fragen sind:
Wie wird Anaconda gerufen?
Welche Rolle spielt die Datei images / install.img? (Wer ruft an / montiert es?)
Installiert Anaconda Packages / *. U / min? Wenn ich dort eine hinzufügen wollte, kann ich und würde es installiert werden?
Antworten:
Ich bin einer der Anaconda-Autoren / Betreuer. Ich könnte viel zu detailliert darauf eingehen, wie der Installer startet, aber ich werde versuchen, mich kurz zu fassen.
(Beachten Sie, dass dies nur für RHEL / CentOS 6.x oder Fedora 14 und früher gilt. Das Installationsprogramm wurde zwischen Fedora 15, 16 und 17 fast vollständig neu geschrieben , sodass die Dinge jetzt ganz anders sind.)
Das
initrd.img
auf dem Installationsmedium ist das sogenannte Stage1- Image. Es enthält ein Programm namensloader
, dessen einzige Aufgabe darin besteht, zu finden und zu ladenimages/install.img
.install.img
ist das Stage2- Bild. Hier lebt Anaconda tatsächlich - es ist ein Squashfs-Image, das das Root-Dateisystem des Installationsprogramms enthält.Es gibt viele verschiedene Möglichkeiten für den Loader, sie zu finden
install.img
, aber wenn Sie von einer DVD booten, ist dies ganz einfach: Der Loader bemerkt die Installations-DVD, stellt sie bereit und wirdimages/install.img
als Root-Dateisystem bereitgestellt.Sobald das Stage2-Image gemountet ist, startet der Loader Anaconda, das dann Xorg startet und eine Shell
tty2
und all das nette Zeug anlegt, und das Installationsprogramm startet wirklich .Nein, es wird nicht einfach alles dort installiert. Mithilfe der
comps.xml
Datei (inrepodata/
) wird entschieden, welche Paketgruppen verfügbar sind (und welche Pakete in diesen Gruppen enthalten sind). Auf diese Weise wird die Benutzeroberfläche für die Paketauswahl ausgefüllt.Wenn Sie dem
Packages/
Verzeichnis etwas hinzufügen (z. B. wenn Sie versuchen, ein benutzerdefiniertes DVD-Image zu erstellen) und möchten, dass es installiert werden kann, müssen Siecreaterepo
dasrepodata/
Verzeichnis neu generieren . So können Sie Ihre Pakete zumindest per Kickstart installieren.Wenn sie in der Benutzeroberfläche angezeigt werden sollen, müssen Sie sie ebenfalls bearbeiten
comps.xml
.quelle
Wenn Sie von der CD booten, erhalten Sie den ISOLINUX-Bootloader, der den Linux-Kernel und die ursprüngliche Ramdisk lädt. Damit startet Anaconda, das seine verschiedenen Teile wie die install.img lädt. Anaconda kümmert sich dann um die Installation der verschiedenen Pakete usw.
Der einfachste Weg, Anaconda dazu zu bringen, zusätzliche Pakete zu installieren (oder zusätzliche Konfigurationen vorzunehmen), besteht darin, ein Kickstart-Skript zu schreiben. Ein Kickstart-Skript teilt Anaconda mit, welche Pakete installiert werden sollen, wie das Betriebssystem konfiguriert werden soll usw. Um anaconda anzuweisen, ein bestimmtes Kickstart-Skript zu verwenden, können Sie an der ISOLINUX-Eingabeaufforderung "install ks = http://example.com/my_kickstart.ks " eingeben. Anschließend wird diese Kickstart-Datei (in diesem Beispiel von einem Webserver) heruntergeladen und anhand dieser Datei ermittelt, welche Pakete installiert werden sollen.
Weitere Informationen zu Kickstart-Skripten finden Sie unter http://fedoraproject.org/wiki/Anaconda/Kickstart
quelle
Wenn Sie die Installations-CD starten, werden der Kernel und initrd wie erwähnt geladen. Dadurch wird im Grunde ein minimales Linux-System in den Arbeitsspeicher Ihres Computers geladen. Anaconda wird beim Booten als Dienst ausgeführt und das Programm wird gestartet. Anaconda findet dann Ihre Festplatten und stellt sie als / mnt / sysimage bereit. Anaconda installiert Packages / *. RPM von der Installations-CD und Sie könnten dem Packages-Verzeichnis eine RPM hinzufügen und dann die ISO neu brennen, aber Anaconda würde immer noch nicht wissen, dass sie installiert werden muss. Was das Hacken von Anaconda angeht, damit das Programm nach der Drehzahl sucht, habe ich keine Antwort.
quelle