Skocz do zawartości

CLOVER v.2 - Instrukcja obsługi


Rekomendowane odpowiedzi

Clover.png

 

Rozdział 1. Wstęp

21.01.2013 - pierwsza publikacja

07.04.2013 - dodano rozdział nr 5 - Konfiguracja Clovera - config.plist

24.06.2013 - dodano rozdział nr 6 - Przykładowe patche kextów

 

Clover v2 to bootloader typu open source bazujący na różnych projektach: Clover, rEFIt, XNU, VirtualBox. Podstawą Clover'a v2 jest ostatnie wydanie EDK2. Kod źródłowy dostępny jest pod adresem:

http://sourceforge.net/projects/cloverefiboot/

 

1.1 Główne funkcje:

  • - uruchamianie Mac OS X 10.4 - 10.8, Windows EFI oraz Linux EFI
    - obsługa RuntimeServices dla systemów operacyjnych, która nie jest możliwa dla bootloaderów typu "legacy"
    - automatyczna detekcja sprzętu z możliwością ręcznej edycji ustawień w pliku konfiguracyjnym config.plist
    - możliwość wybrania dysku startowego z poziomu panelu preferencji Dysku startowego
    - możliwość ręcznego ustawienia UUID w pliku konfiguracyjnym config.plist
    - SMBIOS poprawiany do standardu 2.6
    - tabele ACPI poprawiane do standardu 4.0. Niestandardowe tabele DSDT ładowane z uruchamianej partycji lub z folderu EFI
    - możliwość konfigurowania poprawki do restartu komputera, usypiania i wybudzania oraz zmiana wartości PCIRootUID
    - obsługa szerokiego zakresu kart graficznych ATI, Nvidia oraz Intel z możliwością ręcznej konfiguracji w pliku config.plist
    - poprawka dla USB (łącznie z obsługą USB 3.0)
    - wstrzykiwanie ID dla karty dźwiękowej oraz informacji "Built in" dla karty sieciowej
    - generowanie stanów turbo, P-State oraz C-State w celu uzyskania natywnego zarządzania energią
    - ładowanie tabel ACPI (SSDT-xx, APIC, BOOT, SLIC, SLIT, SRAT, UEFI...)
    - ładowanie dodatkowych kextów oraz tryb bezpieczeństwa FireWire
    - domyślnie ładowanie systemu po określonym czasie rozruchu, konfigurowalne GUI oraz zapisywanie zrzutów ekranu w GUI po wciśnięciu F10 (wymagana partycja FAT)
    - zapisywanie boot.log na partycji z systemem operacyjnym oraz preboot.log z poziomu GUI po wciśnięciu F2 (wymagana partycja FAT)

 

:?: Jeżeli macie problemy/pytania należy dokładnie opisać problem i załączyć dump wykonany programem DarwinDumper, którego autorem jest Trauma. Informacje z dumpami należy zgłaszać w poniższych tematach w języku angielskim:

http://www.projectosx.com/forum/index.php?showtopic=2304
http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/

Jeżeli nie czujecie się na siłach (lenistwo nie wchodzi w grę !) prosimy o zgłoszenie problemu w temacie Clover'a poświęconemu dyskusji: http://hamac.pl/topics61/clover-temat-d ... vt6190.htm . Ktoś z administracji postara się przekazać problem developerom jeśli nie uda się go rozwiązać u nas na miejscu.

Strona poświęcona programowi DarwinDumper:

http://www.insanelymac.com/forum/topic/282794-darwindumper/

Program w wersji 2.5.8 do pobrania bezpośrednio z naszego forum:

http://hamac.pl/img/oswaldini/Clover/DarwinDumper_v2.5.8.zip

 

1.2 Instrukcja została podzielona na poniższe rozdziały:

  • 1.
Wstęp
2. Paczki instalacyjne do pobrania
3. Instalacja Clover'a
4. Struktura Clover'a
5. Konfiguracja Clovera - config.plist
6. Przykładowe patche kextów

 

PS: Instrukcja cały czas jest w realizacji i cyklicznie pojawiać się będą kolejne rozdziały. Bardzo proszę o nie nękanie moderacji :)

Odnośnik do komentarza
Udostępnij na innych stronach

Rozdział 2. Paczki instalacyjne do pobrania


21.01.2013 - pierwsza publikacja
05.03.2013 - poprawione linki


:arrow: Przygotowałem stronę internetową, którą cały czas aktualizuję o świeże paczki, które kompiluję na bieżąco. Na stronie można także znaleźć pliki binarne do ręcznej instalacji, program BootDiskUtility z instalatorem Clover'a pod Windowsa oraz paczki wsadowe do BootDiskUtility z najnowszym Cloverem oraz kextami. Stronę można odwiedzić pod adresem:

www.clover.5v.pl

lub

https://dl.dropbox.com/u/9641107/Clover/index.html

PS: strona może chodzić opornie ponieważ jest to FTP zbudowane na bazie Dropboxa gdzie strona internetowa aktualizowana jest za pomocą skryptu działającego w oparciu o zawartość katalogu na dropboxie.

:arrow: A tutaj stronka, z której można pobrać program BootDiskUtility, który służy do instalacji Clovera i Chameleona pod Windowsem:

http://cvad-mac.narod.ru/bootdiskutilityexe/
Odnośnik do komentarza
Udostępnij na innych stronach

