[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: LiILO in eigener kleiner Boot-Partition?



Gruesse!
* Wolfi <publicalfa-ng@yahoo.fr> schrieb am [08.04.07 22:37]:
> Am 08.04.07 06.10 schrieb Gerhard Brauer:
> >Wenn du Grub jetzt in diese kleine Partition installierst werden
> >lediglich 512 Bytes verbraten, von einem Bereich (1. Sektor der
> >Partition) auf die du dort mit einem Dateisystem auch keinen Zugriff
> >hättest.
> 
> Mhm, jetzt bin ich allerdings leicht verwirrt ;-\
> Ich mag mich mangels besseren Wissens hier leicht in der Terminologie vergriffen haben und bitte 
> dies zu entschuldigen, bzw. bei Bedarf zu korrigieren aber ich verstand es bisher so, daß LILO und 
> GRUB nicht nur dieser kleine Bootsektor ist, der je nach Anforderung im MBR oder am Anfang einer 
> Partition sitzt und im Prinzip nur dem BIOS sagt, von wo genau es nun den eigentlichen BootLader 
> eines OS lesen und starten soll.

Ja und Nein :-)
Lilo braucht keine Zusatzdaten, um den Linux-Kernel zu booten. Deshalb
muß Lilo auch nach jeder Kernel-Änderung "neu installiert" werden, da
die notwendigen Angaben: "wo finde ich den Kernel" fest in den MBR oder
den Bootsektor der verwendeten Partition geschrieben wird.

Grub braucht Zusatzdaten, da die Informationen: "welche Systeme soll ich
starten" bzw. "Wo sind diese zu finden" auch dynamisch änderbar sind.
Ohne explizite "Neuinstallation" - im Gegensatz zu Lilo. Grub hat die
Möglichkeit über sog. Stage-"Treiber" direkt auf Dateisysteme
zuzugreifen, und damit z.B. den kernel-2.6.45.img "direkt" zu finden.
Diese Zusatzdaten müssen sich aber AFAIK *nicht* zwangsläufig auch auf
der Partition befinden, in deren Bootsektor Grub installiert wird.

Bei der Grub-*Installation* wird festgelegt: Du findest deine
Zusatzdaten auf Platte 2, Partition 5 und dort in /boot/grub/
Zu diesem Zeitpunkt gib es aber für grub schon keine BIOS-Beschränkung
mehr (in deinem Fall OS/2-Bootmanager-beschränkung).

> Ahh, ich glaube nun beginne ich zu verstehen :-)
> Da bei mir nicht das BIOS, sondern der alte OS/2-BM der begrenzende Faktor ist, sollte es reichen, 
> daß der BM den entsprechenden OS Partitions-Bootsektor mit dem neuen Zieladress-Eintrag von LILO 
> oder GRUB erreichen kann. Dieser verweist dann zu einer normalen Ubuntu Installation irgendwo 
> >=40GB auf meiner 2.HD, wo das BIOS den eigentlichen Lader (das wäre dann LILO oder GRUB, oder 
> nicht?) liest, um schließlich den Kernel zum Laufen zu bekommen und Linux auf seine eigenen Füße 
> zu stellen.
> 
> Da ich hier nun aber keinen BIOS-, sondern nur BM-Einschränkungen unterliege, braucht LILO mit dem 
> Kernel, der initrd und was es sonst noch an Konfig-/Initdatei(en) braucht, bzw. GRUB mit den 
> nötigen FS-Modulen und seiner Konfigurationdatei(en?), gar nicht innerhalb der 1024Cyl Grenze zu 
> liegen :-)
> 
> Oder ist das wieder ein weiterer Trugschluß?

Ja ;-) Steht im Gegensatz zu deinem ersten Absatz. Da dein Bootmanager
diese Beschränkung hat kann er einen - wo immer auch installierten
Grub/Lilo - nur innerhalb dieser Beschränkung finden.

Hier mal zur Verdeutlichung (ich beschränke mich der Einfachheit auf
eine Platte):

OS/2-BM---OS/2---Grub----| 1024Cyl |-----Linux-System----------
  (1)      (2)    (3)       (4)              (5)


(1) Dein Bootmanager im MBR sagen wir in Linux-Notation auf sda1
(2) Dein OS/2-System. Zwangläufig innerhalb der Beschränkung, sagen
    wir auf sda2
(3) Hier wäre die kleine 7MB Partition, sagen wir sda3. In deren Boot-
    Sektor wird beider Linux-Installation der Grub-Bootloader
    installiert. Zwangsläufig innerhalb der Beschränkung, da sonst vom
    OS/2-BM nicht adressierbar.
(4) Das Böse ;-)
(5) Das Linux, sagen wir auf sda5. Hier sind zum Start durch grub
    notwendig:
    - Zugriff auf /boot/grub/*
    - Zugriff auf die Kernel/InitRDs in /boot

Der Ablauf wäre dann: OS/2-BM weiß, das der Eintrag "Linux" auf Cylinder
666 liegt und gibt die Kontrolle an den dort im Bootsektor installierten
Grub. Grub weiß durch die Installation, das seine Zusatzdaten und die
Liste der Systeme auf sda5 in /boot/grub liegen. Grub lädt diese Dateien
und bietet "seine" Liste der Systeme/Kernel an. Durch die Einträge in
der /boot/grub/menu.lst weiß grub wo welche Kernel zu finden sind. 

So sollte das grob funktionieren. Wichtig ist zu sehen, daß es durchaus
räumliche Trennungen zwischen dem Programm-Code im jeweiligen Bootsektor
und den "Daten" geben kann.

Die zweite Möglichkeit analog zu obigem Schaubild wäre halt (wie auch
von anderen schon vorgeschlagen) /boot/grub oder /boot komplett in diese
kleine Part. sda3 zu zwängen und diese in das Linux-System einzumounten.
Ist aber AFAIK kein Muß.

Wie gesagt: es müßte langen bei der Linux-Installation zu sagen: Grub
bitte nicht in den MBR sondern auf sda3 installieren. Das Linux
(Kernel+Pgrogramme = /) dann auf sda5. Grub wird das schon finden.

> >Es geht aber deshalb nicht, da du an den "kastrierten" BootManager
> >gebunden bist.
> >Deine Anforderung ist eben:
> >- Der OS/2-Bootmanager soll der "Master" sein.
> >- Daraus ergibt sich: der Linux-Bootloader *muss* zwangsläufig in einer
> >  Partition < 1024 Zylinder liegen, damit er vom Bootmanager erreicht
> >  werden kann. Dafür würde sich nach deinem Bekunden diese 7MB Partition
> >  eignen.
> >- Das Linux-System kann dann liegen wo es/du will, da der Linux-Loader
> >  nach dem Start keinerlei Beschränung hat.
> 
> Was nun genau ist der Linux-Bootloader? Nicht GRUB bzw. LILO?

Doch, ich meinte damit Grub oder Lilo. Auch ich trage gerne zur
Begriffsverwirrug bei ;-)

> Wolfi
> 
> 

Gruß
	Gerhard
-- 
rm -rf bedeutet NICHT:
read mail -realy fast



Reply to: