[CUSTOM BUILD] Oneplus One - bacon Android R v1.10 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