Skip to content
This repository has been archived by the owner on Jun 10, 2022. It is now read-only.

Commit

Permalink
Colver更新到r4910
Browse files Browse the repository at this point in the history
  • Loading branch information
Bave Lee committed Apr 3, 2019
1 parent 24ada59 commit 61bb008
Show file tree
Hide file tree
Showing 579 changed files with 2,631 additions and 6 deletions.
Binary file renamed .DS_Store → ._BOOT 100644 → 100755
Binary file not shown.
Binary file renamed CLOVER/.DS_Store → ._CLOVER 100644 → 100755
Binary file not shown.
Binary file modified BOOT/BOOTX64.efi
Binary file not shown.
Binary file modified CLOVER/CLOVERX64.efi
Binary file not shown.
801 changes: 801 additions & 0 deletions CLOVER/OEM/SystemProductName/UEFI/config-sample.plist

Large diffs are not rendered by default.

801 changes: 801 additions & 0 deletions CLOVER/OEM/SystemProductName/config-sample.plist

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion CLOVER/config.plist
Expand Up @@ -437,7 +437,7 @@
<key>ScreenResolution</key>
<string>1920x1080</string>
<key>Theme</key>
<string>Mojave</string>
<string>FACK Mojave</string>
</dict>
<key>Graphics</key>
<dict>
Expand Down
Binary file added CLOVER/doc/HowToFixDsdt.txt
Binary file not shown.
41 changes: 41 additions & 0 deletions CLOVER/doc/HowToInstallOSX.txt
@@ -0,0 +1,41 @@


==========================================================================================================================

How to install InstallESD.dmg to GPT with 10.7.x and 10.8.x. (since rev. 480)
----------------------------------------------------------------


First, you need to Restore InstallESD.dmg to disk by using Disk Utility.

Then, follow the stage 1 and stage 2 to install 10.7.x or 10.8.x to GPT, and auto-create the Recovery HD used for iCloud.


Stage 1
---------

1.Remove kernelcache in InstallESD.dmg/Library/Preferences/SystemConfiguration/com.apple.Boot.plist.
<key>Kernel Cache</key> remove this line.
<string>xxxxxxxxxxxxx</string> remove this line.

2.Copy BaseSystem.dmg/System/Library/Extensions to partition of InstallESD.dmg and add other kexts (FakeSMC.kext).

3.Clover select to "Boot Mac OS X with extra kexts (skips cache)", and follow the installation with restart first time.


Stage 2
---------

1.Remove kernelcache in target partition's /OS X Install Data/com.apple.Boot.plist.
<key>Kernel Cache</key> remove this line.
<string>xxxxxxxxxxxxx</string> remove this line.
( 10.7.x is /Mac OS X Install Data/com.apple.Boot.plist )

2.Copy InstallESD.dmg/System/Library/CoreServices and /mach_kernel to target partition's / .

3.Copy BaseSystem.dmg/System/Library/Extensions to target partition's / and add other kexts (FakeSMC.kext).

4.Boot to "OS X Install" with "Boot Mac OS X with extra kexts (skips cache)" and finish the installation.
(10.7.x is "Mac OS X Install")

==========================================================================================================================
74 changes: 74 additions & 0 deletions CLOVER/doc/Installation.txt
@@ -0,0 +1,74 @@

Installation ( Use fdisk440 instead of fdisk )
==============================================

Install fdisk440 first :
------------------------

sudo cp fdisk440 /usr/sbin/fdisk440

fdisk440 - The Chameleon team modded the Apple's fdisk to only update the first 440 bytes in the MBR by adjusting MBR_CODE_SIZE to 0x1B8. The modded fdisk was renamed fdisk440 by Tam�s Kos�rszky on 2010-02-19 to avoid confusion between Apple's fdisk and the Chameleon fdisk.
This utility resolves Windows sleep problem.
Chameleon modded sources with explanations is here
http://forge.voodooprojects.org/p/chameleonApplications/source/tree/HEAD/trunk/fdisk.tproj

Files Install :
--------------------
- Install clover to the partition's root directory:
cp BOOT /
cp -r EFI /
sudo cp -v etc/* /etc/

Active partition installation
-----------------------------

Suppose that your partition is on /dev/disk0s2 HFS+

- Install boot0ss to the MBR:
sudo ./fdisk440 -f boot0ss -u -y /dev/rdisk0

- Install boot1h2 to the partition's bootsector:
sudo dd if=boot1h2 of=/dev/rdisk0s2

Attention! My boot1h2 differs from Chameleon's one and will works with both Clover and Chameleon. You can't use Chameleon's boot1h with Clover-64.
Use boot1h2 to boot a bootloaders boot1, boot2, boot3...

Note: dd can't change boot sector of the system partition. You should start from other partition

EFI Partition Install (FAT32) or to USB stick drive (disk1s1).
---------------------------------

Suppose that your installation is on /dev/disk0s1

- Prepare EFI partition:
sudo mkdir /Volumes/EFI
sudo mount_msdos /dev/disk0s1 /Volumes/EFI/

- Install clover to the EFI partition's root directory:
cp boot /Volumes/EFI/
sudo umount -f /Volumes/EFI/

- Install boot0ss to the MBR:
sudo fdisk440 -f boot0ss -u -y /dev/rdisk0

- Install boot1f32alt to the partition's bootsector:

sudo fdisk440 -f boot0ss -u -y /dev/rdisk0
dd if=/dev/rdisk0s1 count=1 bs=512 of=origbs
cp boot1f32alt newbs
dd if=origbs of=newbs skip=3 seek=3 bs=1 count=87 conv=notrunc
dd if=newbs of=/dev/rdisk0s1 count=1 bs=512
cp BOOT /Volumes/EFI/


USB stick installation
-----------------------
Do not reformat factory formatted stick!

sudo fdisk440 -f boot0ss -u -y /dev/rdisk1
dd if=/dev/rdisk1s1 count=1 bs=512 of=origbs
cp boot1f32alt newbs
dd if=origbs of=newbs skip=3 seek=3 bs=1 count=87 conv=notrunc
dd if=newbs of=/dev/rdisk1s1 count=1 bs=512
cp BOOT /Volumes/Kingston/
cp -r EFI /Volumes/Kingston/
265 changes: 265 additions & 0 deletions CLOVER/doc/UEFI boot with Clover.rtf
@@ -0,0 +1,265 @@
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
{\fonttbl\f0\froman\fcharset0 Times-Roman;\f1\fmodern\fcharset0 CourierNewPSMT;\f2\fmodern\fcharset0 Courier;
\f3\fnil\fcharset0 LucidaGrande;}
{\colortbl;\red255\green255\blue255;\red26\green26\blue26;\red253\green209\blue195;\red48\green75\blue109;
\red248\green252\blue253;\red255\green255\blue255;}
\paperw11900\paperh16840\margl1440\margr1440\vieww15340\viewh12400\viewkind0
\deftab720
\pard\pardeftab720\sl320\ql\qnatural

\f0\b\fs32 \cf0 UEFI boot with Clover
\b0\fs26 \
\pard\pardeftab720\sl380\ql\qnatural
\cf0 by Dmazar\
\
As a general procedure, it would be good to get standard Clover working first (BIOS MBR -> boot0->boot1->boot->CloverX64.efi) and then try direct UEFI (UEFI -> CloverX64.efi). I think this is a good path, since if you manage to get standard Clover working, then you know that things are set up properly (Clover config, SMBIOS, DSDT) and any issues that may arise in UEFI boot and UEFI specific. I'll try to summarize here what I know so far.\
\
For UEFI boot, I would recommend to first try it from FAT32 formatted USB stick.\
\
\pard\pardeftab720\sl380\ql\qnatural

\b \cf0 1. FAT32 USB stick:
\b0 \
I have mine formatted in Windows. Ordinary MBR with FAT32 partition. Now, if I understood correctly from Applelife.ru, Troj80 says {\field{\*\fldinst{HYPERLINK "http://translate.googleusercontent.com/translate_c?hl=hr&rurl=translate.google.com&sl=ru&tl=en&u=http://applelife.ru/threads/clover.32052/page-277&usg=ALkJrhiPS1lblaqIqyMzBlyocfjOebKkrA#post-289584"}}{\fldrslt \cf2 \ul \ulc2 here}} that EFI partition (which is also usually FAT32) has to be formatted with the cluster size with the value between 1K and 8K in order to be usable from UEFI. Maybe the same thing should be done with the USB stick? I did not try formatting it in OSX - will have to try. Something like:\
\pard\pardeftab720\sl380\ql\qnatural

\f1 \cf0 > newfs_msdos -F32 -b 1024 -v USBStick /dev/diskHsH
\f0 \
where /dev/diskHsH is partition on the stick.\
\
My USB stick formatted in Windows looks like this:\
\pard\pardeftab720\sl380\ql\qnatural

\b \cf0 \cb3 CODE\
\pard\pardeftab720\sl380\ql\qnatural
\f2\b0 \cf4 \cb5 > diskutil list\
/dev/disk4\
\'a0\'a0 #:\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 TYPE NAME\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0SIZE\'a0\'a0\'a0\'a0\'a0\'a0 IDENTIFIER\
\'a0\'a0 0:\'a0\'a0\'a0\'a0 FDisk_partition_scheme\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0*4.0 GB\'a0\'a0\'a0\'a0 disk4\
\'a0\'a0 1:\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 DOS_FAT_32 DUET\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a04.0 GB\'a0\'a0\'a0\'a0 disk4s1\
> newfs_msdos -N disk4s1\
512 bytes per physical sector\
/dev/rdisk4s1: 7816248 sectors in 977031 FAT32 clusters (4096 bytes/cluster)\
bps=512 spc=8 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=2 drv=0x80 bsec=7831550 bspf=7634 rdcl=2 infs=1 bkbs=6\
\pard\pardeftab720\sl380\ql\qnatural

\f0 \cf0 \cb1 \
\pard\pardeftab720\sl380\ql\qnatural

\b \cf0 2. Standard Clover install
\b0 \
This is BIOS MBR -> boot0 -> boot1xxx -> boot ->CloverX64.efi boot.\
You may skip this step and go directly to UEFI boot, but in case of any issues please go back and do this prior to asking help for UEFI boot. This is to eliminate problems with Clover installation and set up. I can try to help with UEFI boot, but It's easier and more likely to get help on standard Clover setup - ask for help in {\field{\*\fldinst{HYPERLINK "http://www.projectosx.com/forum/index.php?showtopic=2304"}}{\fldrslt \cf2 \ul \ulc2 Clover thread}}.\
\
Take the Clover installer from {\field{\*\fldinst{HYPERLINK "http://www.projectosx.com/forum/index.php?showtopic=2304"}}{\fldrslt \cf2 \ul \ulc2 here}} and set it up on FAT32 USB stick. Then edit /EFI/config.plist to suit your needs, put DSDT (and SSDTs) in /EFI/ACPI/patched folder and leave /EFI/Drivers64 empty. Do classic boot from that USB stick. When this works, move to UEFi boot.\
\

\b 3. UEFI boot
\b0 \
That USB stick should have standard Clover installation. The same stick with the same Clover files from step 2. can be used here, except some additional drivers and (U)EFI shell are needed :\
\pard\pardeftab720\sl380\ql\qnatural

\b \cf0 \cb3 CODE\
\pard\pardeftab720\sl380\ql\qnatural
\f2\b0 \cf4 \cb5 /EFI\
\'a0\'a0config.pist (or in OEM folder)\
\'a0\'a0/ACPI (or in OEM folder)\
\'a0\'a0\'a0\'a0...\
\'a0\'a0/BOOT\
\'a0\'a0\'a0\'a0BootX64.efi\
\'a0\'a0\'a0\'a0CloverX64.efi\
\'a0\'a0/DRIVERS64\
\'a0\'a0\'a0\'a0HFSPlusX64.efi (or VBoxHfs.efi)\
\'a0\'a0\'a0\'a0OsxFatBinaryDrv.efi\
\'a0\'a0\'a0\'a0OsxAptioFixDrv.efi - this one only for Aptio boards\
...\
\pard\pardeftab720\sl380\ql\qnatural

\f0 \cf0 \cb1 \
/EFI/BOOT/BootX64.efi can be:\
- copied CloverX64.efi, but if it hangs ({\field{\*\fldinst{HYPERLINK "http://www.projectosx.com/forum/index.php?showtopic=2428&st=220"}}{\fldrslt \cf2 \ul \ulc2 see here}}), then it should be shell\
- in case of UEFI v2.3 this can be UEFI Shell (also known as edk2 shell, shell2): {\field{\*\fldinst{HYPERLINK "https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/"}}{\fldrslt \cf2 \ul \ulc2 here}}\
- in case of older UEFIs, this should be older EFI shell (also known as edk1 shell or it's port to GCC called GccShell): {\field{\*\fldinst{HYPERLINK "http://sourceforge.net/projects/efi-shell/files/"}}{\fldrslt \cf2 \ul \ulc2 here}}\
\
Drivers64:\
- HFSPlusX64.efi (or VBoxHfs.efi) for HFS+ support\
- OsxFatBinaryDrv.efi for multi architecture (FatBin) binaries like boot.efi\
- OsxAptioFixDrv.efi (this one only for Aptio boards)\
\
Modify Clover's /EFI/config.plist:\
- to be able to boot Mountain Lion add slide=0 to boot-args. this option will be ignored by other version of OSX, but will (oh, may) enable ML booting. for example:\
\pard\pardeftab720\sl380\ql\qnatural

\f1 \cf0 <key>boot-args</key>\
<string>-v arch=x86_64 slide=0</string>\
\pard\pardeftab720\sl380\ql\qnatural

\f0 \cf0 \
Booting from that USB stick on my board goes like this:\
- power on\
- pressing F8 during POST screen shows boot options (like drive selection)\
- if USB stick is FAT32 and contains /efi/boot/bootx64.efi, then option "UEFI: The name of the stick" will appear as a boot option\
- selecting that option starts /efi/boot/bootx64.efi - which is shell or Clover\
\
On Aptio boards you can also put shell to the root folder as ShellX64.efi, and then can start it from UEFI Setup screen/Exit/Start shell (or something similar).\
\
If bootx64.efi is a shell, then shell will start and prompt will appear. Use the commands in 4. below to start Clover. Unless you know what you are doing and why, there is no need to load any drivers before starting Clover - Clover will load drivers from /efi/drivers64 folder when it starts.\
\
\pard\pardeftab720\sl380\ql\qnatural

\b \cf0 4. (U)EFI Shell
\b0 \
EFI shell (old shell) user guide and command manual: {\field{\*\fldinst{HYPERLINK "http://sourceforge.net/projects/efi-shell/files/documents/"}}{\fldrslt \cf2 \ul \ulc2 here}}\
\pard\pardeftab720\sl380\ql\qnatural

\f1 \cf0 > help -b
\f0 \
list shell commands\

\f1 > help <command> -b\
> help <command> -b -v
\f0 \
prints command help. in the shell2 use later version.\

\f1 > ver
\f0 \
will print UEFI version\

\f1 > map fs*
\f0 \
will list current shell file system/volume/partition mappings\

\f1 > fs0:\
> fs1:\
> fsXX:
\f0 \
changes the current volume\

\f1 > ls
\f0 \
lists files in the current directory\

\f1 > cd \\efi\\boot
\f0 \
changes the current directory\

\f1 > cloverx64.efi
\f0 \
starts clover\
\
So, find and start Clover and try to boot OSX. When you get that working, then you can install Clover to a hard disk.\
\
\pard\pardeftab720\sl380\ql\qnatural

\b \cf0 5. Install to HDD EFI partition
\b0 \
By default, UEFI can only access FAT partitions, for example EFI partition(s), so the only option is to install it to EFI partition.\
\
My EFI partition created by SnowLeo installation is FAT16. Clover works from there, but sometimes I have problems with certain files - they get short XXXX~1.yyy names. I need to try to reformat it to FAT32 as Troj80 suggested and see if this helps.\
\
Installation requires copying /EFI folder from USB stick to EFI partition and adding CloverX64.efi as a boot option.\
\
\pard\pardeftab720\sl380\ql\qnatural
\cf0 \ul \ulc0 5.1.1 copying from the shell\ulnone \
Use:\
\pard\pardeftab720\sl380\ql\qnatural

\f1 \cf0 > map fs*\
> fs0:\
> ls\
> fs1:\
...\
\pard\pardeftab720\sl380\ql\qnatural

\f0 \cf0 to identify USB volume (for example fs1) and EFI volume (for example fs0). Use:\
\pard\pardeftab720\sl380\ql\qnatural

\f1 \cf0 > fs0:\
> cd \\EFI\
> cp -r fs1:\\EFI\\* .\
> ls\
\pard\pardeftab720\sl380\ql\qnatural

\f0 \cf0 \
\pard\pardeftab720\sl380\ql\qnatural
\cf0 \ul \ulc0 5.1.2 copying from OSX\ulnone \
- open terminal\
- mount EFI partition\
\pard\pardeftab720\sl380\ql\qnatural

\f1 \cf0 > diskuti list
\f0 \
to identify EFI partition, and\

\f1 > mkdir /Volumes/efi\
> sudo mount -t msdos /dev/diskXs1 /Volumes/efi
\f0 \
to mount it (where /dev/diskXs1 is EFI partition device).\
- it should appear in Finder as EFI volume\
- then use Finder to copy whole /EFI folder to EFI volume\
- check it from terminal:\

\f1 > ls /Volumes/efi/EFI/*
\f0 \
this should list ACPI, BOOT and other Clover folders.\
\
\pard\pardeftab720\sl380\ql\qnatural
\cf0 \ul \ulc0 5.2 Add Clover as a boot option\ulnone \
On Aptio, it's not enough to rename Cloverx64.efi on HDD to BootX64.efi to enable it to start ({\field{\*\fldinst{HYPERLINK "http://www.projectosx.com/forum/index.php?showtopic=2428&st=100&p=18177&#entry18177"}}{\fldrslt \cf2 \ul \ulc2 see here}}). But it seems that's what you need to do on Gigabyte Hybrid EFI. Standard procedure for adding an OS boot option in UEFI is to add boot option variable to NVRAM - that's what is needed on Aptio.\
\
Boot options can be managed with
\f1 bcfg
\f0 command in a shell. But, this command is available only in UEFI shell (shell2) and since shell2 requires UEFI 2.3 or newer, users with older UEFI have a problem. If you are the "lucky" one with older UEFI where shell2 does not work, try with my modified shell2 from {\field{\*\fldinst{HYPERLINK "http://dl.dropbox.com/u/17629062/Shell2.zip"}}{\fldrslt \cf2 \ul \ulc2 here}}. This is not fully working port, but bcfg works and I'm using it only for boot options manipulation with bcfg.\
\
Users of UEFI 2.3 or newer can put shell2 to FAT32 USB stick as /efi/boot/bootx64.efi and just use this one. Since I need old shell for normal use and moded shell2 for bcfg, I have old shell set as /efi/boot/bootx64.efi and moded shell2 as /shellx64.efi (in the root of USB) - in this way I can press F8 during POST and choose "UEFI: stick name" to load older shell or press Del to enter UEFI Setup screens and then select Exit/Start shell to load moded shell2. Actually, I have both shells copied to HDD EFI partition and added as separate boot options, but that can be done later.\
\
Boot into shell2 (real one or moded) and find Cloverx64.efi on HDD EFI partition with some combination of the following commands:\
\pard\pardeftab720\sl380\ql\qnatural

\f1 \cf0 > map fs*\
> fs0: (or fs1: or fs2: ...)\
> ls\
> cd \\efi\\boot\
> ls\
\pard\pardeftab720\sl380\ql\qnatural

\f0 \cf0 \
And then:\
\pard\pardeftab720\sl380\ql\qnatural

\f1 \cf0 > help bcfg -b -v
\f0 \
and try to understand help from the screen\

\f1 > bcfg boot dump
\f0 \
to list current boot options\

\f1 > bcfg boot add N cloverx64.efi "OSX through Clover"
\f0 \
to add cloverx64.efi from the current dir as a boot option labeled "OSX through Clover". N should be boot option number: 0 if you wan it to be the first, 1 to be the second ...\

\f1 > bcfg boot dump
\f0 \
to check if it is added\

\f1 > reset
\f0 \
to reset the system and to try to load Clover from HDD\
\
When it is added, reset the system and press F8 during POST (or whatever key is needed to get selection of boot options) and "OSX through Clover" should be there. Select it and try if it works.\
\
\pard\pardeftab720\sl380\ql\qnatural

\b \cf0 6. Troubleshooting
\b0 \
- If you can not boot through UEFI and did not try to set it up as standard Clover boot, please try standard BIOS MBR Clover setup first. Maybe the issue is in the Clover setup and not UEFI boot.\
- When asking for help, please copy UEFIDump.nsh script to your FAT32 USB, boot into shell, choose FAT32 volume with fs0: or fs1: or ... , execute UEFIDump.nsh > dump.txt and post it here.\
\
- If you can boot into OSX but have some issues, search for latest version of DarwinDumper {\field{\*\fldinst{HYPERLINK "http://www.projectosx.com/forum/index.php?showtopic=2447"}}{\fldrslt \cf2 \ul \ulc2 here}} (usually the last post) and post it's logs here if it will be needed.\
\pard\pardeftab720\sl280\qr

\f3\fs22 \cf2 \cb6 \
}
Binary file added CLOVER/doc/bcfg.txt
Binary file not shown.

0 comments on commit 61bb008

Please sign in to comment.