Wie installiere ich das U-Boot-Legacy-Boot auf einem x86 IBM-PC?

Wie installiere ich das U-Boot-Legacy-Boot auf einem x86 IBM-PC?

Das U-Boot istbeideBootloader der ersten und zweiten Stufe, da FSBL in einem IBM-PC in die erste Stufe passen muss446 Byte(oder weniger) vor MBR im ersten Sektor.

Es gibt auch einen 1,5-stufigen Bootloader, der den FSBL-Code verwendet, um 31.744 Bytes von der Festplatte zu lesen und dorthin zu springen (Sektor 1 bis 62, da die erste Partition gemäß DOS-Kompatibilität in Sektor 63 beginnen kann). Ich glaube, das ist bei U-Boot nicht der Fall.

Ich suche weder UEFI noch Kexec, und ich würde es vorziehen, wenn es keinen Coreboot oder anderen Bootloader-Code erfordert, ich habelesenes ist möglich, aber niemand hat klar gemacht, wie.

Welche Konfiguration soll ich verwenden? Chromebook Link oder Edison? Wird ein 446-Byte-Block generiert, der in MBR eingefügt werden kann? Soll ich etwas in Sektor 1 bis 62 einfügen? Ich glaube, es passt nicht in Stufe 1,5. Wie soll es den Rest auf der Festplatte finden?

Antwort1

Obwohl U-Boot x86 unterstütztHardware, es enthält keine Unterstützung für x86 BIOSFirmware.

Daher besteht der erste Schritt bei der Verwendung von U-Boot auf einem älteren x86-PC darin, das BIOS durch Ihre eigene benutzerdefinierte Firmware zu ersetzen, die die erste Phase von U-Boot enthält.

Nachdem Sie dies getan haben, gelten die alten BIOS-Bootkonventionen, wie das Laden eines 446-Byte-Bootcodes aus Block Nr. 0 der ersten Festplatte, nicht mehr und stattdessen werden die Konventionen von U-Boot verwendet.

Natürlich erfordert der Austausch des BIOS, dass Ihre benutzerdefinierte Firmware zunächst die Initialisierung des Chipsatzes Ihres Systems sowie das Testen und Aktivieren des RAM nach einem Kaltstart bewältigen kann. Auf PC-Hardware kann dies eine größere Herausforderung darstellen als erwartet, da möglicherweise nicht für alle PC-Chipsätze Dokumentationen zur Chipsatzprogrammierung verfügbar sind.

U-Boot ist weder ein BIOS-kompatibler Bootloader noch ein einfacher Drop-in-Ersatz für das BIOS. Wenn in der Dokumentation steht, dass es x86 unterstützt, bedeutet das lediglich, dass U-Boot problemlos in Hardwareprojekte integriert werden kann, die einen x86-Prozessor auf benutzerdefinierter Hardware verwenden.

Es sieht so aus, als ob Sie die Terminologie, die speziell für GRUB Legacy gilt (erste Stufe, zweite Stufe, Stufe 1.5), mit der allgemeineren Systemdesign-Terminologie für Bootloader verwechseln.

Im Sinne des Systemdesigns, auf einem älteren x86-PC mit dem Ziel, Linux auszuführen,das BIOSist der Bootloader der ersten Stufe: Er ist im ROM (oder Flash-EEPROM) so angeordnet, dass er das Erste ist, was der Prozessor nach einem Kaltstart ausführt, und seine Aufgabe besteht darin, die erforderliche Hardware zu initialisieren und ein relativ kompaktes Programm von einem festen oder anderweitig genau definierten Ort zu laden.

Im Sinne des Systemdesigns wäre GRUB in seiner Gesamtheit ein Bootloader der zweiten Stufe. GRUB Legacy ist ebenfalls in Komponenten unterteilt, die als „Stages“ bezeichnet werden. Dabei handelt es sich jedoch nur um interne Unterteilungen von GRUB, die erstellt wurden, um die Einschränkungen des Legacy-BIOS zu umgehen. GRUB-Stages sind nicht dasselbe wie das SystemdesignBootloader der ersten/zweiten StufeTerminologie.

verwandte Informationen