• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Linux - direkt booten (ohne VM) Bootloader?

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.060
Sofern also Apple keine Rückschritt bei der Firmware in Kauf nehmen wollte blieb nur der Schritt zu EFI
Nein, sie hätten bei OpenFirmware bleiben können, denn OF läuft auch auf verschiedenen Hardware Plattformen.
 

rgoetz

Boskoop
Registriert
09.03.07
Beiträge
41
Nein, sie hätten bei OpenFirmware bleiben können, denn OF läuft auch auf verschiedenen Hardware Plattformen.

Stimmt wobei ich nicht weiss in wie weit das Intel mitgemacht hätte. Apple hätte sich dann wohl alleine um die ganze Firmware kümmern müssen. Und das wollten sie wohl weniger. Also blieben nur die Optionen BIOS oder EFI. . . . .

Bis dann

R"udiger
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Nein, sie hätten bei OpenFirmware bleiben können, denn OF läuft auch auf verschiedenen Hardware Plattformen.
Prinzipiell richtig, aber für eine neue Hardwareplattform müsste die komplette Firmware überarbeitet und vor allem der darin enthaltene "SCSI-Manager" Code vollständig neu erstellt werden.
Daran hat Apple aber kein Urheberrecht, das hat die Firma damals nur von einem seiner Mitgründer und ehemaligen Chefentwickler lizenziert - und zwar in Binärform und das nur für den 68k-Prozessor (der uralte Code des "Mac Plus" wurde absolut unverändert von allen PPC weiterverwendet). Da die "Core"-Prozzn keinen entsprechenden Hardware-Emulator mehr besitzen, wäre der Code zu erneuern gewesen - aber der Autor der Software wäre damit wohl nicht so ganz einverstanden.
Intel war wohl in der Lage, eine komplett neue Firmware selbst viel billiger zu liefern, als eine Überarbeitung inclusive Lizenzerneuerung gekostet hätte.
(Nachdem massgebliche Teile von EFI zwar das Logo von intel tragen, aber klar erkennbar in den Entwicklungslabors von Apple entworfen wurden....irgendwie kein Wunder eigentlich.)
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.060
Daran hat Apple aber kein Urheberrecht, das hat die Firma damals nur von einem seiner Mitgründer und ehemaligen Chefentwickler lizenziert - und zwar in Binärform und das nur für den 68k-Prozessor (der uralte Code des "Mac Plus" wurde absolut unverändert von allen PPC weiterverwendet). Da die "Core"-Prozzn keinen entsprechenden Hardware-Emulator mehr besitzen, wäre der Code zu erneuern gewesen - aber der Autor der Software wäre damit wohl nicht so ganz einverstanden.
:oops: Da bist Du aber gründlich fehl informiert. Der Boot-Prozeß auf einem OpenFirmware Mac erfordert keinerlei 68k Code. Du beziehst Dich auf den Boot-Vorgang von MacOS 1.0 - 9.2.x, welches aber ehe nicht auf Intel laufen sollte.

