1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Clover

25 авг 2016
Clover
  • Основная тема от автора и готовые установщики Clover здесь.
    При первом использовании для вашего же блага не нужно делать никаких изменений, не лезьте в терминал.
    Пользуйтесь готовым инсталятором.


    УСТАРЕЛО! (open)



    Инструкция для опытных пользователей Mac OS X и *nix:
    эта инструкция для тех кто хочет максимально настроить загрузчик и умеет пользоваться терминалом.
    Вступление:
    Основные возможности (open)

    • Загрузка систем семейства Mac OS X 10.4 - 10.8.
    • Загрузка систем Windows EFI и Linux EFI (в стадии отладки).
    • Загрузка LegacyOS (Windows XP, Linux, DOS).
    • Поддержка RuntimeServices, что невозможно для загрузчиков предыдущих поколений.
    • Автоматическое определение используемого вами оборудования и назначение всех необходимых свойств по-умолчанию. Возможность изменить их в config.plist.
    • Перезагрузка в другую систему через панель "Загрузочный Том".
    • Назначение собственного UUID в config.plist. Полное соответствие прописанного, увиденному в системе.
    • Обновленный SMBIOS до версии 2.6.
    • Обновленный ACPI до версии 4.0. Ваш DSDT может быть подгружен с раздела с которого вы будете производить загрузку или из диреторий самого загрузчика.
    • Загрузка следующих ACPI таблиц(SSDT-xx, APIC, BOOT, SLIC, SLIT, SRAT, UEFI…).
    • Назначение адреса и значения для регистра, отвечающего за возможность перезагрузки, через config.plist.
    • Сон/Пробужение системы.
    • Принудительное назначение PCIRootUID в config.plist.
    • Инжекция видеокарт ATI и NVIDIA, а так же наличие "ручной настройки" через config.plist.
    • Патч USB (LegacyOff, Ownership, Builtin, clock-id) до версии USB 3.0.
    • Инжектирование свойств HDA.
    • Инжектирование свойства Ethernet builtin.
    • Поддержка CPU Turbo на уровне загрузчика.
    • Генерация P- & C-стейтов для вашего процессора.
    • Подгрузка кекстов из директории загрузчика.
    • Исправлени ошибки FireWire (security mode).
    • Загрузка выбраного тома по timeout.
    • Ручная настройка графического интерфейса: поддержка тем, значков, шрифтов.
    • Поддержка национальных языков.
    • Сохрание скриншотов GUI по нажатию клавиши F10.
    • Сохранение boot.log и preboot.log из GUI по нажатию клавиши F2.


    0. Загрузка
    Получение бинарной копии Clover (open)


    I. Установка
    Установка на EFI раздел флешки с таблицей разделов GPT (open)

    1. Берем флешку, в моем случае это Transcend 32GB, вставляем ее в ваш USB порт, и идем в дисковую утилиту.
    [​IMG]

    2. Выбираем пункт во вкладках "Раздел Диска".
    [​IMG]

    3. Выбираем необходимое количество разделов.
    [​IMG]

    4. Именуем разделы, выставляем необходимый вам размер разделов.
    [​IMG]

    5. Жмем кнопку параметры, и выбираем схему разделов GUID.
    [​IMG]

    6. Идем в терминал, и даем команду "diskutil list", смотрим номер раздела, на который будем устанавливать загрузчик.
    В моем случае это раздел EFI на флешке, он же - disk1s1.
    [​IMG]

    7. Скачиваем архив кловера, выглядеть он будет следующим образом:
    [​IMG]

    8. Далее идет установка самого кловера. И первое, что нужно сделать, это из архива перенести папку bootsector на рабочий стол.
    В ней есть три файла: boot0, boot1f32 (для FAT32- наш случай), boot1h (для HFS+ - рассмотрим позднее)
    Запускаем териминал, и выполняем следующее
    Код:

    cd ~/Desktop/BootSectors
    sudo fdisk -f boot0 -u -y /dev/rdiskD
    sudo dd if=/dev/rdiskDs1 count=1 bs=512 of=origbs
    sudo cp boot1f32 newbs
    sudo dd if=origbs of=newbs skip=3 seek=3 bs=1 count=87 conv=notrunc
    sudo dd if=newbs of=/dev/rdiskDs1 count=1 bs=512
    Выгладеть все должно вот так:
    [​IMG]

    8.1 Господа, прошу обратить внимание на то, что у меня схема разделов в примере GUID, и нет ни одного раздела в FAT32 кроме самого EFI. Если же вы решите оставить MBR и отформатировать всю флешку в FAT32 то вам может потребоваться для успешного старта загрузчика сделать раздел активным (этот случай будет рассмотрен ниже).
    8.2 Монтируем раздел, на который только что установили загрузочный сектор
    Код:

    sudo mkdir /Volumes/EFI/
    sudo mount_msdos /dev/diskDsP/ /Volumes/EFI/
    [​IMG]

    9. Копируем на только что смонтированный раздел файлы кловера из архива.
    Все это должно выглядеть следующим образом:
    [​IMG]

    10. По файлам (основное, с остальным разберемся в процессе):

    Сам Clover лежит в корне раздела EFI с именем файла BOOT
    /Volumes/EFI/BOOT

    DSDT кладется в
    /Volumes/EFI/EFI/acpi/patched/DSDT.aml

    GUI Clover'а CLOVERX64.efi основанный на rEFIt находится в
    /Volumes/EFI/EFI/BOOT/CLOVERX64.efi

    Настройка всех параметров Clover производится в
    /Volumes/EFI/EFI/config.plist
    Здесь приведен старый вариант этого файла, но сути это не меняет. (Далее рассмотрим новый образец и его структурe)

    для меня на данном этапе достаточно было прописать данные SMBios мак модели.
    Код:

    <?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>BiosReleaseDate</key>
    <string>05/03/10</string>
    <key>BiosVendor</key>
    <string>Apple Inc.</string>
    <key>BiosVersion</key>
    <string>IM112.88Z.0057.B00.1005031455</string>
    <key>Board-ID</key>
    <string>Mac-F221BEC8</string>
    <key>CustomUUID</key>
    <string>511CE200-0000-1000-8999-010203040506</string>
    <key>DefaultBootVolume</key>
    <string>Lion</string>
    <key>Family</key>
    <string>iMac</string>
    <key>LoadVBios</key>
    <string>No</string>
    <key>Manufacturer</key>
    <string>Apple Inc.</string>
    <key>ProductName</key>
    <string>iMac11,5</string>
    <key>SerialNumber</key>
    <string>QP0441PTDNR</string>
    <key>ShowLegacyBoot</key>
    <string>No</string>
    <key>VRAM</key>
    <string>1536</string>
    <key>boot-args</key>
    <string>-v arch=x86_64 npci=0x2000</string>
    <key>prev-lang:kbd</key>
    <string>ru:0</string>
    </dict>
    </plist>

    11. В скаченном архиве:

    /Users/amoureux/Desktop/CloverV2/boot32.zip 32-битная версия кловера
    /Users/amoureux/Desktop/CloverV2/BOOT64.zip 64-битная версия кловера
    /Users/amoureux/Desktop/CloverV2/EFI/BOOT/CLOVERIA32.efi GUI для 32-битной версии
    /Users/amoureux/Desktop/CloverV2/EFI/BOOT/CLOVERX64.efi GUI для 64-битной версии

    использовать либо только 32-битные версии, либо только 64-битные.

    12. Итог всему написаному:

    [​IMG] [​IMG]


    II. Настройка
    Как исправить DSDT cпомощью Clover (open)

    Добавте дополнительные строчки в секцию ACPI, файла /EFI/config.plist:

    Код:
    <key>FixDsdtMask</key>
    <string>0xFFFF</string>
    Удалите /EFI/ACPI/patched/DSDT.aml если получаете панику ядра.
    Все значения масок показыны ниже. Для хорошей работы некоторых патчей нужен метод DTGP (0x0001).

    Маски 0x00FF:
    Код:
    0000 0000 0000 0001 = 0x0001 = FIX_DTGP
    0000 0000 0000 0010 = 0x0002 = FIX_WARNING
    0000 0000 0000 0100 = 0x0004 = FIX_SHUTDOWN
    0000 0000 0000 1000 = 0x0008 = FIX_MCHC
    0000 0000 0001 0000 = 0x0010 = FIX_HPET
    0000 0000 0010 0000 = 0x0020 = FIX_LPC
    0000 0000 0100 0000 = 0x0040 = FIX_IPIC
    0000 0000 1000 0000 = 0x0080 = FIX_SBUS
    Маски 0xFF00:
    Код:
    0000 0001 0000 0000 = 0x0100 = FIX_DISPLAY
    0000 0010 0000 0000 = 0x0200 = FIX_IDE
    0000 0100 0000 0000 = 0x0400 = FIX_SATA
    0000 1000 0000 0000 = 0x0800 = FIX_FIREWIRE
    0001 0000 0000 0000 = 0x1000 = FIX_USB
    0010 0000 0000 0000 = 0x2000 = FIX_LAN
    0100 0000 0000 0000 = 0x4000 = FIX_WIFI
    1000 0000 0000 0000 = 0x8000 = FIX_HDA
    Как использовать исправления DSDT:
    Код:
    0000 0000 1111 1111 = 0x00FF = Включение исправления по маске: бит(0) ~ бит(7).
    1111 1111 0000 0000 = 0xFF00 = Включение исправления по маске: бит(8) ~ бит(15). Нужно включить метод DTGP (0xFF01) в первую очередь.
    Вы можете исправить DSDT для одной функции. Нужен метод DTGP для работы без DSDT.aml.
    Код:
    0000 0000 0000 1001 = 0x0009 = DTGP + MCHC
    0000 0000 0010 0001 = 0x0021 = DTGP + LPC
    0000 0000 1000 0001 = 0x0081 = DTGP + SBUS
    0000 0001 0000 0001 = 0x0101 = DTGP + DISPLAY
    0000 0010 0000 0001 = 0x0201 = DTGP + IDE
    0000 0100 0000 0001 = 0x0401 = DTGP + SATA
    0000 1000 0000 0001 = 0x0801 = DTGP + FIREWIRE
    0001 0000 0000 0001 = 0x1001 = DTGP + USB
    0010 0000 0000 0001 = 0x2001 = DTGP + LAN
    0100 0000 0000 0001 = 0x4001 = DTGP + WIFI
    1000 0000 0000 0001 = 0x8001 = DTGP + HDA
    Или исправить DSDT для нескольких функций. Нужен метод DTGP для работы без DSDT.aml.
    Код:
    0000 0101 0000 0001 = 0x0501 = DTGP + DISPLAY + SATA
    0011 0001 0000 0001 = 0x3101 = DTGP + DISPLAY + USB + LAN
    1011 0101 0000 0001 = 0xB501 = DTGP + DISPLAY + SATA + USB + LAN + HDA
    Для удобста подсчета можно использовать стандартный приложение "Калькулятор".
    [​IMG]


    III. Сборка Clover
    Сборка Clover вручную (open)
    Для сборки нужно иметь Command Line Tools for Xcode - Скачать
    Начало
    Код:
    cd
    mkdir src
    cd src
    curl - -C -L -O ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.4.tar.bz2
    curl - -C -L -O ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.1.0.tar.bz2
    curl - -C -L -O http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz
    HFSPlus.efi.zip - скачиваем вручную
    Код:
    cp ~/Downloads/HFSPlus.efi.zip ./
    svn co https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2 edk2
    cd edk2
    svn co https://cloverefiboot.svn.sourceforge.net/svnroot/cloverefiboot Clover
    make -C BaseTools/Source/C
    cd Clover
    cp ~/src/HFSPlus.efi ~/src/edk2/Clover/HFSPlus/Ia32/HFSPlus.efi
    cp ~/src/HFSPlus64.efi ~/src/edk2/Clover/HFSPlus/X64/HFSPlus.efi
    ./cbuild.sh -xcode -ia32 -release
    Этот скрипт создает Clover32, но он нужен также и для того, чтобы EDK2 сконфигурировалась. Теперь мы эту конфигурацию должны скорректировать.

    Библиотеки
    Код:
    cd ~/src/gmp-5.0.4
    mkdir build
    cd build
    ../configure --prefix=/opt/local
    make
    sudo make install
    cd ~/src/mpfr-3.1.0
    mkdir build
    cd build
    ../configure --prefix=/opt/local --with-gmp=/opt/local
    make
    sudo make install
    cd ~/src/mpc-0.9
    mkdir build
    cd build
    ../configure --prefix=/opt/local --with-gmp=/opt/local --with-mpfr=/opt/local
    make
    sudo make install
    Компилирование компилятора gcc-4.6.2 x64-linux-gnu.
    Код:
    cp ~/src/edk2/Clover/mingw-gcc-build.py ~/src/edk2/BaseTools/gcc/
    cd ~/src/edk2/BaseTools/gcc/
    ./mingw-gcc-build.py --arch=x64
    Конфигурационные файлы
    Код:
    cp ~/src/edk2/Clover/build_rule.txt ~/src/edk2/Conf/
    cp ~/src/edk2/Clover/tools_def.txt ~/src/edk2/Conf/
    cp ~/src/edk2/Clover/MdeModulePkg.dec ~/src/edk2/MdeModulePkg/MdeModulePkg.dec
    Сборка Clover64 и rEFIt
    Код:
    cd ~/src/edk2/Clover/
    ./cbuild.sh -gcc46 -x64 -release
    cd rEFIt_UEFI/
    ./build64.sh
    В папке
    Код:
    ~/src/edk2/Build
    находятся результаты сборки


    Сборка Clover спомощью CloverGrowerV1.5 (open)

    Для работы нужен XCode и Command Line Tools.
    1. Скачиваем CloverGrowerV1.5.zip
    2. Распаковываем в домашнюю папку
    3. Открываем Терминал
    4. Вводим cd CloverGrowerV1.5
    5. И ./CloverGrower.sh
    6. Жмем Enter (создается ссылка для команды "clover")
    7. Нажмаем p (так лучше)
    8. Дальше действуем по инструкции
    Источник: пост STLVNUB


    VI. Прочее
    Темы оформления (open)



    DarwinDumper (open)

    Эта программа нужна сбора различной технической информации Mac OS X которая помогает тестированию Clover.
    DarwinDumper_v1.2z.zip
fmmixa64, alex199824, abz и 7 другим нравится это.