[CUSTOM BUILD] Oneplus One - bacon Android 11 v1.13-r CUSTOM_SLIM with No Advanced Privacy

With only a few hours building time on a “new” machine I am finding the bacon Android R build bigger than the equivalent Q build.

When I first tried an R build with this Q NoAP recipe the build fails oversize by ~116MB, trying to fit 1440 MB into a total partition size of 1324 MB.

I am grateful to the /e/ dev team and the /e/ community here to be able to offer this ROM

e-1.7-r-20221224-CUSTOM_SLIM-bacon.zip

https://share.jaguar-network.com/fc50086d-e024-44d0-b3c9-bf88762dd2cd

sha256sum b0697fc5e52a400721aa8d101acbd346574c6d7f75e0603a6896a7682842e913

Missing Apps Tested ex AppLounge
Magic Earth Magic Earth
pdfViewer SecurePDFViewer, GrapheneOS
eSpeakTTS eSpeak NG
Mail K9-Mail
Message QKSMS
Browser Fennec F-Droid
BrowserWebView -
PrivacyCentral -

Details of the build method

Using vendor/e

local_manifest
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- /e/ vendor repo
    ##################################################### -->
    <project path="vendor/e" name="steadfasterX/android_vendor_e" remote="e" revision="v1-r" />
     <!-- this copied from roomservice.xml successful in Lineage-bacon build.
    #####################################################-->
  <project path="device/oneplus/bacon" remote="github" name="LineageOS/android_device_oneplus_bacon" />
  <project path="device/oppo/msm8974-common" remote="github" name="LineageOS/android_device_oppo_msm8974-common" />
  <project path="kernel/oppo/msm8974" remote="github" name="LineageOS/android_kernel_oppo_msm8974" />
  <project path="device/oppo/common" remote="github" name="LineageOS/android_device_oppo_common" />
  <project path="hardware/sony/timekeep" remote="github" name="LineageOS/android_hardware_sony_timekeep" />
  <project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" depth="1" />
  <project name="TheMuppets/proprietary_vendor_oppo" path="vendor/oppo" remote="github" depth="1" />
</manifest>

vendorsetup.sh

#!/bin/bash
export EOS_CCACHE_DIR=/home/iain/ccache/eos
export EOS_USE_CCACHE=true
export EOS_CCACHE_SIZE=50G
export EOS_DEVICE=bacon
export EOS_SIGNATURE_SPOOFING=restricted
export EOS_BRANCH_NAME=“v1-r”
export EOS_MINI_APPS=true
export EOS_RELEASE_TYPE=“CUSTOM_SLIM”

Required /e/ packages

/vendor/lineage/config/common.mk is edited to this list.

/e/ OS packages
GmsCore
GsfProxy
BlissLauncher
BlissIconPack
MozillaNlpBackend
OpenWeatherMapWeatherProvider
AccountManager
Camera
eDrive
Notes
Tasks
NominatimNlpBackend
DroidGuard
OpenKeychain
com.google.android.maps.jar
Apps
PwaPlayer
SplitInstallService
FakeStore
WebCalendarManager

Space and size

Running this build on my device I see:

$ df -h/
Filesystem            Size  Used Avail 
/dev/block/mmcblk0p14 1.2G  1.2G   12M
2 Likes

What’s the spec of your build machine? I’m thinking of upgrading mine

My cheapskate 2015 “relic” came from this recycling firm in Leeds with no OS. It is a Hewlett-Packard EliteDesk 800 G1; Intel Core i7-4790 nominal 3.60 GHz; Intel Xeon E3-1200 Integrated Graphics; 1 TiB SSD; with 4 x 8GB DDR3 RAM.

