![]() |
6 years ago | |
---|---|---|
configs | b35e440028 update build config for iptables | 6 years ago |
firmware | 502a40ebad updating ipts firmware | 6 years ago |
packages | ceb316bbe8 updating libwacom package for SB2 | 7 years ago |
patches | 62f8f97613 updating wifi patch | 6 years ago |
root | f72425b324 re-purpose xorg.conf intel file as example | 6 years ago |
README.md | 9b218f9245 change method for configs | 6 years ago |
SIGNING.md | d27b67bd4d Merge pull request #288 from ArcticXWolf/signing_add_initrd_copy_for_signed_kernel | 6 years ago |
setup.sh | 7d080b10ad updating setup.sh script | 6 years ago |
Linux running on the Surface Book, Surface Book 2, Surface Go, Surface Pro 3, Surface Pro 4, Surface Pro 2017, Surface Pro 6, Surface Laptop and Surface Laptop 2. Follow the instructions below to install the latest kernel and config files.
Downloads for ubuntu based distros (other distros will need to compile from source using the included patches):
https://github.com/jakeday/linux-surface/releases
You will need to download the image, headers and libc-dev deb files for the version you want to install.
(Prep) Install Dependencies:
sudo apt install git curl wget sed
Clone the linux-surface repo:
git clone --depth 1 https://github.com/jakeday/linux-surface.git ~/linux-surface
Change directory to linux-surface repo:
cd ~/linux-surface
Run setup script:
sudo sh setup.sh
Reboot on installed kernel.
The setup script will handle installing the latest kernel for you. You can also choose to download any version you want and install yourself: Install the headers, kernel and libc-dev (make sure you cd to your download location first):
sudo dpkg -i linux-headers-[VERSION].deb linux-image-[VERSION].deb linux-libc-dev-[VERSION].deb
If you don't want to use the pre-built kernel and headers, you can compile the kernel yourself following these steps:
(Prep) Install the required packages for compiling the kernel:
sudo apt install build-essential binutils-dev libncurses5-dev libssl-dev ccache bison flex libelf-dev
Clone the mainline stable kernel repo:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git ~/linux-stable
Go into the linux-stable directory:
cd ~/linux-stable
Checkout the version of the kernel you wish to target (replacing with your target version):
git checkout v4.y.z
Apply the kernel patches from the linux-surface repo (this one, and assuming you cloned it to ~/linux-surface):
for i in ~/linux-surface/patches/[VERSION]/*.patch; do patch -p1 < $i; done
Use config for kernel series (may need to manually change for your distro):
cp ~/linux-surface/configs/[VERSION]/config .config
Compile the kernel and headers (for ubuntu, refer to the build guide for your distro):
make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-linux-surface
Install the headers, kernel and libc-dev:
sudo dpkg -i linux-headers-[VERSION].deb linux-image-[VERSION].deb linux-libc-dev-[VERSION].deb
Please consult the SIGNING.md.
PayPal: https://www.paypal.me/jakeday42
Bitcoin: 1AH7ByeJBjMoAwsgi9oeNvVLmZHvGoQg68