risingOS is a OpenSource Aftermarket Android Operating System that aims to bring unique and fresh user experience.
We're short in manpower right now (core members are busy with maintaining source and can't review applicants). Maintainership is closed until source workload is low.
Initialize local repository
repo init -u https://github.com/RisingTechOSS/android -b fifteen --git-lfs
Sync up with this command:
repo sync -c --no-clone-bundle --optimized-fetch --prune --force-sync -j$(nproc --all)
# For gms or chromium 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 -u https://github.com/RisingTechOSS/android -b fifteen --git-lfs
# for SSH
repo init -u git@github.com:RisingTechOSS/android.git -b fifteen --git-lfs
Inherit LineageOS Vendor stuffs
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# friendly tip: builders can use vendor init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.rising.chipset", "Snapdragon 870 5G");
# friendly tip: builders can use vendor init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.rising.maintainer", "maintainer");
# Chipset and Maintainer Prop
#In lineage_<device>.mk Add the following properties to `PRODUCT_BUILD_PROP_OVERRIDES`
Add the following variables:
# Lunch banner maintainer variable
RISING_MAINTAINER="Niv"
# Chipset/Maintainer properties (ro.rising.chipset/ro.rising.maintainer)
# (Optional if builder is setting properties via init_<device>.cpp)
PRODUCT_BUILD_PROP_OVERRIDES += \
RisingChipset="Google Tensor 2" \
RisingMaintainer="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-6.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
# whether to ship aperture camera, default is false
PRODUCT_NO_CAMERA := true/false
# Wether to ship lawnchair launcher
TARGET_PREBUILT_LAWNCHAIR_LAUNCHER := true/false
# GMS build flags
# ship with GMS packages, replaces default AOSP packages with Google manufactured packages.
WITH_GMS := true/false
# These flags needs WITH_GMS set to true
# for more information about core GMS flags, please see vendor/gms/common/common-vendor.mk
# ships core GMS components that are needed to run GMS environment
TARGET_CORE_GMS := true/false
# extra add-ons for core GMS builds
# List of add-ons
# PRODUCT_PACKAGES += \
# Photos \
# MarkupGoogle \
# LatinIMEGooglePrebuilt \
# AiWallpapers \
# WallpaperEmojiPrebuilt \
# PrebuiltDeskClockGoogle \
# CalculatorGooglePrebuilt \
# CalendarGooglePrebuilt \
# Velvet
TARGET_CORE_GMS_EXTRAS := true/false
# on the other hand builders can build customize packages by simply defining product packages
# instead of defining TARGET_CORE_GMS_EXTRAS
# PRODUCT_PACKAGES += \
# add package name here e.g: Velvet \
# LatinIMEGooglePrebuilt (if builder prefers gboard)
# Wether to ship pixel launcher and set it as default launcher
TARGET_DEFAULT_PIXEL_LAUNCHER := true/false
# Android System Intelligence (Pixels devices)
It is recommended for Builders to drop other versions of DevicePersonalization except for DevicePersonalization2020 to avoid breakages on pixel features like Live Captions/NGA etc.
Setting up environment
. build/envsetup.sh
riseup uses all available cores to assign jobs hence making -jX no-op, to utilize -jX use:
riseup <device> <build-type>
rise b
Building fastboot update package
riseup <device> <build-type>
rise fb
Signed build(Replacing testkey with releasekey for play integrity, certification etc.)
riseup <device> <build-type>
# Perform manual key generation
# 'gk' will include keys from vendor/lineage-priv/keys
# after generating keys
gk -s
# For more info about gk (generate keys)
gk -h/--help
# Build the firmware with the preferred method except for 'rise sb'
rise/rise b/mka bacon etc.
Building fully signed ota package
riseup <device> <build-type>
# 'rise sb' is an attempt to automate LineageOS builds signing.
# Reference: https://wiki.lineageos.org/signing_builds
# In case of errors or any other difficulties, avoid using 'rise sb'
# If the builder wants to simply replace the testkey certificate with the releasekey
# Please refer to 'Replacing testkey with releasekey'
# (Automatic generation of keys will be performed if keys do not exist).
# For manual key generation, please use "gk":
gk -f (to regenerate replace old keys, rise sb automatically generate keys for full build signing if no keys exists)
rise sb
Opting out of signed builds
riseup <device> <build-type>
remove_keys # This will remove generated keys so the system will revert back to test keys.
For more information about the rise build command:
rise help
Contributions/Translations are always welcome! Please feel free to do pull requests!
Pull requests will be reviewed by source maintainers and will be merged/added to work-in-progress repositories once changes are verified.