[DEV][ROM][UNOFFICIAL] LineageOS 15.1 (Android 8.1.0) for Raspberry Pi 3 B and B+

Search This thread

KonstaT

Senior Member
Jan 20, 2016
668
422
KonstaKANG.com
Here’s my build of LineageOS 15.1 for Raspberry Pi 3 Model B and Model B+ (bluetooth does not currently work on the new plus model). It is unofficial and unsupported by the LineageOS team. It’s for advanced users only. This build currently uses Google’s SwiftShader software renderer so display performance is probably not what you’d expect. This build is not meant as a daily driver and it’s certainly not suitable for media device use.

Screenshot_Settings_20180630-144620.png


https://konstakang.com/devices/rpi3/LineageOS15.1/

lineage-15.1-20180706-UNOFFICIAL-KonstaKANG-rpi3.zip
https://www.androidfilehost.com/?fid=5862345805528041370
md5:257ade2f567223cf792023e2d75e5b75

Sources:

Thanks:
  • Google for Android Things platform
  • peyo-hd and everyone who’s contributed to android-rpi
  • LineageOS team & everyone who’s been working on LineageOS 15.1
 
Last edited:

KonstaT

Senior Member
Jan 20, 2016
668
422
KonstaKANG.com
How to install:
  1. Follow the official Raspberry Pi instructions for writing the image to the SD card (Linux, Mac, Windows).

FAQ:

Q: I can’t find developer options, why?
A: Settings -> About phone -> Click ‘Build number’ several times

Q: I have no root, why? What is that hashtag on my status bar?
A: You need enable root access under Settings -> Developer options -> Root access. Root management is now integrated as part of LineageOS’ Privacy Guard and you can manage per app permissions under Settings -> Developer options -> Manage root access. You’ll have a persistent notification in the status bar when you’re running an app that uses root permissions.

Q: Settings -> Storage shows xx GB used by system. There’s unallocated space on my sdcard. What should I do?
A: This is a 4 GB image, remaining space on your sdcard will remain unallocated. Settings app shows unallocated space as used by system which in reality it is not. You can use e.g. GParted and extend /data partition (/dev/block/mmcblk0p4) to cover the unallocated space. Resizing the partition manually will break support for encrypting /data. Format /data in TWRP recovery (Wipe->Format data) after resizing to leave required space for crypto footer.

Q: Raspberry Pi doesn’t have power button, how do I power off/reboot my device?
A: Following keyboard keys work as Android buttons: F1 = Home, F2 = Back, F3 = Multi-tasking, F4 = Menu, F5 = Power, F11 = Volume down, and F12 = Volume up. You can also use one of many third party reboot applications.

Q: How to boot to TWRP recovery?
A: There’s currently no proper way to boot between Android and TWRP, but this can achieved by renaming the ramdisk you want to boot. Execute following commands in ‘adb shell’/serial console/terminal (you can enable built-in terminal app from Settings -> Developer options -> Local terminal) and reboot your device:
Code:
su
rpi3-recovery.sh
If mouse cursor doesn’t appear, try replugging your mouse.

Q: How to boot out of TWRP recovery?
A: You can execute the same script in TWRP terminal (Advanced->Terminal) if you have system partition mounted (Mount->System):
Code:
rpi3-recovery.sh boot
Or you can flash my recovery2boot zip in TWRP.

Q: How to install Google apps?
  1. Download MindTheGapps-8.1.0-arm-XXXXXXXX_XXXXXX.zip and save it to your device’s internal storage or use an external USB drive
  2. Boot to TWRP recovery (see FAQ)
  3. Install MindTheGapps-8.1.0-arm-XXXXXXXX_XXXXXX.zip from your selected storage
  4. Wipe->Factory reset!
  5. Boot out of recovery (see FAQ)
 
Last edited:
  • Like
Reactions: reversegear

KonstaT

Senior Member
Jan 20, 2016
668
422
KonstaKANG.com
Merged commits not mentioned in the changelog.

6.7. changelog:
  • update to Linux 4.14.53 kernel
  • add initial support for Pi 3 Model B+ (bluetooth does not currently work)
  • include TWRP 3.2.2-0 custom recovery (see FAQ how to boot)
  • build SwiftShader from source and update to master branch (improves graphics performance)
  • add support for encrypting the device

13.6. changelog:
  • update display drivers from Android Things 1.0
  • add support for USB webcams (UVC) with third party USB webcam apps
  • default to noop I/O scheduler
  • update to Linux 4.4.136 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
  • Android security patch level: 5 June 2018 (merged)

