Bliss-OS (x86) 12.x - BlissROM for PCs
Please read the AOSP building instructions before proceeding.
Latest Ubuntu LTS Releases https://www.ubuntu.com/download/server Decent CPU (Dual Core or better for a faster performance) 8GB RAM (16GB for Virtual Machine) 250GB Hard Drive (about 170GB for the Repo and then building space needed)
Installing Java 8
sudo add-apt-repository ppa:openjdk/ppa sudo apt-get update && upgrade sudo apt-get install openjdk-8-jdk update-alternatives --config java (make sure Java 8 is selected) update-alternatives --config javac (make sure Java 8 is selected) reboot
$ sudo apt-get install git-core gnupg flex bison maven gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip squashfs-tools python-mako libssl-dev ninja-build lunzip syslinux syslinux-utils gettext genisoimage gettext bc xorriso libncurses5
Repo initialization :
## Releases Repo ## $ repo init -u https://github.com/BlissRoms-x86/manifest.git -b q-x86-12.1
sync repo :
$ repo sync --no-tags --no-clone-bundle -c
problems syncing? :
$ repo sync --no-tags --no-clone-bundle --force-sync -c
PC builds (x86) explained:
This script will allow you to build an x86 based .ISO for PCs as well as help you with a few other things. Please see details below
$ build-x86 options buildVariants extraOptions addons
-c | --clean : Does make clean && make clobber and resets the device tree -s | --sync: Repo syncs the rom (clears out patches), then reapplies patches to needed repos -p | --patch: Just applies patches to needed repos -r | --proprietary: build needed items from proprietary vendor (non-public)
android_x86-user : Make user build android_x86-userdebug |: Make userdebug build android_x86-eng : Make eng build android_x86_64-user : Make user build android_x86_64-userdebug |: Make userdebug build android_x86_64-eng : Make eng build
ExtraOptions : Defaults to None
foss : packages microG & FDroid with the build fdroid : packages custom FDroid with the build (requires private sources) go : packages Gapps Go with the build (when go vendor is synced) gapps : packages OpenGapps with the build (when OpenGapps vendor sources are synced) gms : packages GMS with the build (requires private repo access) none : force all extraOption flags to false. (Drfault Option)
Addons : Requires "--proprietary" build to have run at least once. Defaults to None
croshoudini : Include libhoudini from Chrome OS croswidevine : Include widevine from Chrome OS crosboth : Include both libhoudini and widevine from Chrome OS crosnone : Do not include any of them. (Default Option)
Now For The Fun Stuff
To start, you must first use the -s (--sync) flag, then on following builds, it is not needed.
You can do this two ways. Traditionally or using the build script. Point is, you must sync with the new manifest changes.
Traditional way :
$ repo sync --no-tags --no-clone-bundle --force-sync
Or using the build script :
$ build-x86 -s
Initial extraction of the proprietary files from Google are also needed on the first build. Please note that this process will need to be run for x86 & x86_64 builds seperately (some cleanup may be needed).
We are able to use the -r (--proprietary) flag for that. This step needs to be done once per device setup (x86 or x86_64) and we have it working on its own because the image mounting process requires root permissions, so keep a look out for it asking for your root password.
Next step is to download the proprietary files from Google :
$ build-x86 -r android_x86_64-userdebug
After that, you can build your release file :
$ build-x86 android_x86_64-userdebug foss crosboth (to build the userdebug version for x86_64 CPUs with FDroid & microG included)