risingOS is A FREE OpenSource Aftermarket Android Operating System that aims to bring unique and fresh user experience.
Requirements:
- Device trees must be properly maintained, patches applied to the tree must be either rom source changes adaptation,bug fixes or improvements.
- Must have no known issues in his/her current device community.
- Approved by the maintainership application form reviewers. Maintainership application form link: https://github.com/RisingOSS-devices/official/issues
Initialize local repository (thanks to apon77 for repo init script)
# For gms blobs related errors due to git lfs (gitlab now limits files up to 100mb max) (credits to haggertk):
sudo apt install git-lfs
git lfs install
rm -rf vendor/gms/*
rm -rf .repo/projects/vendor/gms/*.git
rm -rf .repo/project-objects/*/android_vendor_gms.git
repo init --depth=1 --no-repo-verify -u https://github.com/RisingTechOSS/android -b fourteen --git-lfs -g default,-mips,-darwin,-notdefault
in case of repo syncing failures try this instead
repo init -u https://github.com/RisingTechOSS/android -b fourteen --git-lfs
Sync up with this command:
repo sync -c --no-clone-bundle --optimized-fetch --prune --force-sync -j$(nproc --all)
Inherit RisingOS vendor common stuffs
$(call inherit-product, vendor/rising/config/rising.mk)
# chipset flag enclose var with "" if more than one
# friendly tip: builders can use init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.rising.chipset", "Snapdragon 870 5G");
RISING_CHIPSET := "snapdragon_x"
# chipset flag enclose var with "" if more than one
# friendly tip: builders can use init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.rising.maintainer", "maintainer");
RISING_MAINTAINER := "Niv"
# chipset flag enclose var with "" if more than one
# this will reflect on build/display version, a firmware package/zip name
# e.g. risingOS-7.0-COMMUNITY-device-AOSP.zip - AOSP is the default package type, WITH_GMS will override the package type to PIXEL
RISING_PACKAGE_TYPE := "VANILLA_AOSP"
# disable/enable blur support, default is false
TARGET_ENABLE_BLUR := true/false
# Enable kernel inline building
INLINE_KERNEL_BUILDING := true
# GMS build flags
WITH_GMS := true/false - ship with GMS packages, replaces misc AOSP packages with Google packages.
# Customized GMS Flags
# WITH_GMS flag is required
# Default GMS flags sets (Override the values on lineage_xxx.mk)
WITH_GMS := true
TARGET_CORE_GMS := true
# Wether to use google (true) or AOSP (false) telephony package bundle. (defaults: false for gms core, true for pixel builds)
TARGET_USE_GOOGLE_TELEPHONY := true/false
# Compiler will only build GMS playstore services, its dependencies, and Gboard app.
# package type will change from PIXEL/GMS -> CORE
TARGET_CORE_GMS := true/false
# extra flag under TARGET_CORE_GMS
TARGET_CORE_GMS_EXTRAS := true/false - extra packages for core build type (velvet and photos)
# wether to build sound model (exclusive to raviole only)
TARGET_PREBUILT_SOUND_MODEL := true
# Set pixel launcher as default launcher to be set by QuickSwitch
TARGET_PREBUILT_PIXEL_LAUNCHER := true
# Ship pixel features (adaptivecharging, dreamliner etc)
TARGET_ENABLE_PIXEL_FEATURES := true
Set up environment
. build/envsetup.sh
Build the code
riseup "device_codename" userdebug/user
Purge out directories
purge
riseup uses all available cores to assign jobs hence making -jX no-op, to utilize -jX use:
lunch rising_device-userdebug/user or riseup device userdebug/user
m -jX or ascend
Building fastboot update package
riseup device userdebug/user
make updatepackage or ascend fastboot