With nproc = 8 my first builds seem to run nicely on -j 7 (by default nproc -1, fully adjustable, thanks to @SteadfasterX’s [HOWTO] build /e/ the (full) classic way (no docker, no scripts, just 'make').

1 Like

I am looking at Dell OptiPlex 7070 Micro i5-8400 [Hexa] 2.80GHz DDR4with 32GB RAM, 256GB NVMe, with slot for second 2.5 SATA drive. I plan to put the 2TB SSD from my current build machine in that slot.

I saw a similar setup but with i7-9700T (up to 4.3GHz, 2.0GHz base, 8 Core, 8 Threads, 12 MB Cache), but it’s £200 more, has nothing in the NVMe slot and ony a 1TB SSD

Not made up my mind yet :slight_smile:

From my experience, an i7 may be better than i5 (speed, threads, cache, etc).
Be aware that a tiny case may lead to thermal throttling as they are often not designed to have the processor work 100% for hours…

THX aibd - Installed it and after one day I would say, it works really nice

1 Like

your build is very near to that, I described in Minimal /e/ OS build

I have one final request - I would like to use Secure Camera from Graphene. Secure Camera and the default camera block each other in low light environment. As soon as I select flash in Secure Camera, I cannot take a picture with both camera apps - I just can uninstall Secure Camera. I cannot unistall the default camera. And as I am working in the theater, I will need this quite often.

As the system partition is nealy 100% full - just 12 MB left - to remove opencamera from your build will also give a “little bit of air” to the system partition and will give us users the choice to use opencamera or secure camera

regards kultex

Thanks for the suggestion @kultex, here is just the same CUSTOM_SLIM build without OpenCamera.

Edit, 31-12-2022 I have deleted this build e-1.7-r-20221228-CUSTOM_SLIM-bacon.zip on Androidfilehost due to non standard Camera behaviour, reported but not fully explained in Post #12.

1 Like

THX a lot @aibd - secure camera works now like a charm - very strange, that its just 2MB more, so not much air for updates…

because the default linage camera has 10 MB (?compressed or uncompressed? - I thought the 10 MB are compressed…)
Camera apps on the bacon regarding photo quality for me:

  1. Secure Camera
  2. Linage Camera
  3. Open Camera

Thanks for the feedback @kultex … you also ask in a PM

On your last build, there is also a camera app - Android Camera2 - its ok, it does not block the Secure Camera - but is Camera2 necessary?

I cannot explain that straight away. Interestingly I did not have any negative Camera issues with Experimental Custom build 'extra_minimal_apps' for Oneplus One - bacon.

When I was trying to work out how to populate this R build my early tests had no OpenCamera but Bliss included a non functional “ghost” camera icon. Without searching the cause at an early stage I included OpenCamera to fix that.

This “ghost” does seem to be com.android.camera2 – I cannot see the source of it atm.

Does anyone have experience of this in an /e/ build? I do not see it in 1.6-q-20221204240086-dev-a3xelte

As i understood, “camera2” is a needed API used by the camera.app

1 Like

Thanks @piero I begin to see that my quick fix method to remove OpenCamera seems to have unencapsulated OpenCamera from the Android Camera2 API.

Ref: opencamera_source.txt · master · e / os / Camera · GitLab

A 1.8 build will aim to follow the method previously used for the Experimental Q build linked above.

1 Like

I am grateful to the /e/ dev team and the /e/ community here to be able to offer this ROM

On the build date the tag v1-r produced this build at v1.10-beta-r

The build flashed to my device and has been briefly tested for communication functions and app installs as mentioned below.

The list of apps not found in this CUSTOM_SLIM extendrom build.

“noEOSeSpeakTTS noEOSCamera noEOSMessage noEOSMail noEOSBrowser noEOSBrowserWebView noEOSPrivacyCentral”
plus due to MINIMAL_APP=true MagicEarth and PdfViewer.

Missing apps Tested replacements, firstly from App Lounge
Magic Earth Magic Earth
Camera SecureCamera grapheneos Version 60
Message QKSMS
Mail K-9 Mail
pdfViewer Secure PDF Viewer Crashes.
With added stores
F-Droid
Browser F-Droid Bromite
BrowserWebView F-Droid Bromite System Webview
eSpeakTTS eSpeak NG
IzzyOnDroid
pdfViewer MJ PDF

Details of the build method

No docker, but I used android vendor e and extendrom kudos to @SteadfasterX

local_manifest
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- vendor extendrom
    ##################################################### -->
    <remote name="sfX" fetch="https://github.com/sfX-Android/" />
    <project path="vendor/extendrom" name="android_vendor_extendrom" remote="sfX" revision="main" />
<!-- /e/ vendor repo
    ##################################################### -->
    <project path="vendor/e" name="steadfasterX/android_vendor_e" remote="e" revision="v1-r" />
<!-- this originally copied from roomservice.xml produced by a successful build of LineageOS-bacon
    ##################################################### -->
  <project path="device/oneplus/bacon" remote="github" name="LineageOS/android_device_oneplus_bacon" />
  <project path="device/oppo/msm8974-common" remote="github" name="LineageOS/android_device_oppo_msm8974-common" />
  <project path="kernel/oppo/msm8974" remote="github" name="LineageOS/android_kernel_oppo_msm8974" />
  <project path="device/oppo/common" remote="github" name="LineageOS/android_device_oppo_common" />
  <project path="hardware/sony/timekeep" remote="github" name="LineageOS/android_hardware_sony_timekeep" />
  <project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" depth="1" />
  <project name="TheMuppets/proprietary_vendor_oppo" path="vendor/oppo" remote="github" depth="1" />
</manifest>
vendorsetup.sh
#!/bin/bash
#######################################################################################
export EOS_CCACHE_DIR=/home/iain/ccache/eos
export EOS_USE_CCACHE=true
export EOS_CCACHE_SIZE=50G
export EOS_DEVICE=bacon
export EOS_SIGNATURE_SPOOFING=restricted
export EOS_ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx9G"
export EOS_BRANCH_NAME="v1-r"
export EOS_MINI_APPS=true
export EOS_RELEASE_TYPE="CUSTOM_SLIM"
########### extendrom section ###########
$PWD/vendor/extendrom/get_prebuilts.sh
export ENABLE_EXTENDROM=true
export EXTENDROM_PACKAGES="noEOSeSpeakTTS noEOSCamera noEOSMessage noEOSMail noEOSBrowser noEOSBrowserWebView noEOSPrivacyCentral"
Space and size

This device has a small partition for /system hence the CUSTOM_SLIM build. The following obtained from this ROM on my device with original manufacturer partition structure.

Filesystem            Size  Used Avail Use% 
/dev/block/mmcblk0p14 1.2G  1.2G   35M  98% 
2 Likes

I am grateful to the /e/ dev team and the /e/ community here to be able to offer this update to the above CUSTOM_SLIM /e/OS ROM.

In build method and content this is an updated copy of the ROM above, transferred to my phone by adb sideload, I have tested it briefly for communications – all fine. Please tell me if you find different.

The list of apps not found in this CUSTOM_SLIM build.

eSpeakTTS Camera Message Mail Browser BrowserWebView PrivacyCentral MagicEarth PdfViewer.

The post above lists the replacements I have chosen to use.

Details of the build method

No docker, but I used android vendor e and extendrom kudos to @SteadfasterX

.repo/local_manifest/eos.xml exactly as the ROM above

Exclude AdvancedPrivacy

Using extendrom add to

/vendor/extendrom/extra/Android.mk

# override /e/ AdvancedPrivacy
include $(CLEAR_VARS)
LOCAL_MODULE := noEOSAdvancedPrivacy
LOCAL_SRC_FILES := empty.apk
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := APPS
LOCAL_DEX_PREOPT := false
LOCAL_MODULE_SUFFIX := .apk
LOCAL_OVERRIDES_PACKAGES := AdvancedPrivacy
include $(BUILD_PREBUILT)
vendorsetup.sh
#!/bin/bash
#######################################################################################
export EOS_CCACHE_DIR=/home/iain/ccache/eos
export EOS_USE_CCACHE=true
export EOS_CCACHE_SIZE=75G
export EOS_DEVICE=bacon
export EOS_SIGNATURE_SPOOFING=restricted
export EOS_ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx9G"
export EOS_BRANCH_NAME=v1.13-r
export EOS_MINI_APPS=true
export EOS_RELEASE_TYPE=CUSTOM_SLIM
########### extendrom section ###########
$PWD/vendor/extendrom/get_prebuilts.sh
export ENABLE_EXTENDROM=true
export EOS_MINI_APPS=true
export EXTENDROM_PACKAGES="noEOSeSpeakTTS noEOSCamera noEOSMessage noEOSMail noEOSBrowser noEOSBrowserWebView noEOSAdvancedPrivacy"
Space and size

This device has a small partition for /system hence the CUSTOM_SLIM build. The following obtained from this ROM on my device with original manufacturer partition structure.

Filesystem            Size  Used Avail Use% Mounted on
/dev/block/mmcblk0p14 1.2G  1.2G  2.9M 100% /

Any feedback most welcome :pray:

2 Likes

I am grateful to the /e/ dev team and the /e/ community here to be able to offer this update to the above CUSTOM_SLIM /e/OS ROM.

The build method and details are as above except that the build no longer includes App Lounge due to insufficient space. Note The missing App Lounge really makes this an Update only slim build.

Space and size

The build for e-1.13-r completed with 100% reported use of the system partition. This time the same build method failed out of space.

This build:

bacon:/ $ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/block/mmcblk0p14 1.2G  1.2G   30M  98% /
1 Like

I lost enthusiasm for this build due to it being hard to support the build as “being like /e/OS”.

An up to date build of LineageOS for microG is currently available here https://download.lineage.microg.org/bacon/.

My apologies to any “silent users” – I sent a PM to my one known user.