Skip to content

Remove unnecessary Intel(R) Bluetooth firmware files

profzei edited this page Feb 10, 2021 · 1 revision

How-to

The following steps are needed for creating a stripped version for IntelBluetoothFirmware.kext removing all unnecessary Bluetooth firmware files and therefore (maybe) speeding-up just a little the boot process:

  1. Clone the IntelBluetoothFirmware repo: git clone https://github.com/OpenIntelWireless/IntelBluetoothFirmware.git
  2. Open the folder IntelBluetoothFirmware where it's cloned to
  3. Open Xcode:
    • press File -> New -> File...
    • on the Search bar/Filter type shell and choose to create a new Shell Script file
  4. Copy the following code into it:
#!/bin/bash

# remove all local changes
git reset --hard HEAD
rm -rf build

# pull latest code
git pull

# remove generated firmware
rm IntelBluetoothFirmware/FwBinary.cpp

# remove firmware for other wifi cards - DELETE OR CHANGE TO YOUR CARD
find IntelBluetoothFirmware/fw/ -type f ! -name 'ibt-12*' -delete


# generate firmware
xcodebuild -project IntelBluetoothFirmware.xcodeproj -target fw_gen -configuration Release -sdk macosx

# build the kexts
## 1. IntelBluetoothFirmware.kext
xcodebuild -project IntelBluetoothFirmware.xcodeproj -target IntelBluetoothFirmware -configuration Release -sdk macosx

# build the kexts
## 2. IntelBluetoothInjector.kext
xcodebuild -project IntelBluetoothFirmware.xcodeproj -target IntelBluetoothInjector -configuration Release -sdk macosx

# Location of Kexts
echo "You kexts are in build/Release!!"
echo " "
  1. Save shell script as (for example) run-script.sh and place it in the root directory of the cloned IntelBluetoothFirmware folder
  2. Clone MacKernelSDK repo with the command git clone https://github.com/acidanthera/MacKernelSDK.git and place its folder inside IntelBluetoothFirmware folder
  3. Open Terminal, navigate to IntelBluetoothFirmware folder and then run the command sh run-script.sh

Done, you'll find your kexts under build/Release folder.

Clone this wiki locally