Die OldWorld PowerMacs (nicht zu verwechseln mit den alten Nubus PowerMacs) booten über OpenFirmware. Entweder kann die OpenFirmware vom MacOS ROM Modul MacOS 7.x - 9.x booten (da gibt's den SCSI Manager drin), oder die OpenFirmware zieht von Platte einen XCOFF-Bootloader (XCOFF ist das AIX Binärformat). Nur den G3 beige wurde als Oldworld PowerMacs offiziell von MacOS X unterstützt. Wenn man kein Classic installierte führte der Rechner nie 68k Code aus.

Die NewWorld PowerMacs haben kein MacOS ROM Modul mehr, diese Rechner müssen einen ELF-Bootloader (UNIX System V Binärformat auch von Linux genutzt) ziehen und darüber jedes OS booten. Egal ob das MacOS 8.x-9.x, Linux, MacOS X ... ist.

Kein einziger PowerPC Prozessor kann in Hardware 68k Code ausführen. Lediglich der PPC 601 kann noch POWER Befehlssatz ausführen, was aber nur unter AIX genutzt wurde. Die restlichen PowerPCs haben mit dem POWER und dem POWER2 nur den Common Comand Set gemein, d.h. sie sind nicht mehr binärkompatibel zu diesen CPUs. Der CCS funktioniert auf allen POWER, PowerPC bzw. Power (so nennt IBM die PowerPC Plattform mittlerweile Power != POWER) CPUs.

Der 68k Emulator ist Teil des Mac ROMs welches entweder als Modul im Rechner steckt oder als ROM File auf der Platte liegt. SCSI Manager ist ebenfalls eine reine MacOS <= 9.x Geschichte.
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Der Boot-Prozeß auf einem OpenFirmware Mac erfordert keinerlei 68k Code.
Wenn etwa 8 kB des Bootstrap-Codes eines G5 mit dem eines Quadra immer noch bitgenau identisch sind, was folgert daraus? Dass man damals schon nativen PPC-Code produziert und im Quadra eingesetzt hat? Oder vielleicht doch andersrum?

Du beziehst Dich auf den Boot-Vorgang von MacOS 1.0 - 9.2.x
Dein Computer scheint mir was besonderes zu sein.
Der weiss vermutlich schon Millisekunden nach dem Einschalten, welches OS er erst einige Sekunden später starten wird und verhält sich vorbeugend in gewünschter Weise?
Meiner weiss das jedenfalls nicht, der analysiert die ersten 64 Sektoren der Festplatte immer auf genau die gleiche Art und Weise. Und zwar so, wie das schon der Mac Plus tat - mit genau den gleichen Bugs. Und das auch ganz ohne irgendeinem Mac OS auf der Platte...hoppla.

die OpenFirmware zieht von Platte...
Ohne SCSI-Manager? LOL. Von welcher "Platte" denn bitte?
Was? "Festplatte"??? Was ist denn das bitte für'n neumodisches Zeuch?
Ohne SCSI-Manager erkenne ich leider nur mein Superdrive (3,5" Diskettenlaufwerk).
Und Tschüss, dein "Sad Mac".


Wenn man kein Classic installierte führte der Rechner nie 68k Code aus.
Ach, tatsächlich?
Na, dann kannst du ja sorglos alle Objekte im Kontext zu CFM sowie sämtliche DRVR-Resourcen von deiner HD entfernen. Mach mal hinne, das Zeugs brauchst du ja alles gar nicht. Ich lass das erst mal sein und warte deine positiven Berichte dazu ab.

Kein einziger PowerPC Prozessor kann in Hardware 68k Code ausführen.
Nein? Welcher Prozessor hat dann die Disktreiber von OS 9 abgearbeitet? Die Grafikkarte?

SCSI Manager ist ebenfalls eine reine MacOS <= 9.x Geschichte.
Fein. Dann kann ja nichts passieren, wenn du die Initialen des Namens seines Entwicklers, gefolgt von einem Padding aus 4094 Bytes "\x01\x09\x01\x01\x09\x01 ....ff." in den Startbereich eines beliebigen partitionierbaren Datenträgers schreibst und diesen einem beliebigen (prä-Intel) Macintosh Rechner als Futter anbietest.
Da kann überhaupt nichts passieren.
Weil die Software, die daraufhin deinen Rechner augenblicklich einfrieren lassen würde ("Onkel Erichs 911-SCSI-Notbremse" nämlich), ja dank des Wundermittels OS X gar nicht mehr existiert.
So ist das doch, oder?
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.060
Der weiss vermutlich schon Millisekunden nach dem Einschalten, welches OS er erst einige Sekunden später starten wird und verhält sich vorbeugend in gewünschter Weise?
Die OpenFirmware wird initialisiert. Für alle Boot-Devies gibt es entweder im OpenFirmware ROM oder im ROM des betreffenden Devices Treiber. Die OpenFirmware erlaubt sogar mehrere Plattform Treiber in ein und demselben ROM.
Meiner weiss das jedenfalls nicht, der analysiert die ersten 64 Sektoren der Festplatte immer auf genau die gleiche Art und Weise.
Das macht ein OldWorld PowerMac nur dann, wenn er über das MacROM gebootet wird. Wenn er über einen OpenFirmware Boot Pfad gebootet wird, versucht er entweder über eine DOS FAT Partition, einer ISO CD oder einem absoluten Block auf dem Device einen XCOFF Loader zu holen. Alternativ versucht er einen Netboot via BOOTP/TFTP anzustoßen. Darin unterscheidet sich ein Oldworld PowerMac nur sehr wenig von einer IBM RS/6000 aus dieser Zeit. Ich habe beides herumstehen und habe auf beiden schon Linux ohne jede MacOS Partition gebootet.
Ohne SCSI-Manager? LOL. Von welcher "Platte" denn bitte?
Es gibt OpenFirmware Treiber, und mit diesen wird bei einem NewWorld PowerMac (also seit dem b/w G3) jedes OS gebootet, bei den OldWorld PowerMacs nur die alternativen OS. Übrigens kann ich meine Mac Adaptec PCI SCSI Karte aus dem PowerMac herausnehmen und meine RS/6000 damit booten, und die RS/6000 kennt garantiert keinen 68k SCSI-Manager. Es ist auch vollkommen ausgeschlossen, daß es in der OF der RS/6k einen 68k Emulator gibt, denn AIX und OS/400 liefen niemals auf 68k Hardware. MacOS lief dafür nie auf RS/6k Rechnern.

Was den Sad Mac betrifft, den siehst Du bei einem NewWorld PowerMac mit abgezogenen Platten nicht mehr (gerade ausprobiert). Bei G3 b/w erscheint ein Ordner mit MacOS Symbol in Wechsel mit einem Fragezeichen.

P.S. Ich will sehe, wie Du einen MacPlus mit einer DOS formatierten Festplatte booten willst, was nachweislich mit einem OldWorld PowerMac funktioniert. Infos gibt es bei www.netbsd.org und zum Teil bei www.debian.org
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Das macht ein OldWorld PowerMac nur dann, wenn er über das MacROM gebootet wird.
Aha. Wann macht es ein NewWorld Mac, wo er doch gar kein MacROM verbaut hat?

Es gibt OpenFirmware Treiber
Und jetzt raten wir mal gemeinsam, wer die geschrieben hat.

Übrigens kann ich meine Mac Adaptec PCI SCSI Karte aus dem PowerMac herausnehmen und meine RS/6000 damit booten, und die RS/6000 kennt garantiert keinen 68k SCSI-Manager.
Könnte es sein, dass Adaptec da was beigesteuert hat? Nein?

Es ist auch vollkommen ausgeschlossen, daß es in der OF der RS/6k einen 68k Emulator gibt, denn AIX und OS/400 liefen niemals auf 68k Hardware.
Diese Logik ist zwar etwas seltsam (milde formuliert), aber was solls...

Was den Sad Mac betrifft, den siehst Du bei einem NewWorld PowerMac mit abgezogenen Platten nicht mehr
"Abgezogene Platten"??? Wozu soll das denn gut sein?

Ich will sehe, wie Du einen MacPlus mit einer DOS formatierten Festplatte booten willst, was nachweislich mit einem OldWorld PowerMac funktioniert.
Oh, das geht? Herrlich, wollte ich immer schon mal machen. Details bitte.
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.060
Oh, das geht? Herrlich, wollte ich immer schon mal machen. Details bitte.
DOS Partitionstabelle auf eine Platte schreiben, eine primäre Partition als DOS FAT anlegen (wird als /boot verwenden) und den Rest nach Belieben partitionieren. Linux Kernel mit dazu passende XCOFF Loader bauen (make zImage : der Kernel liegt unter arch/.../zImage.coff; Es kann zu Problemen mit 2.6.x Kernel kommen, weil bei denen einiges für den OF Boot Prozeß kaputt geptacht wurde. Auf meiner alten RS/6k läuft noch ein 2.4.x Kernel, mit dem geht das definitiv) und auf die /boot Partition ablegen. Rechner neustarten in der OpenFirmware das boot-device entsprechend anpassen "scsi/sd@0:,1/ZIMAGE.COF", es kommt natürlich darauf an, auf welcher Platte und Partition man den Kernel liegen an, das boot-device ist entsprechend anzupassen. Wie's geht steht bei NetBSD auf den Seiten.

Die unterstützten Partitionschemata und Filesysteme kann man sich in der OpenFirmware mit "dev /packages ls" anzeigen lassen, und das stand schon immer fat und iso9660 drin.
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Die unterstützten Partitionschemata und Filesysteme kann man sich in der OpenFirmware mit "dev /packages ls" anzeigen lassen, und das stand schon immer fat und iso9660 drin.
Weder FAT noch ISO9660 sind Partitionierungsschemata.
Wo auf den Seiten von NetBSD die Partitionierung im MBR-Stil erwähnt wird, möchtest du mir bitte gerne zeigen.