Forked from geohot/gist:569e9e4b20fd41203d8da71c6022be15
Last active
May 3, 2022 19:59
-
-
Save danielkucera/a546709303ecdec0af53f3c55177119a to your computer and use it in GitHub Desktop.
instructions to install openpilot on a pixel 3 running android 9
This file contains 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
# instructions to install openpilot on a pixel 3 | |
# enter fastboot with power + volume down | |
# make sure bootloader is unlocked | |
# make sure modern version of android platform tools is installed | |
mkdir pixel | |
wget https://dl.google.com/dl/android/aosp/blueline-pq3a.190801.002-factory-f3d66c49.zip | |
unzip blueline-pq3a.190801.002-factory-f3d66c49.zip | |
cd blueline-pq3a.190801.002/ | |
./flash-all.sh | |
# wait for boot, click through setup, enable adb as usual for android | |
cd ../ | |
wget https://github.com/termux/termux-app/releases/download/v0.118.0/termux-app_v0.118.0+github-debug_arm64-v8a.apk | |
wget https://github.com/topjohnwu/Magisk/releases/download/v24.2/Magisk-v24.2.apk | |
adb install termux-app_v0.118.0+github-debug_arm64-v8a.apk | |
adb install Magisk-v24.2.apk | |
unzip -p blueline-pq3a.190801.002/image-blueline-pq3a.190801.002.zip boot.img > boot.img | |
adb push boot.img /sdcard/Download/ | |
# use magisk app to patch boot.img | |
adb pull /sdcard/Download/magisk_patched-24200_V7Jgg.img | |
adb reboot bootloader | |
fastboot flash boot magisk_patched-24200_V7Jgg.img | |
fastboot reboot | |
# your phone is now rooted, this builds and installs the userspace | |
# TODO: factor build_usr out of this repo | |
git clone [email protected]:commaai/eon-neos-builder.git | |
cd eon-neos-builder/devices/eon/build_usr/ | |
./install.py | |
./finish.sh | |
cp -pRv ../home out/data/data/com.termux/files/ | |
cd out/data/data/com.termux/files/ | |
tar zcvf userspace.tar.gz home usr | |
adb push userspace.tar.gz /sdcard/Download/ | |
adb shell | |
# now we are on the phone | |
su | |
cd /data/data/com.termux/ | |
mkdir files && cd files | |
tar xvf /sdcard/Download/userspace.tar.gz | |
mount -o remount,rw / | |
ln -s /data/data/com.termux/files/usr /usr | |
exit | |
# enter the new userspace (reuse later) | |
su -c 'HOME=/data/data/com.termux/files/home PATH="/data/data/com.termux/files/usr/bin:/bin" LD_LIBRARY_PATH="/data/data/com.termux/files/usr/lib" bash' | |
mkdir -p tmp && mount -t tmpfs -o size=2048M tmpfs /tmp | |
cd ~ | |
tmux | |
# additional setup | |
apt-get update | |
apt-get install gawk findutils | |
chmod 644 /data/data/com.termux/files/home/.ssh/config | |
chown root:root /data/data/com.termux/files/home/.ssh/config | |
# build and install extra packages | |
# comment out line 9 from install.sh with the mount | |
# this takes about 45 minutes | |
# TODO: the binutils this builds is broken | |
# | |
# patched: /tmp/build/gcc/build/binutils-2.33.1/libiberty/../../../src/binutils-2.33.1/libiberty/floatformat.c:653: undefined reference to `frexp' | |
./install.sh | |
# enable ssh (optional) | |
sshd | |
mkdir -p /data/params/d && cat > /data/params/d/GithubSshKeys | |
# put your authorized key here, then on host | |
adb forward tcp:8022 tcp:8022 | |
ssh -p 8022 localhost | |
# upgrade git-lfs | |
cat "deb https://packages.termux.org/apt/termux-main/ stable main" >> /data/data/com.termux/files/usr/etc/apt/sources.list | |
apt update | |
apt install git-lfs | |
# install openpilot | |
touch /EON | |
cd /data | |
git clone https://github.com/commaai/openpilot.git --recurse-submodules -b pixel3 | |
cd openpilot | |
scons -j4 | |
# two things currently don't build, the model and panda (binutils issue) | |
# HACK: for qt to talk to android 9 surfaceflinger and for locked rotation landscape | |
cp /data/openpilot/third_party/qt-plugins/aarch64/libqeglfs-surfaceflinger-integration.so /usr/libexec/qt/egldeviceintegrations/ | |
# launch! | |
./launch_openpilot.sh |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment