Google Pixel 3 (google-blueline): Difference between revisions
Update to include current installation instructions and relevant links. |
m Update status options. |
||
Line 16: | Line 16: | ||
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --> | <!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --> | ||
| status_usbnet = <!-- USB networking does work? then put Y here and delete this comment --> | | status_usbnet = <!-- USB networking does work? then put Y here and delete this comment --> | ||
| status_flashing = <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. --> | | status_flashing = Y <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. --> | ||
| status_touch = <!-- Touch screen is working? You can also answer these questions with P for partially. --> | | status_touch = <!-- Touch screen is working? You can also answer these questions with P for partially. --> | ||
| status_screen = <!-- The display is working? --> | | status_screen = <!-- The display is working? --> | ||
Line 22: | Line 22: | ||
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? --> | | status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? --> | ||
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? --> | | status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? --> | ||
| status_mainline = <!-- Instead of a Linux kernel fork, it is possible to run mainline. --> | | status_mainline = Y <!-- Instead of a Linux kernel fork, it is possible to run mainline. --> | ||
| status_battery = <!-- Charging the battery with charging-sdl is possible --> | | status_battery = <!-- Charging the battery with charging-sdl is possible --> | ||
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) --> | | status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) --> | ||
Line 33: | Line 33: | ||
| status_sms = <!-- Sending and receiving short messages works as intended. --> | | status_sms = <!-- Sending and receiving short messages works as intended. --> | ||
| status_calls = <!-- Talking to other people over the cellular network. --> | | status_calls = <!-- Talking to other people over the cellular network. --> | ||
| status = | | status = Work is ongoing, flashing works and telnet can be accessed during boot. <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" --> | ||
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device --> | | status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device --> | ||
| status_nfc = <!-- Near-Field Communication (NFC) works --> | | status_nfc = <!-- Near-Field Communication (NFC) works --> | ||
| booting = | | booting = Y <!-- The device is booting at all, can be yes/no *IMPORTANT* --> | ||
<!-- you can also use these lines if you need to: | <!-- you can also use these lines if you need to: |
Revision as of 12:03, 19 September 2021
![]() Google Pixel 3 | |
Manufacturer | |
---|---|
Name | Pixel 3 |
Codename | google-blueline |
Released | 2018 |
Hardware | |
Chipset | Qualcomm SDM845 Snapdragon 845 (10 nm) |
CPU |
Octa-core (4x2.5 GHz Kryo 385 Gold 4x1.6 GHz Kryo 385 Silver) |
GPU | Adreno 630 |
Display | 1080 x 2160 P-OLED, HDR |
Storage | 64GB/128GB |
Memory | 4GB |
Architecture | aarch64 |
Software | |
Original software | Android 9.0 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
Flashing |
Works |
---|---|
USB Networking |
No data |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
No data |
Touchscreen |
No data |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
No data |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
No data |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
- hreikin
Users owning this device
- 8osm3rka
- BEEDELLROKEJULIANLOCKHART
- Danascape (Notes: WIP)
- Daudix (Notes: 64GB, Unlocked)
- Froggo (Notes: 4+128GB)
- Hlcj
- Kcxt (Notes: smol :3)
- MasanoriOgino (Notes: UFS 128 GB Micron)
- Ptesarik (Notes: my main phone)
- Rom4nik
How to enter flash mode
The Pixel 3, like all Google Pixel/Nexus devices, uses Fastboot as the flashing protocol.
To enter Fastboot mode, hold Volume Down while powering on the device. Let go of Volume Down when "Fastboot mode" displays on the screen.
Alternatively, if connected to a pc then you can also use adb reboot bootloader
.
Installation
The steps below should allow you to flash postmarketOS to a Pixel 3 and boot to a point that telnet can be accessed.
- Run
pbootstrap init
to generate the google-blueline device port - Delete the linux-google-blueline folder
- Edit the APKBUILD in the device-google-blueline folder to remove the
mesa-dri-gallium
dependency and insert thelinux-postmarketos-qcom-sdm845
andsoc-qcom-sdm845
dependencies - Set envkernel up, clone the sdm845 mainline kernel and create a new branch for your changes
- Copy the DTS file available in the Linaro kernel to the sdm845 mainline kernel and edit the Makefile to include it
- Run
make defconfig sdm845.config
andmake -j`nproc`
to build the kernel. Some nodes need commenting out for make to complete successfully, the files are provided below - Run
pmbootstrap build --envkernel linux-postmarketos-qcom-sdm845
to package it - Check the offsets in deviceinfo (they are the same as the op6) and add the dtb stuff for the device
- Run
abootimg -i boot.img
on the boot.img from android 9 and check the offsets - Run
pmbootstrap checksum device-google-blueline
andpmbootstrap build device-google-blueline
and thenpmbootstrap install
- Run
abootimg -i boot.img
on the boot.img generated by the install, the offsets should be the same - Finally, flash the rootfs and kernel with
pmbootstrap flasher flash_rootfs
andpmbootstrap flasher flash_kernel
The phone boots and you should get the white screen with Google logo, sometimes it has a graphical glitch and others it doesn't. The SSH isn't working, it should have an IP and you can ping it but you can't connect by SSH. You can however connect to a shell with the telnet command.
$ telnet 172.16.42.1
Here are some links to the files used, scroll down for multiple files:
Status
Work is ongoing, flashing works and telnet can be accessed during boot.
See also
- pmaports#1229 Pixel 3 (google-blueline) porting: progress and questions
dmesg
output after bootls -la /dev/block/bootdevice/by-name/
output from TWRPpmos_init.log
from device