diff options
author | Gunnar Beutner <gbeutner@serenityos.org> | 2021-07-10 00:53:28 +0200 |
---|---|---|
committer | Gunnar Beutner <gunnar@beutner.name> | 2021-07-10 23:24:45 +0200 |
commit | 9026dbbfd6a1bcbd842ff7f3eb3b2575c1d1fa68 (patch) | |
tree | 71d4a09ca2c777c631e05246d20ec1bb3c8f8740 /Documentation/BuildInstructionsMacOS.md | |
parent | 9780cdfb339a6ae9d0db99ac240cf5cb51c4da4c (diff) | |
download | serenity-9026dbbfd6a1bcbd842ff7f3eb3b2575c1d1fa68.zip |
Documentation: Reorganize the build documentation
Diffstat (limited to 'Documentation/BuildInstructionsMacOS.md')
-rw-r--r-- | Documentation/BuildInstructionsMacOS.md | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Documentation/BuildInstructionsMacOS.md b/Documentation/BuildInstructionsMacOS.md new file mode 100644 index 0000000000..a774bcb787 --- /dev/null +++ b/Documentation/BuildInstructionsMacOS.md @@ -0,0 +1,51 @@ +# Setting up a development environment on macOS + +# Prerequisites + +This installation guide assumes that you have Homebrew, Xcode and `xcode-tools` installed. + +Make sure you also have all the following dependencies installed: + +```console +# core +brew install coreutils qemu bash gcc@10 ninja cmake ccache rsync + +# (option 1) fuse + ext2 +brew install e2fsprogs m4 autoconf automake libtool +brew install --cask osxfuse +Toolchain/BuildFuseExt2.sh + +# (option 2) genext2fs +brew install genext2fs +``` + +Notes: + +- Installing osxfuse for the first time requires enabling its system extension in System Preferences and then restarting + your machine. The output from installing osxfuse with brew says this, but it's easy to miss. + +## Hardware acceleration on macOS Big Sur + +If you are on macOS Big Sur, you will need to manually enable QEMU's hardware acceleration before running Serenity, by +creating a new file called `entitlements.xml` in the `Build/` folder, with the content below, and then running this +command: + +`codesign -s - --entitlements entitlements.xml --force /usr/local/bin/qemu-system-x86_64` + +<details> +<summary>Content for 'entitlements.xml'.</summary> + +```xml +<?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>com.apple.security.hypervisor</key> + <true/> +</dict> +</plist> +``` + +</details> + |