======== Power Mac G4 ========
{{:projects:sadmac.jpeg?nolink&200|}}
Czyli dokumentacja przeciągających się zmagań [[people:faber:start|fabera]] z [[https://everymac.com/systems/apple/powermac_g4/specs/powermac_g4_450_dp.html|prawie 20-letnim PowerPC]].
====== New info (2022) ======
We're back from the dead.
Płyta główna ponownie znalazła się w moim posiadaniu po ~3-letnim wypożyczeniu w celach naprawy.
Kondensatory rzekomo wymienione.
Kupiłem i wymieniłem nową baterię litową do mobo.
...I nic.
===== Notes to Self =====
==== Keystrokes ====
* Boot Open Firmware: ⌘(Cmd) + ⌥(Option) + O + F
* Verbose boot: Cmd + V
* GUI boot: Option (przytrzymać)
* CD-ROM boot: Option + Cmd + Shift + Del; **alt. przytrzymać "C"**
* Firewire target mode boot: przytrzymać "T"
* Safe mode boot: Cmd + Shift + P + R
* ???: Shift (przytrzymać)
=== Open Firmware ===
podobno można grać na nim w Ponga, see: "OFPong"
* dir hd:\ - //ls.//
* mac-boot - //boot z domyślnymi ustawieniami//
* multi-boot - //GUI boot (potrzebna myszka)//
* boot enet:0; **alt. boot enet:0,app.elf** - //netboot//
* reset-all - //reboot.//
* shut-down - //self-explanatory.//
* eject cd - //self-explanatory.//
* boot hd:,:\\tbxi - //boot z urządzenia "hd"//
* boot cd:,\app.elf -- //boot z CD-ROMu, **DO STESTOWANIA**//
* devalias - //aliasy wszystkich urządzeń (niekoniecznie podłączonych?)//
* devalias **device** - //pełna ścieżka urządzenia **device**//
* printenv - //wyświetla wszystkie parametry //
* show-devs **ścieżka** //wyświetla wszystkie urządzenia pod **ścieżką**//
*show-devs / - //wyświetla wszystko (pod rootem) //
* dev **ścieżka** - //cd **ścieżka**//
* ls - //wyświetla zawartość bieżącej ścieżki (najpierw wybierz ją przez **dev**)//
* .properties - //wyświetla info o urządzeniu pod bieżącą ścieżką (aliasy też działają)//
* //wygodniejszy syntax: **dev .properties**//
* pwd - //self-explanatory.//
== OF Magic keys ==
* **Ctrl-Break** - //Ekwiwalent Ctrl-C//
* **i** - //Podobno "wciśnięte wcześnie" uruchamia jakiś debug mode w OF//
* **Fn+???** - //Jakieś legendarne magiczne i nieudokumentowane emergency keystrokes//
== OF Environment Variables ==
Zmieniaj za pomocą **setenv** //var// true/false:
* little-endian? - **NIE ZMIENIAĆ NA TRUE BO [[https://forums.macrumors.com/threads/the-open-firmware-wiki.2225024/?post=28249633#post-28249633|RZEKOMO MOŻE ZBRICKOWAĆ URZĄDZENIE]]**
* auto-boot? - Uruchamia domyślnie OF zamiast mac-boot, użyteczne w obecnej sytuacji.
* boot-device - Domyślne urządzenie do bootowania (default: hd:,:\\:tbxi)
* oem-banner - MOTD. "setenv oem-banner? True" żeby aktywować. Zawartość ustawiasz: "setenv oem-banner " (bez pytajnika)
Żadna z tych rzeczy nie pomogła:
* reset-nvram - //resetuje NVRAM//
* set-defaults - //resetuje domyślne opcje bootowania//
==== "Nowy" Plan ====
* Sprawdzić działanie nowej baterii
* Powymieniać RAMy, GPU, cokolwiek. Nic.
* Sprawdzić jeszcze raz płyty instalacyjne
* Nie wiadomo, czy CD-ROM w ogóle działa
* Nie wykrywa już instalki w multi-boocie
* To przez płytę, czy przez CD-ROM?
* Przetestować te płyty na innym czytniku
* Sprawdzić zawartość dysków PATA
* Na 2 jest system, 1 jest chyba czysty
* Na jednym był kiedyś MacOS 9, trzeba spróbować go zabootować
* boot hd:\System%20Folder\:tbxi czy jakoś tak, zaczyna boot sequence, ale też nie idzie.
* Wypalić nowy system na czystym dysku PATA
*Ogarnąć przejściówkę SATA <=> IDE IDE <=> USB
* Istniało coś takiego jak "Apple Restore Disk"?
===== Remote Boot? =====
==== FireWire ====
- Wyczaruj kabel FireWire
- Wpisz "//target-mode//" w OF (**alt. przytrzymaj "T" podczas bootowania**)
- Podepnij do urządzenia docelowego
[[https://en.wikipedia.org/wiki/Target_Disk_Mode|Moar info]]
Ma to umożliwić zdalny boot albo zdalne przeglądanie dysków.
==== Ethernet ====
- Upewnij się że //skip-netboot? = **False**//
- Podepnij gniazdko Ethernetowe do switcha
- //Postaw jakiś serwer na LANie serwujący ISO z systemem?//
Alternatywnie: [[https://web.archive.org/web/20200529120751/https://www.osxbook.com/book/bonus/ancient/whatismacosx/arch_boot.html|gdzieś tu są instrukcje do podpięcia się do OF przez telnet]]
===== Nowe linki ======
* https://www.cnet.com/tech/computing/mac-os-x-10-4-8-3-startup-problems-cont-more-fixes-more-on-the-blue-tint-fixes-menu-items-missing-fix-more/
* https://forums.appleinsider.com/discussion/89606/
* https://discussions.apple.com/thread/1641700
* https://www.u58733p55594.web0093.zxcs-klant.nl/community/general-knowledge/booting-from-open-firmware/
* https://web.archive.org/web/20180223131650/http://mac.linux.be/content/openfirmware
* https://web.archive.org/web/20210602030634/https://library.morph.zone/Open_Firmware
* https://web.archive.org/web/20090112210748/http://support.apple.com/kb/TA25721?viewlocale=en_US
* https://everything2.com/title/Open+Firmware
* http://www.netneurotic.de/mac/openfirmware.html
* https://forums.macrumors.com/threads/the-open-firmware-wiki.2225024/ (Dobre)
* https://www.debian.org/releases/sarge/powerpc/ch05s01.html.en
* https://flylib.com/books/en/3.126.1.46/1/
* http://diveintoosx.org/OpenFirmware.html
* https://people.cs.rutgers.edu/~pxk/416/notes/02-boot.html (PowerPC section)
* https://forums.macrumors.com/threads/guide-installing-osx-and-os9-via-usb-on-an-ibook-g3-clamshell.2016622/ (Instalacja OS 9 / OS X przez USB shtick)
* https://web.archive.org/web/20200529120812/https://osxbook.com/book/bonus/ancient/whatismacosx/arch_startup.html (Zwięzły opis procesu bootowania - **wspomina o root device**
* https://web.archive.org/web/20020124163137/http://www.linuxppc.org/
* More soon.
----
----
====== Old info (2019) ======
Założyłem tę stronę na wiki w celu lepszej organizacji pracy i ułatwienia innym ewentualnego serwowania protipów, gdyż powoli kończą mi się pomysły co dalej. Wszelkie przebłyski geniuszu można [[faber@hackerspace.pl|przesyłać pocztą]].
===== Po co? =====
Generalna fascynacja złomem i retrocomputingiem. Załączony OS X 10.4 ma compatibility layer z Mac OS 9.2.2, co pozwala na [[https://blog.archive.org/2017/08/11/hypercard-on-the-archive-celebrating-30-years-of-hypercard/|surfowanie po Web 0.5]]. Do tego zwykła ciekawość "co się zsypało?"
====== Diagnoza ======
{{:projects:ukbx2ty.jpg?direct&400|}}
Włącza się, udaje się załadować [[https://en.wikipedia.org/wiki/Open_Firmware|OpenFirmware]], czyli BIOS dla komputerów PowerPC. Problem polega na tym, że sam OS X bootuje średnio tak raz na 20 prób, a ostatnio w ogóle. Mac wykrywa obydwa dyski, oraz partycje OS X na nich. Po wypaleniu przeze mnie instalki OS X 10.4 na DVD (opisany jako wersja właśnie dla PPC) problem powtarza się: Wykrywa płytę w stacji jako dysk instalacyjny OS X. Instalacja *raz* uruchomiła się z płyty podczas testu. Później płyta już nie bootuje na tej samej zasadzie co dyski.
Moje podejrzenie pierwotnie padło na jakiś problem z obydwoma HDD (nie są to SATA, tylko UATA/PATA btw.) Jeżeli jednak ten sam problem ma stacja dysków, a także są problemy z zabootowaniem Linuksów poprzez USB, to jednak jakiś problem z konfiguracją OF lub wewnątrz samego Maka.
Verbose mode podczas bootowania zarówno z HDD jak i instalki CD OS X 10.4 wyrzuca błąd:
still waiting for root device
90% wyników podczas guglowania błędu to artykuły i filmy dotyczące Hackintoshów, co jest średnio pomocne, mając do czynienia z oryginalnym hardware i OF zamiast PC-towego BIOSa. Sam błąd sugeruje jakiś problem z komunikacją z dyskiem. Same dyski, płyta oraz partycje na nich są poprawnie wykrywane, a nawet da się przeglądać ich foldery poprzez OF. Problem dotyczy więc nie samego wykrywania, ale raczej komunikacji.
Dopiero po pewnym czasie pracy z [[people:pzx:start|pzx'em]] zwróciliśmy uwagę na wcześniejsze komunikaty - problemy z załadowaniem sterowników - głównie odpowiedzialnych za audio - ale też i jednego, który może być powodem naszych problemów:
''Extension "com.apple.driver.KeyLargoATA" has no kernel dependency.''
Szukaliśmy informacji o tym sterowniku, ale jakoś nikt nie kwapił się z doprecyzowaniem za co jest odpowiedzialny. Strzępek informacji, do którego w końcu się dobiliśmy sugeruje, że jest on odpowiedzialny za kontrolery dysków (podobno są 2) znajdujące się na mostku południowym. To mogłoby tłumaczyć problemy z komunikacją z dyskami.
W końcu dotarłem do [[https://opensource.apple.com/source/KeyLargoATA/KeyLargoATA-111.3.1/KeyLargoATA.cpp.auto.html|kodu źródłowego]], który definiuje ten sterownik jako pochodny od [[https://developer.apple.com/documentation/kernel/ioatacontroller?language=objc|IOATAController]], który jak widać jest dokładnie tym, jak w nazwie.
====== Poczynione czynności ======
* Mac został rozczłonkowany, po czym złożony ponownie w poszukiwaniu oczywistych uszkodzeń
* Taśma ATA została wymieniona na "taką, która na pewno działa"
* Na DVD jest wypalona wspomniana instalka OS X 10.4, która RAZ się uruchomiła
* Zamontowany został nowy, rzekomo działający dysk UATA (dzięki [[people:cfk:start|cfk]]!) na który ewentualnie przeinstalowałbym OS X - jeżeli tylko odpalę instalkę po raz drugi...
* Wyjęta została niefabryczna karta graficzna
* Wielokrotnie resetowałem NVRAM w OF, co[[https://support.apple.com/en-us/HT204063|"powinno rozwiązać większość problemów z bootowaniem"]]
* Skonfigurowalem jako master dysk PATA ktory usilowalem zabootowac, co tutoriale od Hackintoshow wskazywaly jako najbardziej prawdopodobny powod. Bez zmian.
===== Bootowanie Linuksów =====
{{:projects:ppc_linux_bootfail.jpg?direct&400|}}
Usiłowałem zabootować Lubuntu (wersja dla PPC) poprzez USB. Sam bootloader się uruchamia, i niby zaczyna odpalać system bez żadnych błędów, po czym zamiast przejść do systemu wracam do OF, który wydaje się informować mnie, iż "System się odpalił"...
Próbowałem później tego samego z diagnostycznym distro SystemRescueCD. Nie wywaliło mnie z powrotem do OF, ale też nie dało się go uruchomić. OF natomiast narzekał, że oczekuje innego rodzaju partycji:
'' WARNING: Bootstrap partition type is wrong: "Apple_HFS"
type should be: "Apple_Bootstrap" ''
Ten błąd pojawił się na [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686218|bugtrackerze Debiana]], gdzie uznano go za kosmetyczny bo mimo tego jakoś odpalili system z netboota. Zwięzłe info o obydwu rodzajach partycji można znaleźć [[https://en.wikibooks.org/wiki/Guide_to_Unix/Explanations/Partitioning_Disks#Partition_Types|tutaj]].
====== TODO ======
* **AKTUALNE: Zidentyfikować model kontrolera dysków, i spróbować od początku wgrać potencjalnie wadliwy sterownik poprzez OF. Ewentualnie pogrzebać w mostku południowym i sprawdzić, czy coś nie poszło w nim fizycznie.**
* Dowiedzieć się coś więcej o sterowniku KeyLargoATA i błędzie z nim związanym.
* Spróbować zabootować jakiegoś MacOSa czy jakiekolwiek distro poprzez netboot, może zadziała tam, gdzie dysk, płyta i USB nie jeżdżą. [[https://en.wikipedia.org/wiki/NetBoot#Process|Można jak najbardziej, jeszcze jak]].
====== Addendum: Przydatne linki (incoming) ======
===== Root device=====
* https://web.archive.org/web/20160318191841/http://www.ihackintosh.com/2009/05/still-waiting-for-root-device/
* https://www.osx86.net/files/file/3770-totally-still-waiting-for-root-device-fix/
* https://discussions.apple.com/thread/2238152
* https://apple.stackexchange.com/questions/54860/stop-sign-after-boot-and-still-waiting-for-root-device
* http://wiki.osx86project.org/wiki/index.php/Still_waiting_for_root_device
* https://discussions.apple.com/thread/1333575
* https://www.insanelymac.com/forum/topic/278075-about-still-waiting-for-root-device/
===== OpenFirmware =====
* http://www.firmworks.com/QuickRef.html
* https://elinux.org/Flameman/openfirmware-apple - **Dobre!**
* http://osxbook.com/book/bonus/ancient/whatismacosx/arch_boot.html
* https://library.morph.zone/Open_Firmware
* http://macos9lives.com/smforum/index.php?topic=1965.0
* https://sites.google.com/site/shawnhcorey/howto-boot-apple-powerpcs-from-a-usb-drive-in-open-firmware
* https://hints.macworld.com/article.php?story=20060301112336384
* http://www.macfreek.nl/memory/Open_Firmware
* http://web.archive.org/web/20020402061934/http://developer.apple.com/technotes/tn/tn2001.html
* http://web.archive.org/web/20000503043724/http://developer.apple.com/technotes/tn/tn1061.html
* http://web.archive.org/web/20000503104944/http://developer.apple.com/technotes/tn/tn1062.html
* http://web.archive.org/web/20000421035655/http://developer.apple.com/technotes/tn/tn1044.html
===== Ogólny troubleshooting =====
* https://www.cultofmac.com/50685/how-to-fix-common-mac-startup-problems-macrx/
* https://support.apple.com/en-us/TS3742
===== Linux on PPC =====
* https://lowendmac.com/2018/installing-linux-on-powerpc-macs/
* [[https://distrowatch.com/search.php?ostype=All&category=All&origin=All&basedon=All¬basedon=None&desktop=All&architecture=powerpc&package=All&rolling=All&isosize=All&netinstall=All&language=All&defaultinit=All&status=All#simple|DistroWatch]]
* https://lwn.net/Articles/109459/
* [[https://www.facebook.com/groups/ppclinux/|Fejsbukowa Grupa Wsparcia Psychologicznego]]
===== Dyski & Sterowniki/Kontrolery od nich ====
* https://opensource.apple.com/release/mac-os-x-10411ppc.html
===== Lo and behold! ====
* [[https://opensource.apple.com/release/mac-os-x-10411ppc.html|Kod źródłowy OS X 10.4.11]]