Code Monkey home page Code Monkey logo

pixelmod's Introduction

logo

Pixelmod is a custom ROM for the Pixel 5 (redfin) devices, based on AOSP (Android Open Source Project) with small modification to make it usable. By this, it excludes some of the default apps and includes some other prebuilts apps like F-Droid. It's a personal project to make AOSP usable for my needs and to make the compilation of AOSP with custom changes easier.

Use at your own risk.

Modifications

  • Remove Browser2 (WebViewShell)
  • Remove Camera2
  • Remove QuickSearchBox
  • Add F-Droid Prebuilt APK
  • Remove Quick Search from Home Screen

Install

You can always obtain the latest pre-built ROM at the Release Page.

Unlock Phone

To enable OEM unlocking on the device:

  • In Settings, tap About phone, then tap Build number seven times.
  • When you see the message You are a developer, tap the back button.
  • Tap Developer options and enable OEM unlocking and USB debugging.

Turn off the phone, press and hold Volume Down, then press and hold Power.

fastboot flashing unlock

Install

fastboot update aosp_redfin-img-eng.bob.zip

Troubleshooting

You may need to flash the latest Stock ROM first, in order to take care of partitioning if another ROM was in use before. Stock ROM Download Page (Direct Download)

Compile pixelmod (AOSP)

Setup LXC Build Container (Ubuntu 18.04)

lxc-create aosp -t download -- -d ubuntu -r bionic -a amd64
sed -i "s/lxc.net.0.type = empty/lxc.net.0.type = none/g" /var/lib/lxc/aosp/config

lxc-start aosp
lxc-attach aosp

echo 'echo "nameserver 8.8.8.8" > /etc/resolv.conf' >> /root/.bashrc && exit
lxc-attach aosp

Install Dependencies

sudo apt-get update
sudo apt-get install rsync git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libncurses5 libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig python2.7 repo android-sdk-platform-tools-common vim

Prepare User

git config --global user.name "Bob Builder"
git config --global user.email "[email protected]"

Fetch AOSP Sources

Check google's build numbers to identify the best tag for pixel 5: Codenames, Tags, and Build Numbers

mkdir aosp; cd aosp
repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r27
repo sync -d -q -c -j8

Get the Binaries

The latest version of the binaries can be found on the Driver Binaries page. At the time of writing, this is RQ1A.210105.003 according to this post.

curl https://dl.google.com/dl/android/aosp/google_devices-redfin-rq1a.210105.003-53b67adf.tgz | tar xvz
./extract-google_devices-redfin.sh

curl https://dl.google.com/dl/android/aosp/qcom-redfin-rq1a.210105.003-448ee17f.tgz | tar xvz
./extract-qcom-redfin.sh

git clone https://github.com/shagu/pixelmod/ vendor/pixelmod

Configure Environment

source build/envsetup.sh
lunch aosp_redfin-userdebug
vendor/pixelmod/redfin/enable.sh

Build

m dist

Flash via flashall

Flash all images:

export ANDROID_PRODUCT_OUT=/home/lxc/aosp/rootfs/home/ubuntu/aosp/out/target/product/redfin
fastboot flashall -w

pixelmod's People

Contributors

shagu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pixelmod's Issues

`android.hardware.camera.provider` does not start

01-04 20:53:19.800  4572  4656 I ServiceManager: Waiting for service 'rlsservice' on '/dev/vndbinder'...
01-04 20:53:19.901  4572  4656 W ServiceManager: Service rlsservice didn't start. Returning NULL
01-04 20:53:19.902  4572  4656 E [email protected]: Service: Failed to get rlsservice
01-04 20:53:19.973  7299  7299 F DEBUG   : pid: 4572, tid: 4656, name: HwBinder:4572_4  >>> /vendor/bin/hw/[email protected] <<<
01-04 20:53:19.973  7299  7299 F DEBUG   : uid: 1000
01-04 20:53:19.973  7299  7299 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
01-04 20:53:19.973  7299  7299 F DEBUG   : Cause: null pointer dereference
01-04 20:53:19.973  7299  7299 F DEBUG   :     x0  0000000000000000  x1  0000000000000082  x2  b4000074ba81a3e0  x3  0000000000000003
01-04 20:53:19.973  7299  7299 F DEBUG   :     x4  0000007398d37250  x5  0000000000000020  x6  fefefefefefeff64  x7  7f7f7f7f7f7f7f7f
01-04 20:53:19.973  7299  7299 F DEBUG   :     x8  00000073c7bd6a18  x9  0000000000000001  x10 0000000000000002  x11 fffffffffffffffd
01-04 20:53:19.973  7299  7299 F DEBUG   :     x12 0000007398d37370  x13 0000000000000022  x14 0000000000000000  x15 ffffffffffffffff
01-04 20:53:19.973  7299  7299 F DEBUG   :     x16 000000765b170310  x17 000000765aa724c8  x18 0000007398480000  x19 b4000074ba81a3c0
01-04 20:53:19.973  7299  7299 F DEBUG   :     x20 0000007398d3d000  x21 0000007398d379d0  x22 0000007398d3d000  x23 0000007398d3d000
01-04 20:53:19.973  7299  7299 F DEBUG   :     x24 0000007398d3d000  x25 0000000000000006  x26 00000073aa670a90  x27 00000073c54f3658
01-04 20:53:19.974  7299  7299 F DEBUG   :     x28 00000073c5481330  x29 0000007398d37910
01-04 20:53:19.974  7299  7299 F DEBUG   :     lr  00000073c7bcb798  sp  0000007398d378f0  pc  00000073c7bcb7b4  pst 0000000060000000

Only happens on the latest RQ1A.201205.011 (android-11.0.0_r22) release.
The old RD1A.201105.003.B1 (android-11.0.0_r14) is working fine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.