Last active
December 27, 2022 02:32
-
-
Save shinyquagsire23/291a16f1b5fa3b555f8a9da7692b72ce to your computer and use it in GitHub Desktop.
Surface Go ChromeOS - Jan 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Based somewhat on http://www.nicholasmelnick.com/2019/02/installing-chromeos-on-surface-go/ | |
EDIT April 11, 2020: Happy to report that a lot of this isn't necessary any more! https://github.com/sebanc/brunch seems to work | |
perfectly with the Surface Go using the dual boot option and rEFInd, no adjustments needed. Even fixes autorotation, which I hadn't | |
gotten working. | |
# Get chromefy stuff | |
git clone https://github.com/imperador/chromefy.git | |
cd chromefy | |
# Download nocturn (Pixel Slate) 76 from https://cros-updates-serving.appspot.com/ | |
# Download ArnoldTheBat R76 Special from https://chromium.arnoldthebat.co.uk/index.php?dir=special&order=modified&sort=desc | |
# Extract both to the chromefy/ directory | |
# Download https://raw.githubusercontent.com/kvalo/ath10k-firmware/master/QCA6174/hw3.0/4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00051-QCARMSWP-1 | |
# to the chromefy/ directory | |
# Download http://www.killernetworking.com/support/K1535_Debian/board.bin to the chromefy/ directory | |
# Download https://drive.google.com/open?id=1ziw559MtK3FkcAac9H9KXI7U58OIHZOm to the chromefy/ directory (intel-hid.ko) | |
# Download surfacego-touchscreen and surfacego-touchscreen.conf from https://gist.github.com/shinyquagsire23/2a5b472abe3221c52b8be817d4145260 | |
# Now create the image | |
# when prompted, make sure to answer Y for the ath10k prompt and N for "leave selinux enforcing" | |
# or ARC won't be able to function | |
sudo bash croissant.sh chromiumos_image.img chromeos_12239.92.0_nocturne_recovery_stable-channel_mp.bin swtpm.tar | |
# Now, we modify the image for our drivers... | |
# Please don't run this without reading what it is doing, the loop device may be different. | |
mkdir -p image_root | |
sudo losetup --show -fP chromiumos_image.img | |
sudo mount -o loop,rw /dev/loop0p3 image_root | |
# now, remove the old board/firmware and copy in the new one | |
sudo rm image_root/lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin | |
sudo rm image_root/lib/firmware/ath10k/QCA6174/hw3.0/board.bin | |
sudo rm image_root/lib/firmware/ath10k/QCA6174/hw3.0/firmware-6.bin | |
sudo cp firmware-6.bin_WLAN.RM.4.4.1-00051-QCARMSWP-1 image_root/lib/firmware/ath10k/QCA6174/hw3.0/firmware-6.bin | |
sudo cp board.bin image_root/lib/firmware/ath10k/QCA6174/hw3.0/board.bin | |
# adjust the driver options... | |
echo "options ath10k_core skip_otp=yto" > ath10k.conf | |
sudo cp ath10k.conf image_root/etc/modprobe.d/ath10k.conf | |
# copy in the power button driver and set it to load | |
# it's possible that this doesn't actually work like this, if it doesn't | |
# just make sure to `sudo depmod -a` at some point | |
sudo cp intel-hid.ko image_root/lib/modules/4.14.120/kernel/drivers/platform/x86/ | |
sudo echo "intel-hid " >> image_root/etc/modules | |
# The touchscreen will lag and produce tabs instead of swipes | |
# by default, these scripts fix the power management every time | |
# the tablet is suspended and returns from suspension to prevent that | |
sudo cp surfacego-touchscreen image_root/usr/sbin/surfacego-touchscreen | |
sudo chmod +x image_root/usr/sbin/surfacego-touchscreen | |
sudo cp surfacego-touchscreen.conf image_root/etc/init/surfacego-touchscreen.conf | |
# unmount and remove the loop device | |
sudo umount image_root | |
sudo losetup -d /dev/loop0 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment