diff --git a/static/build.html b/static/build.html index 516bda77..18ac3874 100644 --- a/static/build.html +++ b/static/build.html @@ -404,6 +404,9 @@ cd ../..

Prebuilts are provided for all the officially supported devices, so this step is optional.

+

Instructions for 4th and 5th generation Pixels need to be rewritten for Android 13

+ + -

As part of the hardening in GrapheneOS, it uses fully monolithic kernel builds with - dynamic kernel modules disabled. This improves the effectiveness of mitigations like - Control Flow Integrity benefiting from whole program analysis. It also reduces attack - surface and complexity including making the build system simpler. The kernel trees - marked as using a separate build above need to have the device variant passed to the - GrapheneOS kernel build script to select the device. Due to the added level of - complexity added by GKI kernels, we currently do not produce monolithic builds for - 6th generation Pixel devices.

+

For example, for 6th generation Pixels:

-

The kernel repositories use submodules for building in out-of-tree modules. - You need to make sure the submodule sources are updated before building. In - the future, this should end up being handled automatically by - repo. There's no harm in running the submodule commands for other - devices as they will simply not do anything.

- -

For example, to build the kernel for redfin:

- -
cd kernel/google/redbull
-git submodule sync
-git submodule update --init --recursive
-./build.sh redfin
- -

For the Pixel 6 and Pixel 6 Pro, you need a separate repo source tree for - building the kernel:

- -
mkdir kernel-raviole
-cd kernel-raviole
-repo init -u https://github.com/GrapheneOS/kernel_raviole-manifest.git -b 12.1
+                    
mkdir android/kernel/raviole
+cd android/kernel/raviole
+repo init -u https://github.com/GrapheneOS/kernel_raviole-manifest.git -b 13
 repo sync -j16

To build the Pixel 6 and Pixel 6 Pro kernel:

-
LTO=full BUILD_KERNEL=1 ./build_slider.sh
+
KBUILD_BUILD_VERSION=1 KBUILD_BUILD_USER=grapheneos KBUILD_BUILD_HOST=grapheneos KBUILD_BUILD_TIMESTAMP="Thu 01 Jan 1970 12:00:00 AM UTC" LTO=full BUILD_KERNEL=1 ./build_slider.sh

To build the Pixel 6a kernel:

-
LTO=full BUILD_KERNEL=1 ./build_bluejay.sh
+
KBUILD_BUILD_VERSION=1 KBUILD_BUILD_USER=grapheneos KBUILD_BUILD_HOST=grapheneos KBUILD_BUILD_TIMESTAMP="Thu 01 Jan 1970 12:00:00 AM UTC" LTO=full BUILD_KERNEL=1 ./build_bluejay.sh

You need to replace the files in the GrapheneOS source tree at device/google/raviole-kernel with the output from your kernel