Jump to content

Recommended Posts

Witam Was serdecznie,

 

Do napisania tego postu skłonił mnie mój kolega, który upiera się iż Hackintosh jest emulacją. Swoją opinię prawdopodobnie zaczerpnął z Wikipedii, podającej iż jednym ze sposobów instalacji Hackintosha na PC jest emulacja (U)EFI.

 

Chciałbym prosić o Wasze wypowiedzi, przemyślenia mówiące o tym, czy Hackintosh jest emulacją, czy jest pełnoprawnym, natywnie działającym systemem na komputerach PC - jedynie systemem, który jest poddany odpowiednim modyfikacjom.

 

O ile jestem w stanie zgodzić się, że Mac może być emulowany na wirtualnym środowisku, lub używając emulatora komputera Mac, o tyle nie zgadzam się osobiście z twierdzeniem iż Hackintosh jest emulacją.

 

Osobiście mam własne doświadczenia z Hackintoshem, m.in. Leopard na Acer Aspire One A150, Snow Leopard Toshiba Equium A200, Lion na Lenovo Thinkpad X61 i w przypadku każdego z tych komputerów nie dostrzegłem tego, bym emulował komputer z systemem OS X, a po prostu system ten instalowałem na komputerach PC.

 

Bardzo proszę o Wasze wypowiedzi.

 

 

Share this post


Link to post
Share on other sites

Hack nie działa na emulatorze bo:

http://pl.wikipedia.org/wiki/Emulator

Pierwszy akapit, OS X nie działa w oparciu o inny system operacyjny. Innymi słowy OS X to system jak każdy inny. Całość tak na prawdę załatwia jeden kext. Twoje przypuszczenia są jak najbardziej poprawne :)

BTW po co emulować EFI jak jest on obecny we wszystkich nowych sprzętach, wytłumacz to koledze :)

Share this post


Link to post
Share on other sites

Ja to wiem, Ty to wiesz, wiele osób to wie... Jednak, próbuję zdobyć jak największą liczbę argumentów do dyksusji z moim kolegą.

Jeżeli mówimy o EFI - dotyczy to nowych komputerów i jak najbardziej to jest prawda. Natomiast moje doświadczenia, jak napisałem powyżej były związane z trzema różnymi komputerami, w których był tradycyjny BIOS. Jednak, w każdym z tych komputerów, mimo iż kosztowało to pracy i wysiłku OS X w wersjach Leopard, Snow Leopard, Lion - działały poprawnie, stabilnie... i według mnie NATYWNIE. Nie było tam elementu EMULACJI. Jeżeli nawet jakiś bootloader musiał emulować EFI - to komputer PC działał bez innego systemu operacyjnego, pod kontrolą którego miałby pracować OS X.

Share this post


Link to post
Share on other sites

Właśnie... tu pies pogrzebany... Bo kiedy mój kolega widzi słowo "emulacja" znaczenie jego rozciąga na całą platformę.

Na temat emulacji czytamy tu:

 

 

Szumnie nazywana emulacja EFI okazuje się tylko częściowym rozwiązaniem (...) w przypadku problemów masz różne "lekarstwa"

Dlaczego? Co nie działa? Jakie lekarstwa?
Warto mieć świadomość, że ta technologia - emulacji EFI - została światu dostarczona osobiście przez firmę... Apple. Było to rozwiązanie potrzebne, by developerzy mogli pracować na rozwojem i testowaniem Mac OS X na platformę Intel, zanim firma zaczęła produkować oparte o nią komputery. Więc nie jest to jakiś niepewny, kombinowany wynalazek domorosłych hackerów ;)
Druga sprawa, to jeśli nie odpowiada Ci ze względów ideowych emulacja, to masz XPC.

 

I do takowej emulacji można się łatwo przyczepić.

Share this post


Link to post
Share on other sites

Cała sprawa wygląda tak:

jeśli używasz bootloadera Chameleon, lub Clovera zainstalowanego w legacy, to bootloader emuluje EFI. Jeśli jednak masz Clovera w UEFI (a większość ludzi tak ma), to EFI nie jest emulowane, bo po cholerę? :P

 