Rozdział 3. Instalacja Clover'a


21.01.2013 - pierwsza publikacja
05.04.2013 - drobne poprawki wynikające z nowej wersji instalatorów
02.08.2013 - większe poprawki wynikające z nowej wersji instalatorów


3.1. Instalacja Clover'a z poziomu Mac OS X

Wymagania:

  • dostęp do Mac OS X (może być maszyna wirtualna)
  • ściągnięta paczka instalacyjna (patrz Rozdział 2. Paczki instalacyjne do pobrania)
  • pendrive (pojemność dowolna, wystarczy nawet archaiczne 32MB)

Procedura:
1. Jeżeli nasz pendrive oryginalnie ze sklepu jest w formacie FAT32 i nie był przez nas formatowany przechodzimy do kroku instalacji paczki (pkt 4) natomiast jeśli pendrive był kiedykolwiek przez nas formatowany lub ma inny system plików (exFAT, NTFS) przechodzimy do pkt 2.
2. Formatujemy naszego pendrive'a w Narzędziu Dyskowym (/Programy/Narzędzia/Narzędzie dyskowe). Pendrive ma mieć schemat MBR (Główny sektor rozruchowy) z partycją FAT. Szczegóły przedstawiają poniższe zdjęcia.


Formatowanie_1.pngFormatowanie_2.png

3. Przechodzimy do Terminala (/Programy/Narzędzia/Terminal) i wykonujemy polecenie (1):

diskutil list

- identyfikujemy naszego pendrive'a (2) - w moim przypadku jest to disk2s1, następnie wykonujemy kolejne polecenie (3):

diskutil unmount /dev/rdiskXsY

- gdzie X to numer dysku a Y to numer partycji, w naszym przykładzie ze zdjęcia X=2, Y=1. Następnie (4):

newfs_msdos -v Fat32 -F 32 /dev/rdiskXsY

i kolejno (5):

diskutil mount /dev/rdiskXsY

Formatowanie_3.png


4. Kiedy nasz klucz USB jest już gotowy uruchamiamy paczkę instalacyjną wskazując pendrive'a jako miejsce docelowe (1,2) i dostosowujemy instalację (3)


Instalacja_1.pngInstalacja_2.png

Standardowy zestaw instalacyjny do bootowania przez BIOS przedstawia poniższe zdjęcie:

Instalacja_3.png


Opis dostępnych opcji w instalatorze:

  • Instalacja dla komputerów z UEFI - Opcja ta przeznaczona jest dla tylko komputerów z UEFI. Clover w trybie legacy nie zostanie zainstalowany !
  • Instalacja Clover na ESP - Clover zostanie zainstalowany na partycji ESP (EFI)
  • Nie aktualizuj sektorów MBR oraz PBR - Nie instaluj żadnego bootloader'a (boot0X, boot1X). Jest to użyteczne dla płyt z UEFI, które nie wymagają plików bootloader'a. Jest to także przydatne kiedy nie chcesz aktualizować sektorów MBR oraz PBR
  • Zainstaluj boot0af w sektorze MBR - Opcja przeznaczona dla uruchamiania przez klasyczny BIOS. boot0af uruchamia aktywną partycję zdefiniowaną w MBR. Jeżeli nie ma zdefiniowanej aktywnej partycji, boot0af uruchomi pierwszą partycję EFI/FAT32/HFS (najpierw zdefiniowaną w MBR następnie w GPT) z sygnaturą PBR. Ta opcja ustawi wybraną partycję jako aktywną.
  • Zainstaluj boot0ss w sektorze MBR - Opcja przeznaczona dla uruchamiania przez klasyczny BIOS. boot0ss (boot0 Signature Scanning) uruchomi pierwszą partycję EFI/FAT32/HFS (najpierw zdefiniowaną w MBR następnie w GPT) z sygnaturą PBR. Jeżeli żadna partycja nie zostanie odnaleziona boot0ss uruchomi aktywną partycję zdefiniowaną w MBR. Ta opcja jest przydatna kiedy posiadasz zainstalowanego Windowsa na tym samym dysku z Mac OS X, ponieważ Windows wymaga aktywnej partycji. Ta opcja nie ustawi wybranej partycji jako aktywnej.
  • Użyj alternatywnego uruchamiania z PBR - Opcja instaluje bootloader z alternatywnym sposobem uruchamiania, z opcją wyboru bootloader'a po wciśnięciu klawisza.
    Podczas rozruchu można:
    Wcisnąć klawisz 1 do uruchomienia boot1 = Chameleon boot (musi on zostać wcześniej ręcznie wgrany)
    Wcisnąć klawisz 3 do uruchomienia boot3 = Clover EFI 32bit boot,
    Wcisnąć klawisz 6 do uruchomienia boot6 = Clover EFI 64bit boot.
  • CloverEFI 32 bity - Instaluje plik boot i startuje system w 32 bitach.
  • CloverEFI 64 bity - Instaluje plik boot i startuje system w 64 bitach.
  • CloverEFI 64 bity BiosBlockIO - Instaluje plik boot i startuje system w 64 bitach przy użyciu BiosBlockIO w celu uzyskania dostępu do dysków.
  • Motywy graficzne - zestaw kilku różnych tematów graficznych dla GUI Clover'a.
  • Drivers32 / Drivers64 - zestaw sterowników (odpowiednio 32 i 64 bitowych) do klasycznego bootowania z poziomu BIOSu.
    • Ps2KeyboardDxe - sterownik klawiatury PS2
    • Ps2MouseAbsolutePointerDxe - ?
    • Ps2MouseDxe - sterownik myszy PS2
    • UsbMouseDxe - sterownik myszy USB
    • VBoxExt2 - sterownik do obsługi formatu ext2
    • VBoxExt4 - sterownik do obsługi formatu ext4
    • XhciDxe - sterownik do obsługi USB
  • Drivers64UEFI - jest to zbiór różnych sterowników potrzebnych do uruchamiania bootloadera w trybie UEFI
    • CsmVideoDxe - Sterownik grafiki - aktywuje dodatkowe rozdzielczości w menu Clover. Bazuje na module CSM pochodzącym z UEFI BIOS.
    • DataHubDxe - Sterownik obligatoryjnie wymagany przez Mac OS X. Zwykle jest on obecny w BIOSie ale czasami go brakuje. W takiej sytuacji zostanie wyświetlony komunikat na ekranie. Obecność tego sterownika jest zawsze bezpieczna.
    • EmuVariableUefi - Sterownik obligatoryjnie wymagany przez Mac OS X. Zwykle jest on obecny w BIOSie ale czasami go brakuje (np w płytach głównych Asus i MSI). Obecność tego sterownika jest zawsze bezpieczna.
    • OsxAptioFixDrv - Sterownik naprawiający problem z pamięcią w trybie UEFI na BIOSach AMI Aptio.
    • OsxLowMemFixDrv - Prostsza wersja sterownika OsxAptioFixDrv, NIE UŻYWAĆ OBU RÓWNOCZEŚNIE !
    • PartitionDxe - Sterownik odpowiedzialny za mapę partycji typu: hybryda GPT/MBR lub Schemat Partycji Apple. Obecność tego sterownika jest zawsze bezpieczna.

