Skip to content
This repository has been archived by the owner on May 17, 2020. It is now read-only.

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrey1970AppleLife authored Jan 12, 2020
1 parent a5ad005 commit 1609a74
Showing 1 changed file with 0 additions and 15 deletions.
15 changes: 0 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,6 @@ Open source apfs.efi loader based on reverse-engineered Apple's ApfsJumpStart dr
## VBoxHfs
This driver, based on [VBoxHfs](https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/VBoxPkg/VBoxFsDxe) from [VirtualBox OSE](https://www.virtualbox.org) project driver, implements HFS+ support with bless extensions. Commit history can be found in [VBoxFsDxe](https://github.com/nms42/VBoxFsDxe) repository. Note, that unlike other drivers, its source code is licensed under GPLv2.

## VerifyMsrE2
Certain firmwares fail to properly initialize 0xE2 MSR register (`MSR_BROADWELL_PKG_CST_CONFIG_CONTROL`) across all the cores. This application prints 0xE2 values of all the cores and reports 0xE2 status. The notable example of desyncrhonised 0xE2 MSR registers are several GIGABYTE UEFI firmwares for Intel 100 Series and Intel 200 Series chipsets.

CFG Lock option is available on most APTIO V firmwares, although it may be hidden from the GUI. If VerifyMsrE2 reports that your 0xE2 register is consistently locked, you may try to unlock this option directly.

1. Download [UEFITool](https://github.com/LongSoft/UEFITool/releases) and [IFR-Extractor](https://github.com/LongSoft/Universal-IFR-Extractor/releases).
2. Open your firmware image in UEFITool and find `CFG Lock` unicode string. If it is not present, your firmware does not support this and you should stop.
3. Extract the Setup.bin PE32 Image Section that UEFITool found via Extract Body.
4. Run IFR-Extractor on the extracted file (e.g. `./ifrextract Setup.bin Setup.txt`).
5. Find `CFG Lock, VarStoreInfo (VarOffset/VarName):` in `Setup.txt` and remember the offset right after it (e.g. `0x123`).
6. Download and run a [modified GRUB Shell](http://brains.by/posts/bootx64.7z), thx to [brainsucker](https://geektimes.com/post/258090/) for the binary. A more up to date version may be found in [grub-mod-setup_var](https://github.com/datasone/grub-mod-setup_var) repo.
7. Enter `setup_var 0x123 0x00` command, where `0x123` should be replaced by your actual offset and reboot.

**WARNING**: variable offsets are unique not only to each motherboard but even to its firmware version. Never ever try to use an offset without checking.

## Credits
- [Brad Conte](https://github.com/B-Con) for Sha256 implementation
- [Chromium OS project](https://github.com/chromium) for Rsa2048Sha256 signature verification implementation
Expand Down

0 comments on commit 1609a74

Please sign in to comment.