Tak, jak pisał kolega powyżej, "[...] legacy powoli już znika ze świata hackintosh [...]", ja uważam, że można by w tym zdaniu wykreślić słowo hackintosh, bo legacy, to już staroć. Więc z czystym sumieniem, możesz koledze powiedzieć, że dobry haMac nic nie emuluje.

Share this post


Link to post
Share on other sites

Wracam do tego tematu dopiero teraz, jako iż dostałem dopiero odpowiedź:

 

 

Większość społeczeństwa używa zawężonej definicji emulatora, sprowadzając zagadnienie do uruchamiania programów pod kontrolą innego systemu operacyjnego. Jednak encyklopedia PWN podaje szerszą definicję:

http://encyklopedia.pwn.pl/szukaj/emulator.html

Definicja według PWN nie wspomina w ogóle o systemie operacyjnym, i słusznie. Weźmy jako przykład sterownik przemysłowy oparty o procesor 68040. Nie ma systemu operacyjnego, ale jeśli w programie pojawią się instrukcje ze starej Motorolki, niezaimplementowane w nowym procesorze, będą przez procesor emulowane.

Nie ma emulacji procesora, urządzeń zewnętrznych ani systemu operacyjnego. Emulowany jest natomiast ROM. Emulacja tak ważnego komponentu powoduje, że nie można mówić o uruchomieniu natywnym. Moje rozumowanie jest słuszne przy dwóch założeniach:

1. System operacyjny i programy korzystają z procedur zawartych w ROM-ie (list o Cloverze wydaje się to potwierdzać).

2. UEFI Maka i peceta różnią się znacząco.

Jeśli któryś z tych punktów nie jest spełniony, rezygnuję z tezy o emulacji.

 

 

Chyba kończą mi się pomysły na możliwość przekonania mojego kolegi.

Share this post


Link to post
Share on other sites

Kolega to chyba z MyApple...

1. Clover przypomina każdy inny bootloader a system sam z siebie nie korzysta z Clovera, to jedynie warstwa

2. Generalnie tak ale nie ma to w zasadzie związku z uruchamianiem systemu bo o bootloader się rozchodzi 

 

Zmień kolegów

Share this post


Link to post
Share on other sites

Emaulacja Mac OS X na PC co za bzdura. Tak po ludzku mówiąc Mac OS X ma w systemie zaszyty boot.efi (/System/Library/CoreServices/) i jest to aplikacja efi, w zasadzie bootloader.

UEFI PC ma zaszyte ścieżki, w których "zaszyte" są bootloadery innych systemów (Win, Linux) i stamtąd je ładuje, bootloadery potem robią "swoje" (w linux i mac os x np ładują drivery i kernel), niestety nie ma tam, info o lokalizacji boot.efi w Mac OS X. Gdyby PC był kompatybilny wystarczyłaby kosmetyczna zmiana oraz dodanie drivera HFSPlus.efi do odczytu partycji Macowych ALE wymagany jest min. FakeSMC.kext do odpalenia Mac OS X na PC, boot.efi z Mac OS X nie załaduje sterowników z zewnątrz, Clover modyfikuje zachowanie makowego bootloadera i dodaje m.in możliwość załadowania dodatkowych driverów. FakeSMC.kext oszukuje Mac OS X o występowaniu applowego SMC i dzięki temu daje się odpalić system. Jeżeli wszystkie komponenty są kompatybilne to działają natywnie na driverach apple i nic nie trzeba dalej popychać, emulować itp.

 

Suma summarum, Clover modyfikuje zachowanie makowego bootloadera boot.efi w celu możliwości załadowania driverów, a przy okazji daje dużo więcej możliwości - np modyfikowanie driverów apple w locie w pamięci systemowej (bo tam są ładowane podczas startu) zamiast modyfikować ręcznie pliki fizycznie na dysku.

 

Kolega na siłę szuka dziury w całym bo ma klapki na oczach.

 

Zapytaj kolegi czy zmiana bootloadera na prawdziwych makach też emuluje na nich system Mac OS X... Np macosxbootloader który pozwala uruchomić nowsze systemy OS X na starych Makach z 32-dwu bitowym efi.

Share this post


Link to post
Share on other sites

Może opiszę, jak to konkretnie wygląda w każdym z wymienionych przypadków.

1. Komputer z BIOSem + Chameleon: Chameleon emuluje jakieś podstawowe funkcje EFI potrzebne do uruchomienia Mac OS Xa, których nie ma w BIOSie.

2. Komputer z BIOSem + Clover (albo z UEFI + Clover w trybie kompatybilności z BIOSem): Clover przed załadowaniem się uruchamia pełne UEFI (bodajże projekt DUET), po czym wykorzystuje je do wystartowania OS Xa.

3. Komputer z UEFI + Clover: Clover wykorzystuje UEFI płyty głównej do uruchomienia OS Xa. Sposób niemalże taki sam, jak w prawdziwym Macintoshu, do tego stopnia, że OS X może używać prawdziwego NVRAM płyty głównej.

 

Dalej przebiega to już identycznie w każdym przypadku:

OS X pracuje natywnie. Ładuje sterowniki, pobiera w odpowiednim momencie z urządzenia SMC klucz do rozszyfrowania kilku składników (w PCtach oczywiście tego urządzenia nie ma, więc instaluje się sterownik FakeSMC zastępujący je) i uruchamia się. Przez działanie natywne rozumiem, że:

-System wszystkie instrukcje procesora wykonuje bezpośrednio, bez żadnego tłumaczenia.

-System ma bezpośredni dostęp do wszystkich elementów komputera - procesor, RAM, magistrale PCI i PCI-E, wszystkie karty, porty, kontrolery dysków, itd.

 

Jaka jest więc rola Clovera jako bootloadera?

-Wybór systemów (jak np. GRUB).

-Zrobienie kilku rzeczy umożliwiających prawidłowe działanie OS Xa - m. in. wstrzyknięcie informacji o modelu Macintosha, na jakim system jest rzekomo uruchomiony. W prawdziwym Macu te dane są odczytywane z SMBIOS. W PCtach są w nim oczywiście inne informacje, a wiele składników systemu (np. sterowniki zarządzania energią) potrzebuje nazwę modelu Macintosha do prawidłowego działania. Wstrzykuje się więc dane modelu zbudowanego na sprzęcie tej samej generacji, co nasz komputer - przykładowo dla Haswella będzie to iMac 14,1.

 

Mam nadzieję, że wyjaśniłem zrozumiale. A przy okazji pięknie widać, dlaczego instalowanie Clovera w trybie legacy (kompatybilności) na płycie głównej z UEFI nie ma absolutnie sensu.

Share this post


Link to post
Share on other sites

Dokładnie. Jeśli chodzi o smbios to jest to nic innego jak zapis w tabelach dmi, w PCtach można np ręcznie zmienić te zapisy w BIOS/UEFI BIOS i bootloader jest już niepotrzebny (może ktoś pamięta początki Liona i bootloader XPC). Tak więc nie ma tu mowy o żadnej emulacji.

Share this post


Link to post
Share on other sites

Sprawa została definitywnie zakończona. Mój kolega przygotował oświadczenie na tą okazję, oto one:

 

 

Hi, world! Tu sprawca zamieszania, kolega Naseda.

Dzięki za konstruktywną krytykę. Zgłębiając temat coraz mocniej w miarę dyskusji, doszedłem w końcu do wniosku że macie rację. Mac OS na pececie z UEFI działa natywnie. Może bym doszedł do tego wcześniej, gdybyście tłumaczyli po chłopsku a nie po profesorsku. A może musiałem po prostu swoją porcję lektury odrobić.

Share this post


Link to post
Share on other sites

Właśnie... tu pies pogrzebany... Bo kiedy mój kolega widzi słowo "emulacja" znaczenie jego rozciąga na całą platformę.

Na temat emulacji czytamy tu:

 

 

I do takowej emulacji można się łatwo przyczepić.

Może myli emulacja z wirtualizacją?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.