7.3. changelog:
  • update display drivers from Android Things DP 7
  • update wifi firmware
  • update to Linux 4.4.120 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
  • Android security patch level: 5 March 2018 (merged)

3.3. changelog:
  • initial release

Previous builds:
 
Last edited:
  • Like
Reactions: reversegear

KonstaT

Senior Member
Jan 20, 2016
668
422
KonstaKANG.com
Does this build support RCA video out. ?

Not sure, haven't tried and I don't even have a display with composite video in to test with. I'd say with LineageOS 14.1 and Linux 4.4 it's not supported (https://github.com/anholt/linux/issues/14). LineageOS 15.1 has a much newer kernel (4.14) but it doesn't even use the VC4 driver (Google's SwiftShader software renderer is used instead) so IDK.

You'd likely need to modify config.txt at least if you want to test this. https://www.raspberrypi.org/documentation/configuration/config-txt/video.md
 
  • Like
Reactions: reversegear

__init__

Senior Member
May 27, 2017
66
15
No, config.txt is in the boot partition (FAT) so even Windows should mount it when you plug in the sdcard. You need to use a proper text editor, though.

All three partitions are EXT4 and even when I mount them using Ext2Fsd I don't see config.txt in any of them. (I don't see bootcode.bin or start.elf either.) :/

Edit: I found it - the boot partition wasn't mounted on my PC for some reason :/

---------- Post added at 12:49 AM ---------- Previous post was at 12:09 AM ----------

It's still not working... I changed hdmi_group to 2 and hdmi_mode to 46 (I also tried 48)
 

KonstaT

Senior Member
Jan 20, 2016
668
422
KonstaKANG.com
All three partitions are EXT4 and even when I mount them using Ext2Fsd I don't see config.txt in any of them. (I don't see bootcode.bin or start.elf either.) :/

Edit: I found it - the boot partition wasn't mounted on my PC for some reason :/

---------- Post added at 12:49 AM ---------- Previous post was at 12:09 AM ----------

It's still not working... I changed hdmi_group to 2 and hdmi_mode to 46 (I also tried 48)

Like said 720p is maximum supported resolution with LineageOS 15.1 build. hdmi_mode 46 and 48 are 1440x900 so that's not going to work of course.

You can try with a different display or try LineageOS 14.1 build.
 

KonstaT

Senior Member
Jan 20, 2016
668
422
KonstaKANG.com
Is this just a tease, or are you maybe gonna make available, I hope.?

If/when it's ready and I feel like it otherwise. :) Audio, bluetooth (on Pi 3 B), ethernet, display, and wifi already working to LineageOS 15.1 standards. It only started week three after the AOSP source drop so everything is still in very early stages. There's no Lineage apps, no Lineage features, no root, etc, and there's still some very basic UI issues.
 
Last edited:
  • Like
Reactions: reversegear

ericimbert

New member
Aug 24, 2018
1
0
LineageOS 15.1 Raspberry B+

Thanks for your rom
I dont find script rpi-display.sh for touchscreen like in lineageOS 14.1 Its possible to use this script ?
 

KonstaT

Senior Member
Jan 20, 2016
668
422
KonstaKANG.com
Thanks for your rom
I dont find script rpi-display.sh for touchscreen like in lineageOS 14.1 Its possible to use this script ?

I don't have any display hardware so I haven't tested. Some people have reported that LineageOS 15.1 works with the original 7" display but I don't know if they've made any modifications.