3.2. Instalacja Clover'a z poziomu Windows'a

Wymagania:

  • dostęp do Windows'a XP lub nowszego (może być maszyna wirtualna)
  • ściągnięta paczka instalacyjna BootDiskUtility (patrz Rozdział 2. Paczki instalacyjne do pobrania)
  • najnowsze pliki z cloverem i kextami (patrz www.clover.5v.pl )
  • pendrive (pojemność dowolna, wystarczy nawet archaiczne 32MB)

Procedura:
1. Ściągamy BootDiskUtility (patrz Rozdział 2. Paczki instalacyjne do pobrania lub www.clover.5v.pl )
2. Pobieramy ze strony www.clover.5v.pl najnowsze pliki z cloverem i kextami
3. Wkładamy do USB pendrive'a przeznaczonego na Clovera
4. Uruchamiamy program BootDiskUtility



BootDiskUtility_1.png


5. Uruchamiamy konfigurację (Options -> Configurations) i w popupie wybieramy Data set: External co pozwoli nam podczas instalacji wybrać naszą paczkę z Cloverem i kextami



BootDiskUtility_2.png


6. Wybieramy w oknie głównym z rozwijanej listy pendrive'a na Clover'a i klikamy instaluj. Wyskoczy nam popup z prośbą o wskazanie paczki z cloverem spakowanej w zipie



BootDiskUtility_3.png


7. W następnym popupie potwierdzamy formatowanie i instalację. Spokojnie czekamy na zakończenie procesu - zostaniemy o tym poinformowani w oknie głównym programu.



BootDiskUtility_4.png


8. Instalacja Clover'a została zakończona, wgrane zostały sterowniki 32 i 64 bitowe, które zostały opisane w rozdziale 3.1, skonfigurowany został domyślnie plik config.plist oraz dorzucone zostały kexty dla systemów 10.6, 10.7 oraz 10.8 umożliwiające instalację na większości kompatybilnych urządzeń. Może okazać się konieczne wprowadzenie zmian w pliku config.plist w celu instalacji systemu Mac OS X dlatego zapraszamy do rozdziału XX, w którym został dokładnie opisany ten proces.

Odnośnik do komentarza
Udostępnij na innych stronach

Rozdział 4. Struktura Clover'a

21.01.2013 - pierwsza publikacja

05.04.2013 - aktualizacja struktury Clovera

06.05.2013 - aktualizacja struktury Clovera

 

