Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Über die Autoren
Über dieses Buch
Linux vs. BSD
1 Der Kernel
2 Die Grundlagen aus Anwendersicht
3 Die Shell
4 Reguläre Ausdrücke
5 Tools zur Dateibearbeitung
6 Die Editoren
7 Shellskriptprogrammierung
8 Benutzerverwaltung
9 Grundlegende Verwaltungsaufgaben
10 Netzwerk-Grundlagen
11 Anwendersoftware für das Netzwerk
12 Netzwerkdienste
13 Mailserver unter Linux
14 LAMP
15 DNS-Server
16 Secure Shell
17 Die grafische Oberfläche
18 Window-Manager und Desktops
19 X11-Programme
20 Multimedia und Spiele
21 Softwareentwicklung
22 Crashkurs in C und Perl
23 Sicherheit
24 Prozesse und IPC
25 Bootstrap und Shutdown
26 Dateisysteme
27 Virtualisierung und Emulatoren
A Die Installation
B Lösungen zu den einzelnen Aufgaben
C Kommandoreferenz
D X11-InputDevices
E MBR
F Die Buch-DVDs
G Glossar
H Literatur

Download:
- ZIP, ca. 6,3 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Plötner, Steffen Wendzel
Das distributionsunabhängige Handbuch
Buch: Linux

Linux
2., aktualisierte und erweiterte Auflage
1119 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1090-4
gp 25 Bootstrap und Shutdown
  gp 25.1 Was ist der Bootstrap-Vorgang?
  gp 25.2 Hardwareboot
  gp 25.3 Bootcode
    gp 25.3.1 Die Partitionstabelle
    gp 25.3.2 Ein Beispiel
  gp 25.4 Bootmanager
    gp 25.4.1 Grub
    gp 25.4.2 LILO
  gp 25.5 Startphase des Kernels
  gp 25.6 init
    gp 25.6.1 Linux und init
    gp 25.6.2 BSD und init
  gp 25.7 Upstart
    gp 25.7.1 Jobs
  gp 25.8 getty
  gp 25.9 login
    gp 25.9.1 Shell-Start
    gp 25.9.2 Beenden einer Terminal-Sitzung
  gp 25.10 System-Shutdown
    gp 25.10.1 halt, reboot und poweroff
    gp 25.10.2 shutdown
  gp 25.11 Zusammenfassung
  gp 25.12 Aufgaben


Galileo Computing

25.4 Bootmanager  downtop

In diesem Abschnitt soll es um die Bootmanager gehen, mit denen man Linux (und andere Betriebssysteme) hochfahren kann.

Bootloader mit einem Auswahlmenü werden in der Regel im Master Boot Record (MBR) platziert <Theoretisch kann man einen Bootloader auch in den ersten Sektor einer Partition stecken, was jedoch nur selten sinnvoll ist.> und dazu verwendet, beim Start des Computers eines von mehreren installierten Betriebssystemen zu starten.

Typische Bootmanager sind GAG und die beiden besonders populären Vertreter LILO und Grub. Viele Distributionen sind mittlerweile vom »alten« Linux Loader (LILO) zu Grub gewechselt, doch es gibt auch einige, etwa Slackware-Linux, die noch immer den LILO verwenden. Wir werden in diesem Buch natürlich beide Bootmanager besprechen.


Galileo Computing

25.4.1 Grub  downtop

Die großen Linux-Distributionen wie Debian, RedHat und SuSE setzen allesamt Grub als Bootmanager ein. Die Software ist so komfortabel, dass man sich in der Regel um nichts kümmern muss. Installiert man den Grub jedoch von Hand, sind folgende Schritte notwendig:

1. In den MBR installieren

Möchte man den Bootmanager in den Bootsektor der ersten Festplatte installieren, ruft man einfach grub-install mit der entsprechenden Festplatte als Argument auf:

# grub-install /dev/hda 
Installation finished. No error reported. 
[...] 
(hd0)   /dev/hda

Listing 25.1    grub-install

2. Die Kernel-Liste updaten

Neuer Kernel?

Im Normalfall erkennt Grub alle installierten Kernel und alle weiteren Betriebssysteme auf der Platte automatisch.

Um diese Erkennung nach der Installation eines neuen Kernels jedoch manuell noch einmal anzustoßen, reicht folgender Aufruf:

# update-grub 
Searching for GRUB installation directory ... 
  found: /boot/grub 
Testing for an existing GRUB menu.list file ... 
  found: /boot/grub/menu.lst 
Searching for splash image ... none found, skipping 
Found kernel: /boot/vmlinuz-2.6.14-2-686 
Found kernel: /boot/vmlinuz-2.6.8-2-386 
Updating /boot/grub/menu.lst ... done

Listing 25.2    update-grub

Dieses Skript wurde für Debian entwickelt, ist aber auch für andere Distributionen verfügbar. Zum Standardumfang des GNU-Grub-Projekts gehört es jedoch leider nicht.

Die /boot/grub/menu.lst

Von daher wird man teilweise noch in die Verlegenheit kommen, die /boot/grub/menu.lst selbst editieren zu müssen. Da dies bei der Benutzung von update-grub automatisch geschieht, sollte man nur die Direktiven ändern, die einmal kommentiert sind. Doppelte Kommentare nach zwei Rauten sind dabei erst normale Kommentare, und alles, was nicht kommentiert ist, wird automatisch erstellt. Möchte man zum Beispiel die allen Kerneln gemeinsamen Bootoptionen ändern, editiert man folgende Zeile:

## e.g. kopt=root=/dev/hda1 ro 
##      kopt_2_6_8=root=/dev/hdc1 ro 
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro 
# kopt=root=/dev/hda5 ro

Listing 25.3    menu.lst mit update-grub

Für Grub ist diese Zeile ein Kommentar, für update-grub jedoch nicht. Darum werden nach einem erneuten Aufruf des Skripts auch alle Einträge des Kernels automatisch angepasst. Verzichtet man selbst oder eben die Distribution der Wahl auf dieses Skript, muss man für einen neuen Kernel einen neuen Eintrag ähnlich diesem Beispiel einfügen:

title    Debian GNU/Linux, kernel 2.6.8-2-386 
root     (hd0,1) 
kernel   /boot/vmlinuz-2.6.8-2-386 root=/dev/hda1 ro 
initrd   /boot/initrd.img-2.6.8-2-386 
savedefault 
boot

Listing 25.4    Ein Eintrag im Bootmenü

Dieses Beispiel ist weitestgehend selbsterklärend; einzig der Root des Dateisystems muss dem Kernel wie auch Grub extra mit auf den Weg gegeben werden. Schließlich befindet sich die /etc/fstab mit diesen Informationen ja auf der Partition, die man einbinden will ...

Wenn Sie beim Booten etwas in diesen Einstellungen ändern wollen, drücken Sie einfach die Taste »e«. Grub erlaubt Ihnen dann, den entsprechenden Eintrag quasi zur Laufzeit anzupassen. Sollen die Änderungen jedoch dauerhaft gespeichert werden, müssen Sie sie noch in der menu.lst fixieren.

Wenn Sie mehr über Grub erfahren möchten, sei Ihnen die Manpage sowie die Homepage des Projekts auf gnu.org ans Herz gelegt.


Galileo Computing

25.4.2 LILO  toptop

Der ältere und etwas weniger komfortable LILO wird über die Datei /etc/lilo.conf konfiguriert. Diese Datei wird von den meisten Distributionen automatisch durch Tools wie liloconfig erzeugt, und mithilfe dieser Datei wird schließlich auch die Installation des LILO im MBR vollzogen. Die bisher im LILO konfigurierten Betriebssysteme kann man mit dem Tool /sbin/lilo abfragen.

# lilo -q 
Slackware102      * 
Windows2000

Listing 25.5    lilo -q

Betrachten wir einmal eine Beispielkonfiguration, um die einzelnen Konfigurationsoptionen zu verstehen.

boot = /dev/hda 
delay = 10 
 
prompt 
 
lba32 
 
menu-title="Bootmenue Host yorick.sun" 
 
# Linux-Partition 
image = /boot/vmlinux 
  root = /dev/hda3 
  label = Slackware102 
  read-only 
 
# Windows-Partition 
other = /dev/hda1 
  table = /dev/hda 
  label = Windows2000

Listing 25.6    /etc/lilo.conf

Mit dem Schlüsselwort boot gibt man die Festplatte an, die den Bootsektor enthält – in diesem Fall also

/dev/hda, die erste IDE-Festplatte. Die Zeit, die LILO warten soll, bis das Standardbetriebssystem gebootet wird, wird via delay angegeben. Durch prompt erscheint die Eingabemöglichkeit, in der das Bootlabel angegeben werden kann, das LILO laden soll.

LILO muss man, sofern man jenseits der 1024-Zylinder-Grenze booten möchte, bei der Konfiguration noch das Schlüsselwort lba32 mit auf den Weg geben, um den Bootvorgang in diesem Fall überhaupt zu ermöglichen.

Via menu-title wird, wie Sie vielleicht schon ahnen, der Titel des LILO-Menüs angepasst.

Mit image gibt man an, wo sich der Linux-Kernel befindet. Da dies allein aber noch nicht ausreicht, weil eine Datei auf mehreren Partitionen vorhanden sein könnte, muss man auch noch angeben, von welcher Partition der Kernel geladen werden soll. Dazu dient root=xxx. Die Option label verpasst dem Eintrag im Bootmenü einen Namen.

Unter Linux wird das Root-Dateisystem aus Sicherheitsgründen zunächst nur mit Lese-Rechten gemountet, daher das Schlüsselwort read-only. Später wird es dann mit Schreibzugriff gemountet. Man kann aber auch erzwingen, dass es gleich während des Bootvorgangs mit Schreibzugriff gemountet wird, was mit read-write bewerkstelligt wird.

Hat man nun den Wunsch, ein System, bei dem es sich nicht um Linux handelt, als Booteintrag zu verwenden, gibt man dies durch other an. Mit table wird noch spezifiziert, wo die Partitionstabelle liegt.

LILO installieren

Um den LILO im Bootsektor zu installieren, ruft man /sbin/lilo auf.

# /sbin/lilo 
Added Slackware102 * 
Added Windows2000

Listing 25.7    LILO installieren

Übrigens: Um den LILO aus dem Bootsektor zu entfernen, wird lilo -u aufgerufen.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Linux






 Linux
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Einstieg in Linux






 Einstieg in Linux


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-
 Programmierung


Zum Katalog: Praxisbuch Netzwerk-Sicherheit






 Praxisbuch
 Netzwerk-Sicherheit


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de