Giter Site home page Giter Site logo

toshiba-satellite-s50b-macos-opencore's Introduction

[WIP] Toshiba Satellite S50B-N-15 macOS - OpenCore

This repository contains scripts and ACPI patches for Toshiba Satellite S50B-N-15 (maybe and some others in the same series) to get macOS installed and running.

Supported Models

Toshiba Satellite S50B-N-15

Hardware

Type Name
CPU Intel i5-5200U 2.20GHz/3MB
RAM Samsung DDR3 1600MHz 16GB (2 x 8GB)
GPU Intel HD Graphics 5500 / ATI R7 M265 (Disabled)
SSD Samsung 860 EVO 500GB
Sound card Conexant CX20756
Wireless card DW1560

Prerequisites

BIOS/UEFI settings

Change the following settings before you boot into the macOS installer:

  • Exit → System Defaults [F9]: Yes
  • Security → Secure Boot: Disabled
  • Power Managements → Wake Up LAN: Disabled
  • Power Managements → Wake On Keyboard: Disabled
  • Power Managements → Critical Battery Wake Up: Enabled
  • Power Managements → Panel Open Power On: Disabled
  • Power Managements → Power On By AC: Disabled
  • Power Managements → Dynamic CPU Frequency Mode: Dynamic Switch
  • Power Managements → Intel Turbo Boost: Enabled
  • Power Managements → SATA Interface Technology: Performance
  • Advanced → USB Power in Sleep Mode: Disabled
  • Advanced \ System Configuration → Boot Mode: UEFI Boot

Patching BIOS

Since macOS Yosemite, Apple raised the minimum stolen memory in the AppleIntelBDWGraphicsFramebuffer binary. Kernel panic will happen if the DVMT pre-allocated memory in BIOS settings is lower than 66MB and the default value of DVMT pre-allocated memory in most laptops BIOS is 32MB. However on laptops, the DVMT pre-allocated value can't be changed through BIOS so you have to patch it by following the steps below.

  1. Prepare USB with EFI Shell

    • Download EFI shell.
    • Format it in FAT32 filesystem.
    • Copy BOOT folder to your USB stick.
  2. Dump current BIOS file

    • Download Universal BIOS Backup Toolkit (Windows version only).
    • Run it as an ADMIN.
    • Press READ.
    • Wait until it has finished.
    • Press BACKUP and save it as BIOS.rom.
  3. Extract SETUP Binary file

    • Download UEFITools.
    • Open the BIOS file that you saved previously.
    • Find the module labeled with SetupUtility and extract the PE32 image section in this module as a binary file.
  4. Convert SETUP Binary file to plain text

    • Download Universal IFR Extractor (Windows version only).
    • Open the Universal IFR Extractor and load the binary file you just extracted from UEFITools.
    • Click EXTRACT to save the BIOS settings in plain text format.
  5. Find DVMT variable and value

    • Open the extracted SetupIFR.txt and find the keyword "DVMT".
    • Mark down the DVMT variable and 96MB value. Example: variable=0x18C and value=0x3.
  6. Boot into EFI Shell

    • Reboot system.
    • Plug USB.
    • Boot into EFI Shell.
  7. Change DVMT value

    • Type in EFI Shell: setup_var variable value. Replace variable and value with the DVMT variable and value you found above.
    • Reboot system.

Install

To start, the developer tools must be installed, if you don't have them already. Run Terminal, and type:

git

You will be prompted to install the developer tools. Since you have internet working, you can choose to have it download and install them automatically. Do that before continuing. After the developer tools are installed, we need to make a copy of the project on github.

In Terminal:

mkdir ~/Projects
cd ~/Projects
git clone https://github.com/STiXzoOR/Toshiba-Satellite-S50B-macOS-OpenCore s50b.git
cd s50b.git

To download the kexts & tools, in Terminal:

./wizard.sh --download-requirements

To install everything, in Terminal:

./wizard.sh --install-downloads

To install the pre-configured config.plst to EFI, in Terminal:

./wizard.sh --install-config

To finish the setup, we need a correctly patched ACPI, in Terminal:

cd ~/Projects/s50b.git
make
make install

Credits

LICENSE

  • This project is licensed under the MIT License - see the LICENSE file for details.

toshiba-satellite-s50b-macos-opencore's People

Contributors

stixzoor avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.