4.1. Podstawowy układ plików ze skróconym opisem

 

  • boot - plik odpowiedzialny za uruchomienie Clover w trybie legacy
  • EFI
    • BOOT
      • BOOTX64.efi - 64-ro bitowy Clover

    • CLOVER
      • ACPI - katalog przeznaczony na tabele ACPI
        • origin - katalog na oryginalne tabele ACPI - tutaj ląduje dump wykonany w menu Clover'a za pomocą klawisza F4
        • patched - katalog dla przerobionych tabel ACPI (DSDT.aml, SSDT.aml itd) do załadowania przez Mac OS X
        • WINDOWS - katalog dla tabel ACPI (DSDT.aml, SSDT.aml itd) do załadowania przez Windowsa

        [*]CLOVERX64.efi - 64-ro bitowy Clover

        [*]config.plist - plik konfiguracyjny bootloader'a (m.in ustawienia Theme'u). Więcej informacji w Rozdziale 5. Konfiguracja Clover'a

        [*]doc - zawiera dokumentację techniczną Clover: instrukcje instalacji manualnej, instalacji UEFI, instalacji MacOS, patchowanie DSDT, przykładowy pełny config.plist

        [*]drivers64 - zawiera sterowniki 64-ro bitowe dla trybu legacy

        • FSInject-64.efi - sterownik do wstrzykiwania i patchowania kextów w kernelcache
        • Ps2MouseDxe-64.efi - sterownik (64-ro bitowy) myszy na PS/2
        • UsbMouseDxe-64.efi - sterownik (64-ro bitowy) myszy na USB
        • VBoxExt2-64.efi - sterownik (64-ro bitowy) dla formatu ext2/3 z VirtualBox'a
        • VBoxExt4-64.efi - sterownik (64-ro bitowy) dla formatu ext4 z VirtualBox'a
        • XhciDxe-64.efi - sterownik (64-ro bitowy) USB 3.0

        [*]drivers64UEFI - zawiera sterowniki 64-ro bitowe dla trybu UEFI

        • CsmVideoDxe-64.efi - sterownik grafiki (64-ro bitowy) - aktywuje dodatkowe rozdzielczości w menu Clover
        • DataHubDxe-64.efi Sterownik (64-ro bitowy) obligatoryjnie wymagany przez Mac OS X. Zwykle jest on obecny w BIOSie ale czasami go brakuje. W takiej sytuacji zostanie wyświetlony komunikat na ekranie. Obecność tego sterownika jest zawsze bezpieczna.
        • EmuVariableUefi-64.efi - sterownik (64-ro bitowy) wymagany dla płyt głównych z BIOSem Phoenix w celu załadowania informacji z NVRAMu. Należy użyć tylko w przypadku kiedy nie są ładowane parametry z NVRAM !
        • FSInject-64.efi - sterownik do wstrzykiwania i patchowania kextów w kernelcache
        • OsxAptioFixDrv-64.efi - sterownik (64-ro bitowy) naprawiający problem z pamięcią w trybie UEFI na BIOSach AMI Aptio
        • OsxFatBinaryDrv-64.efi - sterownik odpowiedzialny za ładowanie plików binarnych w trybie UEFI. Obecność tego sterownika jest obligatoryjna.
        • OsxLowMemFixDrv-64.efi - prostsza wersja sterownika OsxAptioFixDrv, 64 bity (NIE UŻYWAĆ OBU RÓWNOCZEŚNIE)
        • PartitionDxe-64.efi - sterownik (64-ro bitowy) odpowiedzialny za mapę partycji typu: hybryda GPT/MBR lub Schemat Partycji Apple. Obecność tego sterownika jest zawsze bezpieczna.
        • VboxHfs-64.efi - sterownik do odczytu partycji w formacie HFS+, pochodzi z VirtualBox

        [*]kexts - katalog przeznaczony na kexty

        • 10.6 - katalog przeznaczony na kexty dla Snow Leopard'a
        • 10.7 - katalog przeznaczony na kexty dla Lion'a
        • 10.8 - katalog przeznaczony na kexty dla Mountain Lion'a
        • Other - katalog przeznaczony na kexty dla wszystkich wersji systemu

        [*]misc - katalog przeznaczony na dump'y VBIOS, screenshot'y oraz logi

        [*]OEM - katalog na podstawowe pliki jw. przeznaczone dla zdefiniowanego sprzętu. Dokładny opis poniżej (Ad. 1)

        • SystemProductName - przykładowa nazwa płyty głównej lub laptopa na podstawie DMI (lub dumpów Clover'a). Jeżeli Clover zostanie uruchomiony na zdefiniowanym sprzęcie to wszystkie pliki zostaną załadowane z tego katalogu przy jednoczesnym pominięciu plików z katalogu głównego
          • ACPI - katalog przeznaczony na tabele ACPI
            • origin - katalog na oryginalne tabele ACPI - tutaj ląduje dump wykonany w menu Clover'a za pomocą klawisza F4
            • patched - katalog dla przerobionych tabel ACPI (DSDT.aml, SSDT.aml itd) do załadowania przez Mac OS X
            • WINDOWS - katalog dla tabel ACPI (DSDT.aml, SSDT.aml itd) do załadowania przez Windowsa

            [*]config.plist - plik konfiguracyjny bootloader'a (m.in ustawienia motywu graficznego). Więcej informacji w Rozdziale 5. Konfiguracja Clover'a

            [*]kexts - katalog przeznaczony na kexty

            • 10.6 - katalog przeznaczony na kexty dla Snow Leopard'a
            • 10.7 - katalog przeznaczony na kexty dla Lion'a
            • 10.8 - katalog przeznaczony na kexty dla Mountain Lion'a
            • Other - katalog przeznaczony na kexty dla wszystkich wersji systemu

            [*]ROM

        [*]ROM - katalog dla biosu karty graficznej do załadowania przez Clover'a

        [*]themes - katalog zawierający motywy graficzne

        [*]tools - zawiera shell 32, 64 bitowy oraz shell dla UEFI

    [*]EFI-Backups - katalog na kopie starszych wersji Clover, pliki przenoszone są tu automatycznie podczas aktualizacji

 

Clover_struktura.png

 

4.2. Dokłady opis wybranych opcji

 

Ad. 1 Za pomocą Clover'a możemy zbudować uniwersalny klucz do odpalenia nieskończonej ilości zdefiniowanych płyt głównych z dedykowanymi ustawieniami. Clover podczas uruchamiania odczytuje zapisy DMI, skąd bierze nazwę płyty głównej. Jeżeli w katalogu /EFI/OEM/ znajdzie się katalog z podaną nazwą wczytane zostaną stamtąd wszystkie zdefiniowane ustawienia i kexty dla danej płyty głównej oraz pominięte zostaną ustawienia i kexty z głównego katalogu /EFI.

 

Jeżeli Clover'a będziemy używali tylko dla jednej maszyny możemy całkowicie pominąć opcję używania katalogu OEM i wszystkie pliki konfigurować w głównym katalogu /EFI.

 

Sposób na uzyskanie nazwy płyty głównej:

Bootujemy komputer za pomocą Clover'a i w menu wciskamy klawisz F2. Zapisany zostanie w ten sposób preboot.log w katalogu /EFI/misc. Uruchamiamy dowolny system, otwieramy preboot.log i szukamy frazy: Clover revision: xxx running on yyy (gdzie xxx to wersja Clovera, a yyy nazwa płyty głównej). W moim przypadku wygląda to tak:

4:942  0:000  Clover revision: 1022  running on MS-7583
4:942  0:000  ... with board P55-GD65 (MS-7583)

Jak wynika z logu katalog powinienem nazwać MS-7583 lub P55-GD65 (MS-7583). Po zdefiniowaniu /EFI/OEM/MS-7583 wraz ze wszystkimi wymaganymi plikami preboot.log wygląda tak:

4:942  0:000  Clover revision: 1022  running on MS-7583
4:942  0:000  ... with board P55-GD65 (MS-7583) 
5:045  0:103  Using OEM config.plist at path: EFI\OEM\MS-7583\config.plist

Co świadczy o tym, iż zostały wczytane pliki konfiguracyjne z odpowiedniego katalogu.

 

Zamiast robienia dumpu preboot.log możemy po prostu w menu Clover'a przejść do lokalizacji: options -> SMBIOS i odczytać nazwę płyty głównej prosto z monitora:

 

OEM1.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

Rozdział 5. Konfiguracja Clovera - config.plist


07.04.2013 - pierwsza publikacja
24.06.2013 - aktualizacja przykładowego config.plist
02.08.2013 - drobne poprawki wynikające z nowej wersji instalatorów


NIEAKTUALNE ! PONIŻSZY PRZYKŁAD ODNOSI SIĘ DO WERSJI MAX 1999. OD REV 2000 OBOWIĄZUJE INNY UKŁAD ! W CELU ZAPOZNANIA SIĘ Z NIM ZAPRASZAM NA WIKI:

http://clover-wiki.zetam.org/pages/Configuration/

config.plist jest plikiem odpowiedzialnym za konfigurację bootloadera (Clover). Od niego zależy jakie opcje zostaną włączone czy też wyłączone. Każdy komputer wymaga innych opcji z uwagi na różnorodność konfiguracji. Niektóre z tych ustawień można włączyć lub wyłączyć bezpośrednio w GUI Clover'a. Nie są one jednak trwale zapisywane w config.plist.

config.plist dzieli się na następujące sekcje:

  • KernelAndKextPatches - W tej sekcji można ustawić automatyczne patchowanie plików binarnych "w locie". Opcja ta eliminuje konieczność każdorazowego "łatania" plików po każdej aktualizacji apple. Pliki binarne patchowane są w pamięci, w związku z czym pliki na dysku nie są modyfikowane.
    • Debug - (Yes/No, domyślnie: No): włącza tryb debudowania patchowania kextów.
    • KernelCpu - (Yes/No, domyślnie: No): włącza patchowanie kernela dla nie obsługiwanych procesorów (np.: Intel Atom), nie dotyczy AMD !.
    • ATIConnectorsController - określa rodzinę kart ATI, którą będziemy modyfikować (Radeon serii 6xxx = 6000 i analogicznie).
    • ATIConnectorsData - szukana personalizacja do podmiany.
    • ATIConnectorsPatch - podmienia spatchowaną sekcję z personalizacją w miejscu szukanej sekcji ATIConnectorsData (pkt. wyżej).
    • AsusAICPUPM - (Yes/No, domyślnie: No): patchuje AppleIntelCPUPowerManagament.kext - konieczne dla płyt głównych wymagających patchowania BIOSu.
    • AppleRTC - (Yes/No, domyślnie: No): patchuje AppleRTC.kext zapobiegając restartowi ustawień BIOSu po stanie uśpienia.
    • KextsToPatch - pozwala wykonywać własne patche.
  • SystemParameters
    • boot-args - wstrzykuje argumenty startowe [np>: -v (verbose mode), -x (safe mode), arch=i386 (32-bity), arch=x86_64 (64-bity), npci=0x2000 (PCI Configuration Fix), darkwake=0 (deep sleep), slide=0 itp.].
    • InjectKexts - wstrzykuje kexty z katalogu Clovera do kernelcache (lub przebudowuje kernelcache z kextami z Clovera przy jednoczesnym użyciu NoCaches)
    • NoCaches - pomija kernelcache
    • prev-lang:kbd - definiuje domyślny język GUI (polski: pl:30788, angielski: en:0).
    • DefaultBootVolume - definiuje domyślną partycje do bootowania.
    • CustomUUID - wstrzykuje własny UUID (Universally Unique IDentifier).
    • InjectSystemID - wstrzykuje SystemID (Yes/No, domyślnie No).
    • LegacyBoot - decyduje jak Clover ma sobie radzić z Legacy Boot. (PBR albo LegacyBiosDefault).
    • BacklightLevel - definiuje jasność wyświetlacza, domyślnie 0xFFFF (0x0 = zero, 0xFFFF = pełne podświetlenie).
  • SMBIOS - można samodzielnie zdefiniować swój smbios, przykład poniżej. Jeżeli nie zdefiniujemy tej sekcji, Clover dobierze odpowiednią na podstawie sprzętu. Możemy zmienić smbios podając tylko "ProductName" (np. iMac13,1). Clover wtedy sam dobierze pozostałe parametry na podstawie zdefiniowanego "ProductName".
  • CPU - sekcja definiuje ustawienia procesora, w 99% przypadkach Clover sam dostosuje prawidłowo poniższe ustawienia
    • Turbo
    • ProcessorType - (Hex, domyślnie: autodetect) wstrzykuje rodzaj procesora, liczbę podajemy jako hex (np: 1281 podajemy jako 0x0501).
    • CpuFrequencyMHz - prędkość procesora w MHz.
    • BusSpeedkHz - prędkość szyny w kHz.
    • QPI - wielkość QPI.
  • Graphics
    • GraphicsInjector - (Yes/No) wstrzykiwanie obsługi grafiki (nie wymagane dla GeForce serii 5xx i 6xx).
    • InjectEDID - wstrzykuje EDID monitora.
    • CustomEDID - wstrzykuje wygenerowany przez nas EDID monitora.
    • VRAM - wstrzykuje wielkość pamięci RAM grafiki, rozmiar podawany w MB np: 1024.
    • DualLink - (0/1): obsługa duallink.
    • LoadVBios - (Yes/No, domyślnie: No): wczytuje bios karty graficznej.
    • PatchVBios - patchuje rozdzielczości karty graficznej w trybie vesa w GUI Clovera.
    • VideoPorts - (liczba): wstrzykuje ilość wyjść karty graficznej.
    • FBName - wstrzykuje rodzaj framebuffera dla kart ATI.
    • NVCAP - wstrzykuje NVCAP, dla kart nVidii.
    • display-cfg - ?
    • PatchVBiosBytes - manualne patchowanie rozdzielczości vesa karty graficznej.
  • PCI
    • StringInjector - (Yes/No, domyślnie: No): wstrzykuje EFIString podany w DeviceProperties.
    • DeviceProperties - miejsce na podanie wygenerowanego EFIString'a.
    • HDAInjection - (No/Hex/Numer, domyślnie: Detect): No wyłącza wstrzykiwanie ID, Detect odczytuje ID z systemu i je wstrzykuje, możemy podać własny ID jako liczbę lub wartość HEX.
    • PCIRootUID - (domyślnie: 0): jeżeli Mac OS X nie może odnaleźć lokalizacji GPU PCI-UID. Jeżeli nie chcemy robić poprawki w DSDT nanosimy ją tutaj.
    • USBInjection - (Yes/No, domyślnie: Yes): potrzebne, by wybudzić komputer z klawiatury. Jeżeli nie działa ustawić na No.
    • USBFixOwnership - (Yes/No, domyślnie: Yes): naprawia uprawnienia USB w trybie UEFI.
    • InjectClockID - (Yes/No, domyślnie: No): opcja potrzebna kiedy urządzenia USB nie działają po wybudzeniu.
    • LpcTune - (Yes/No, domyślnie: No) - wstrzykuje ID chipsetu, nie działa prawidłowo, opcja została zarzucona, można zastosować FixDsdtMask.
  • ACPI
    • DsdtName - wprowadzamy nazwę naszego patchowanego DSDT, które znajduje się w /EFI/ACPI/patched lub /EFI/OEM/SystemProductName/ACPI/patched
    • DropOemSSDT - (Yes/No, domyślnie: No): pomija ładowanie tabel SSDT.
    • DropAPIC - (Yes/No, domyślnie: No): pomija ładowanie tabel APIC.
    • DropMCFG - (Yes/No, domyślnie: No): pomija ładowanie tabel MCFG.
    • DropHPET - (Yes/No, domyślnie: No): pomija ładowanie tabel HPET.
    • DropECDT - (Yes/No, domyślnie: No): pomija ładowanie tabel ECDT.
    • DropDMAR - (Yes/No, domyślnie: No): pomija ładowanie tabel DMAR naprawiając problem z AppleACPIPlatform.kext od wersji 10.8.2.
    • DropBGRT - (Yes/No, domyślnie: No): pomija ładowanie tabel BGRT.
    • GenerateCStates - (Yes/No, domyślnie: No): generowanie C-stanów procesora.
    • GeneratePStates - (Yes/No, domyślnie: No): generowanie P-stanów procesora.
    • GenerateIvyStates - jest to swego rodzaju "skrót", opcja ta włącza GeneratePStates, GenerateCStates, EnableISS, EnableC2, EnableC6, PluginType=1, MinMultiplier=8, DoubleFirstState.
    • DoubleFirstState - (Yes/No, domyślnie: No): podwaja najniższy stan procesora naprawiając speedstep dla IvyBridge.
    • PLimitDict - (liczba, domyślnie: 0) ogranicza maksymalny mnożnik procesora: 0 - nie ogranicza, 1-ogranicza o "1" (czyli kiedy max=34 otrzymujemy 34-1=33).
    • UnderVoltStep - (numer, domyślnie: 0): ogranicza maksymalne napięcie CPU.
    • MinMultiplier - minimalny mnożnik procesora.
    • MaxMultiplier - maksymalny mnożnik procesora.
    • PluginType - 0 dla SandyBridge, 1 dla IvyBridge.
    • EnableC6 - (Yes/No, domyślnie: No): włącza/wyłącza stan C6 procesora.
    • EnableC4 - (Yes/No, domyślnie: No): włącza/wyłącza stan C4 procesora.
    • EnableC2 - (Yes/No, domyślnie: No): włącza/wyłącza stan C2 procesora.
    • EnableISS - (Yes/No, domyślnie: No): wprowadza poprawkę na błędy ACPI_SMC_PlatformPlugin w konsoli.
    • C3Latency - powinno być: 0x03e9, jeżeli CPU obsługuje turbo 0x00FA.
    • ResetAddress - (powinno być: 0x64): restartfix - np. dla gigabyte.
    • ResetValue - (powinno być: 0xFE): restartfix - np. dla gigabyte.
    • smartUPS - (Yes/No, domyślnie: No): kosmetyka dla MacPro.
    • PatchAPIC - (Yes/No, domyślnie: No): wprowadza poprawkę NMI w tabelach APIC.
    • FixDsdtMask - podajemy numer jako hex do poprawki DSDT. Numer poprawek generujemy za pomoca programu CloverFixDsdtMaskCalculator (mac) albo BootDiskUtility (win).

Poniżej znajduje się przykład listy config.plist.
NIE NALEŻY JEJ UŻYWAĆ U SIEBIE ! JEST TO TYLKO PRZYKŁAD !
 

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
	<key>KernelAndKextPatches</key> 
	<dict> 
		<key>Debug</key> 
		<false/> 
		<key>KernelCpu</key> 
		<false/> 
		<key>AsusAICPUPM</key> 
		<true/> 
		<key>AppleRTC</key> 
		<true/> 
		<key>KextsToPatch</key> 
		<array> 
			<dict> 
				<key>Name</key> 
				<string>VoodooHDA</string> 
				<key>Find</key> 
				<data>SGVhZHBob25lcwA=</data> 
				<key>Replace</key> 
				<data>VGVsZXBob25lcwA=</data> 
			</dict> 
			<dict> 
				<key>Name</key> 
				<string>AppleAHCIPort</string> 
				<key>Comment</key> 
				<string>External icons patch</string> 
				<key>Find</key> 
				<data>RXh0ZXJuYWw=</data> 
				<key>Replace</key> 
				<data>SW50ZXJuYWw=</data> 
			</dict> 
		</array> 
	</dict> 
	<key>ACPI</key> 
	<dict> 
		<key>DsdtName</key> 
		<string>DSDT.aml</string> 
		<key>DropOemSSDT</key> 
		<false/> 
		<key>DropAPIC</key> 
		<false/> 
		<key>DropMCFG</key> 
		<false/> 
		<key>DropHPET</key> 
		<false/> 
		<key>DropECDT</key> 
		<false/> 
		<key>DropDMAR</key> 
		<true/> 
		<key>DropBGRT</key> 
		<true/> 
		<key>GenerateIvyStates</key> 
		<false/> 
		<key>GenerateCStates</key> 
		<false/> 
		<key>GeneratePStates</key> 
		<false/> 
		<key>DoubleFirstState</key> 
		<false/> 
		<key>PLimitDict</key> 
		<integer>0</integer> 
		<key>UnderVoltStep</key> 
		<integer>0</integer> 
	</dict> 
	<key>DisableDrivers</key> 
	<array> 
		<string>CsmVideoDxe-64.efi</string> 
		<string>DataHubDxe-64.efi</string> 
	</array> 
	<key>RtVariables</key> 
	<dict> 
		<key>MountEFI</key> 
		<true/> 
		<key>LogLineCount</key> 
		<integer>3000</integer> 
		<key>LogEveryBoot</key> 
		<string>Yes</string> 
	</dict> 
	<key>GUI</key> 
	<dict> 
		<key>Theme</key> 
		<string>metal</string> 
		<key>Timeout</key> 
		<integer>5</integer> 
		<key>DefaultBootVolume</key> 
		<string>SnowHD</string> 
		<key>DebugLog</key> 
		<false/> 
		<key>Mouse</key> 
		<dict> 
			<key>Enabled</key> 
			<false/> 
			<key>Speed</key> 
			<integer>0</integer> 
		</dict> 
		<key>Volumes</key> 
		<dict> 
			<key>Legacy</key> 
			<string>First</string> 
			<key>Hide</key> 
			<array> 
				<string>VOLUME_NAME</string> 
				<string>VOLUME_UUID</string> 
				<string>TODO_HIDE_VOLUME_BY_TYPE/GROUP</string> 
			</array> 
		</dict> 
		<key>HideEntries</key> 
		<dict> 
			<key>OSXInstall</key> 
			<false/> 
			<key>Recovery</key> 
			<false/> 
			<key>Duplicate</key> 
			<false/> 
			<key>WindowsEFI</key> 
			<false/> 
			<key>Grub</key> 
			<false/> 
			<key>Gentoo</key> 
			<false/> 
			<key>Ubuntu</key> 
			<false/> 
			<key>OpticalUEFI</key> 
			<false/> 
			<key>InternalUEFI</key> 
			<true/> 
			<key>ExternalUEFI</key> 
			<false/> 
		</dict> 
	</dict> 
	<key>PCI</key> 
	<dict> 
		<key>USBInjection</key> 
		<true/> 
		<key>USBFixOwnership</key> 
		<true/> 
		<key>InjectClockID</key> 
		<true/> 
	</dict> 
	<key>SystemParameters</key> 
	<dict> 
		<key>boot-args</key> 
		<string>-v npci=0x2000 slide=0</string> 
		<key>prev-lang:kbd</key> 
		<string>en:0</string> 
		<key>InjectSystemID</key> 
		<true/> 
		<key>LegacyBoot</key> 
		<string>PBR</string> 
		<key>InjectKexts</key> 
		<true/> 
		<key>NoCaches</key> 
		<false/> 
	</dict> 
	<key>Graphics</key> 
	<dict> 
		<key>InjectATI</key> 
		<false/> 
		<key>InjectIntel</key> 
		<false/> 
		<key>InjectNVidia</key> 
		<false/> 
		<key>PatchVBios</key> 
		<false/> 
	</dict> 
</dict> 
</plist>
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

Rozdział 6. Przykładowe patche kextów


24.06.2013 - pierwsza publikacja


Aby uniknąć podmiany kextów w systemie bądź używania LegacyKextów można zastosować patchowanie kextów w locie, poniżej kilka przykładów.
 

    <key>KernelAndKextPatches</key> 
    <dict> 
        <key>KextsToPatch</key> 
        <array> 
            < --Naprawa żółtych ikon dysków twardych--> 
            <dict> 
                <key>Find</key> 
                <data> 
                RXh0ZXJuYWw= 
                </data> 
                <key>Name</key> 
                <string>AppleAHCIPort</string> 
                <key>Replace</key> 
                <data> 
                SW50ZXJuYWw= 
                </data> 
            </dict> 
            < -- Aktywacja TRIMu UWAGA ! Włączenie trimu może powodować brak automatycznego montowania dysków zewnętrznych po rebootcie (przynajmniej tych na USB 3.0). Problem dotyka Maców jak i Hacków. --> 
            <dict> 
                <key>Find</key> 
                <data> 
                QVBQTEUgU1NEAA== 
                </data> 
                <key>Name</key> 
                <string>IOAHCIBlockStorage</string> 
                <key>Replace</key> 
                <data> 
                AAAAAAAAAAAAAA== 
                </data> 
            </dict> 
            < -- Aktywowanie USB 3.0 innych producentów niż Intel (NEC, ASMedia, VIA) - NIe DZIAŁA NA 10.9 Mavericks ! --> 
            <dict> 
                <key>Name</key> 
                <string>AppleUSBXHCI</string> 
                <key>Find</key> 
                <data>dVs=</data> 
                <key>Replace</key> 
                <data>61s=</data> 
            </dict> 
            <dict> 
                <key>Name</key> 
                <string>AppleUSBXHCI</string> 
                <key>Find</key> 
                <data>Zj0AAQ==</data> 
                <key>Replace</key> 
                <data>Zj0AAA==</data> 
            </dict> 
            <dict> 
                <key>Name</key> 
                <string>AppleUSBXHCI</string> 
                <key>Find</key> 
                <data>gUkIAABAAA==</data> 
                <key>Replace</key> 
                <data>gUkIAAAAAA==</data> 
            </dict> 
            <dict> 
                <key>Name</key> 
                <string>AppleUSBXHCI</string> 
                <key>Find</key> 
                <data>QcdEJAgAAEAA</data> 
                <key>Replace</key> 
                <data>QcdEJAgAAAAA</data> 
            </dict> 
            <dict> 
                <key>Name</key> 
                <string>AppleUSBXHCI</string> 
                <key>Find</key> 
                <data>QcdGCAAAQAA=</data> 
                <key>Replace</key> 
                <data>QcdGCAAAAAA=</data> 
            </dict> 
            <dict> 
                <key>Name</key> 
                <string>AppleUSBXHCI</string> 
                <key>Find</key> 
                <data>xoDIAAAAAQ==</data> 
                <key>Replace</key> 
                <data>xoDIAAAAAA==</data> 
            </dict> 
            <dict> 
                <key>Name</key> 
                <string>AppleUSBXHCI</string> 
                <key>Find</key> 
                <data>dSZIi7voAQAA</data> 
                <key>Replace</key> 
                <data>6yZIi7voAQAA</data> 
            </dict> 
            < -- Wyłączenie obsługi ECC, konieczne jeśli komputer nie chce się uruchomić na identyfikacji MacPro4,1 oraz 5,1--> 
            <dict> 
                <key>Name</key> 
                <string>AppleTyMCEDriver</string> 
                <key>Find</key> 
                <data>cgoATWFjUHJvNCwxAE1hY1BybzUsMQBY</data> 
                <key>Replace</key> 
                <data>cgoAAAAAAAAAAAAAAAAAAAAAAAAAAABY</data> 
            </dict> 
        </array> 
    </dict>
Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystanie z tej witryny, wymaga zakceptowanie naszych warunków Warunki użytkowania.