LineageOS 14.1 script won't work as is at least. You can try this one instead (https://pastebin.com/A2kfGhrR). Push to /system/bin/, set correct permissions (755) and run. I think you also need to change ro.sf.lcd_density in /system/build.prop to match the resolution change (in LineageOS 14.1 as well) but no one has given any proper feedback on that either.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    Here’s my build of LineageOS 15.1 for Raspberry Pi 3 Model B and Model B+ (bluetooth does not currently work on the new plus model). It is unofficial and unsupported by the LineageOS team. It’s for advanced users only. This build currently uses Google’s SwiftShader software renderer so display performance is probably not what you’d expect. This build is not meant as a daily driver and it’s certainly not suitable for media device use.

    Screenshot_Settings_20180630-144620.png


    https://konstakang.com/devices/rpi3/LineageOS15.1/

    lineage-15.1-20180706-UNOFFICIAL-KonstaKANG-rpi3.zip
    https://www.androidfilehost.com/?fid=5862345805528041370
    md5:257ade2f567223cf792023e2d75e5b75

    Sources:

    Thanks:
    • Google for Android Things platform
    • peyo-hd and everyone who’s contributed to android-rpi
    • LineageOS team & everyone who’s been working on LineageOS 15.1
    1
    How to install:
    1. Follow the official Raspberry Pi instructions for writing the image to the SD card (Linux, Mac, Windows).

    FAQ:

    Q: I can’t find developer options, why?
    A: Settings -> About phone -> Click ‘Build number’ several times

    Q: I have no root, why? What is that hashtag on my status bar?
    A: You need enable root access under Settings -> Developer options -> Root access. Root management is now integrated as part of LineageOS’ Privacy Guard and you can manage per app permissions under Settings -> Developer options -> Manage root access. You’ll have a persistent notification in the status bar when you’re running an app that uses root permissions.

    Q: Settings -> Storage shows xx GB used by system. There’s unallocated space on my sdcard. What should I do?
    A: This is a 4 GB image, remaining space on your sdcard will remain unallocated. Settings app shows unallocated space as used by system which in reality it is not. You can use e.g. GParted and extend /data partition (/dev/block/mmcblk0p4) to cover the unallocated space. Resizing the partition manually will break support for encrypting /data. Format /data in TWRP recovery (Wipe->Format data) after resizing to leave required space for crypto footer.

    Q: Raspberry Pi doesn’t have power button, how do I power off/reboot my device?
    A: Following keyboard keys work as Android buttons: F1 = Home, F2 = Back, F3 = Multi-tasking, F4 = Menu, F5 = Power, F11 = Volume down, and F12 = Volume up. You can also use one of many third party reboot applications.

    Q: How to boot to TWRP recovery?
    A: There’s currently no proper way to boot between Android and TWRP, but this can achieved by renaming the ramdisk you want to boot. Execute following commands in ‘adb shell’/serial console/terminal (you can enable built-in terminal app from Settings -> Developer options -> Local terminal) and reboot your device:
    Code:
    su
    rpi3-recovery.sh
    If mouse cursor doesn’t appear, try replugging your mouse.

    Q: How to boot out of TWRP recovery?
    A: You can execute the same script in TWRP terminal (Advanced->Terminal) if you have system partition mounted (Mount->System):
    Code:
    rpi3-recovery.sh boot
    Or you can flash my recovery2boot zip in TWRP.

    Q: How to install Google apps?
    1. Download MindTheGapps-8.1.0-arm-XXXXXXXX_XXXXXX.zip and save it to your device’s internal storage or use an external USB drive
    2. Boot to TWRP recovery (see FAQ)
    3. Install MindTheGapps-8.1.0-arm-XXXXXXXX_XXXXXX.zip from your selected storage
    4. Wipe->Factory reset!
    5. Boot out of recovery (see FAQ)
    1
    Merged commits not mentioned in the changelog.

    6.7. changelog:
    • update to Linux 4.14.53 kernel
    • add initial support for Pi 3 Model B+ (bluetooth does not currently work)
    • include TWRP 3.2.2-0 custom recovery (see FAQ how to boot)
    • build SwiftShader from source and update to master branch (improves graphics performance)
    • add support for encrypting the device

    13.6. changelog:
    • update display drivers from Android Things 1.0
    • add support for USB webcams (UVC) with third party USB webcam apps
    • default to noop I/O scheduler
    • update to Linux 4.4.136 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
    • Android security patch level: 5 June 2018 (merged)

    7.3. changelog:
    • update display drivers from Android Things DP 7
    • update wifi firmware
    • update to Linux 4.4.120 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
    • Android security patch level: 5 March 2018 (merged)

    3.3. changelog:
    • initial release

    Previous builds:
    1
    Does this build support RCA video out. ?

    Not sure, haven't tried and I don't even have a display with composite video in to test with. I'd say with LineageOS 14.1 and Linux 4.4 it's not supported (https://github.com/anholt/linux/issues/14). LineageOS 15.1 has a much newer kernel (4.14) but it doesn't even use the VC4 driver (Google's SwiftShader software renderer is used instead) so IDK.

    You'd likely need to modify config.txt at least if you want to test this. https://www.raspberrypi.org/documentation/configuration/config-txt/video.md
    1
    On my 3B I'm not getting any HDMI video output. It just shows a black screen.

    Some displays might require modifying config.txt. https://www.raspberrypi.org/documentation/configuration/config-txt/video.md

    720p is the max resolution this build currently supports.