Fairphone 4 (fairphone-fp4): Difference between revisions
Apollo3zehn (talk | contribs) m Switch from note to hint |
Finally mobile data works: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6261 |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 23: | Line 23: | ||
| status_screen = Y | | status_screen = Y | ||
| status_wifi = Y | | status_wifi = Y | ||
| | | status_fde = Y | ||
| | | status_emmc = Y | ||
| status_mainline = Y | | status_mainline = Y | ||
| status_battery = N | | status_battery = N | ||
Line 32: | Line 32: | ||
| status_camera = N | | status_camera = N | ||
| status_gps = N | | status_gps = N | ||
| status_mobiledata = | | status_mobiledata = Y | ||
| status_sms = | | status_sms = Y | ||
| status_calls = | | status_calls = P | ||
| status_otg = | | status_otg = Y | ||
| status_nfc = N | | status_nfc = N | ||
<!-- Sensors --> | <!-- Sensors --> | ||
| status_accel = | | status_accel = Y | ||
| status_magnet = | | status_magnet = Y | ||
| status_light = | | status_light = Y | ||
| status_proximity = | | status_proximity = Y | ||
| status_hall = - | | status_hall = - | ||
| status_barometer = - | | status_barometer = - | ||
| status_powersensor = - | | status_powersensor = - | ||
<!-- Misc --> | <!-- Misc --> | ||
| status_dvb = - | |||
| status_cameraflash = Y | | status_cameraflash = Y | ||
| status_keyboard = - | | status_keyboard = - | ||
| status_touchpad = - | | status_touchpad = - | ||
| status_usba = - | | status_usba = - | ||
| status_sdcard = Y | |||
| status_hdmidp = N | | status_hdmidp = N | ||
| status_irtx = - | | status_irtx = - | ||
Line 78: | Line 80: | ||
You can use [https://devices.ubuntu-touch.io/installer/ UBports Installer] v0.9.8 (or later) to flash a prebuilt image of postmarketOS onto your Fairphone 4. Just select postmarketOS in the OS selection and choose the desired UI and lean back! | You can use [https://devices.ubuntu-touch.io/installer/ UBports Installer] v0.9.8 (or later) to flash a prebuilt image of postmarketOS onto your Fairphone 4. Just select postmarketOS in the OS selection and choose the desired UI and lean back! | ||
=== postmarketOS web installer === | |||
You can use the [https://flash.postmarketos.org/ postmarketOS web flasher] to flash a prebuilt image of postmarketOS onto your Fairphone 4. Follow the instructions on the page. | |||
=== Manually === | === Manually === | ||
Line 83: | Line 89: | ||
You need to erase the <code>dtbo</code> partition for the current slot with <code>fastboot erase dtbo</code>, otherwise the device will not boot. | You need to erase the <code>dtbo</code> partition for the current slot with <code>fastboot erase dtbo</code>, otherwise the device will not boot. | ||
{{hint|You can always restore the original <code>dtbo</code> partition by downloading and extracting [https:// | {{hint|You can always restore the original <code>dtbo</code> partition by downloading and extracting the dtbo.img from the [https://support.fairphone.com/hc/en-us/articles/18896094650513-Installing-Fairphone-OS-Manually factory package] and then flashing it via <code>fastboot flash dtbo <path/to/dtbo.img></code>. This works similar for the <code>boot</code> partition.}} | ||
The rest of the installation is standard, but because the device contains [[Android_AB_Slots|A/B slots]], you must watch out for the correct slot being active. | The rest of the installation is standard, but because the device contains [[Android_AB_Slots|A/B slots]], you must watch out for the correct slot being active. | ||
Line 93: | Line 99: | ||
* <code>super</code> partition (6 GB space): <code>pmbootstrap flasher flash_rootfs --partition super</code> | * <code>super</code> partition (6 GB space): <code>pmbootstrap flasher flash_rootfs --partition super</code> | ||
* Subpartition of <code>super</code> using [https://source.android.com/devices/bootloader/fastbootd fastbootd]. | * Subpartition of <code>super</code> using [https://source.android.com/devices/bootloader/fastbootd fastbootd]. | ||
* SD card: <code>pmbootstrap | * SD card: <code>pmbootstrap install --sdcard /dev/$blk_dev</code> | ||
See also [[Dual Booting]] if you want to run postmarketOS in parallel with another operating system. | See also [[Dual Booting]] if you want to run postmarketOS in parallel with another operating system. | ||
Line 101: | Line 107: | ||
In case you want to flash to SD card on a different computer, do the following: | In case you want to flash to SD card on a different computer, do the following: | ||
1. Edit <code>$(pmbootstrap config | 1. Edit <code>$(pmbootstrap config aports)/device/community/device-fairphone-fp4/deviceinfo</code> and change the value of <code>deviceinfo_rootfs_image_sector_size</code> to <code>512</code> (the SD card sector size) | ||
2. Run <code>pmbootstrap install --no-sparse</code> (we do not need a sparse image for the SD card) | 2. Run <code>pmbootstrap install --no-sparse</code> (we do not need a sparse image for the SD card) |
Latest revision as of 10:39, 27 February 2025
![]() Framebuffer console on mainline kernel | |
Manufacturer | Fairphone |
---|---|
Name | 4 |
Codename | fairphone-fp4 |
Released | 2021 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 750G (SM7225) |
CPU | Octa-core Kryo 570 |
GPU | Adreno 619 |
Display | 1080x2340 |
Storage | 128GB/256GB |
Memory | 6GB/8GB |
Architecture | aarch64 |
Software | |
Original software | Android |
Original version | 11 |
postmarketOS | |
Category | community |
Pre-built images | yes |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
Works |
SD card |
Works |
Battery |
Broken |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Broken |
Camera |
Broken |
Camera Flash |
Works |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Broken |
NFC |
Broken |
Modem | |
Calls |
Partial |
SMS |
Works |
Mobile data |
Works |
Miscellaneous | |
FDE |
Works |
USB OTG |
Works |
HDMI/DP |
Broken |
Sensors | |
Accelerometer |
Works |
Magnetometer |
Works |
Ambient Light |
Works |
Proximity |
Works |
Haptics |
Works |
Contributors
Users owning this device
- AnaxMorden (Notes: Using 8/256GB (Ubuntu Touch))
- Apollo3zehn (Notes: /e/OS + Plasma Mobile)
- Ariebombarie (Notes: CalyxOS (Android))
- Ayakael (Notes: Main phone, OryxOS))
- BEEDELLROKEJULIANLOCKHART
- Bitals (Notes: /E/OS)
- Brittle
- Cafehaine (Notes: Daily device)
- Deathmist (Notes: Gray, 6/128 GB, UT 20.04 daily driver)
- Electrodeyt (Notes: Gray, 6/128 GB, Ubuntu Touch daily driver)
- GeraltvonNVIDIA (Notes: Ubuntu Touch 20.04 stable)
- Grimler
- Idi112 (Notes: Main phone, currently running Iodé (android))
- Kasesag (Notes: Daily device.)
- Peerke (Notes: Gnome mobile)
- Pseudomind (Notes: pmOS phosh)
- Uclydde
- Z3ntu
- ⬡hexa
How to enter flash mode
For booting into fastboot, turn off the phone, hold volume down and plug in the USB cable.
Installation
Unlock the bootloader according to the official instructions.
UBports Installer
You can use UBports Installer v0.9.8 (or later) to flash a prebuilt image of postmarketOS onto your Fairphone 4. Just select postmarketOS in the OS selection and choose the desired UI and lean back!
postmarketOS web installer
You can use the postmarketOS web flasher to flash a prebuilt image of postmarketOS onto your Fairphone 4. Follow the instructions on the page.
Manually
You need to erase the dtbo
partition for the current slot with fastboot erase dtbo
, otherwise the device will not boot.
You can always restore the original dtbo partition by downloading and extracting the dtbo.img from the factory package and then flashing it via fastboot flash dtbo <path/to/dtbo.img> . This works similar for the boot partition. |
The rest of the installation is standard, but because the device contains A/B slots, you must watch out for the correct slot being active.
The device does not contain a system as you might be used to, it contains one super partition which contains system /system_ext /product /vendor /odm partitions, in _a and _b variant each. This concept is called Dynamic Partitions. |
You have a few possibilities to flash the postmarketOS rootfs:
userdata
partition (> 100 GB space):pmbootstrap flasher flash_rootfs --partition userdata
super
partition (6 GB space):pmbootstrap flasher flash_rootfs --partition super
- Subpartition of
super
using fastbootd. - SD card:
pmbootstrap install --sdcard /dev/$blk_dev
See also Dual Booting if you want to run postmarketOS in parallel with another operating system.
SD card notes
In case you want to flash to SD card on a different computer, do the following:
1. Edit $(pmbootstrap config aports)/device/community/device-fairphone-fp4/deviceinfo
and change the value of deviceinfo_rootfs_image_sector_size
to 512
(the SD card sector size)
2. Run pmbootstrap install --no-sparse
(we do not need a sparse image for the SD card)
3. Copy the newly created $(pmbootstrap config work)/chroot_native/home/pmos/rootfs/fairphone-fp4.img
to the other computer and flash it there with your preferred flashing tool.
Resources
- Repairability and recyclers information on Fairphone 4 - Schematics and other information
- Fairphone 4 - Kernel Source Code
Partition layout
fairphone-fp4:~# fdisk -l -o Device,Start,End,Sectors,Size,Name /dev/sda
fairphone-fp4:~# fdisk -l -o Device,Start,End,Sectors,Size,Name /dev/sdb
fairphone-fp4:~# fdisk -l -o Device,Start,End,Sectors,Size,Name /dev/sdc
fairphone-fp4:~# fdisk -l -o Device,Start,End,Sectors,Size,Name /dev/sdd
fairphone-fp4:~# fdisk -l -o Device,Start,End,Sectors,Size,Name /dev/sde
fairphone-fp4:~# fdisk -l -o Device,Start,End,Sectors,Size,Name /dev/sdf
fairphone-fp4:~# fdisk -l -o Device,Start,End,Sectors,Size,Name /dev/sdg
See also
- Device package
- Kernel package (close to mainline)
- Firmware package