Skip to content

meme-os/android

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

MemeOS

MemeOS

Setting up host machine

  • A 64-bit Linux distribution (ubuntu recommended)

  • Packages Required

    • For Ubuntu versions older than 16.04 (xenial), substitute:
    libwxgtk3.0-dev → libwxgtk2.8-dev
sudo apt-get update && sudo apt-get install bc bison build-essential curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev

Getting the source

Repo is a tool provided by Google that simplifies using Git in the context of the Android source.

Installing Repo

# Make a directory where Repo will be stored and add it to the path
$ mkdir -p ~/bin
$ PATH=~/bin:$PATH

# Download Repo itself
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

# Make Repo executable
$ chmod a+x ~/bin/repo

Initializing Repo

# Create a directory where the source will be stored.
# Note: You can name the folder to whatever you want, just replace *MemeOS*
# with the name you intended  to use
$ mkdir -p ~/MemeOS
$ cd ~/MemeOS

# Install the MemeOS Repo in the created directory
$ repo init -u git://github.com/meme-os/android.git -b lineage-16.0

Download the source code

The repo sync command is used to update the latest source code from MemeOS and Google. Remember it, as you may want to do it every few days to keep your code base fresh and up-to-date.

# This may take a while, depending on your internet speed.
#
# The -j# option specifies the number of concurrent download threads to run.
# 4 threads is a good number for most internet connections.
# You may need to adjust this value if you have a particularly slow connection.
$ repo sync --force-sync --force-broken -j4

Building

Device-specific code

To build MemeOS you’ll need an existing device tree, kernel and proprietary blobs. If your device already receive official LineageOS builds you can grab the device tree and kernel here LineageOS Github and the proprietary blobs here TheMuppets Github.

Speed up the build

Make use of ccache if you want to speed up subsequent builds by running:

$ echo "export USE_CCACHE=1" >> ~/.bashrc
$ ~/MemeOS/prebuilts/misc/linux-x86/ccache/ccache -M 50G
  • Where 50G corresponds to 50GB of cache. This needs to be run once. Anywhere from 25GB-100GB will result in very noticeably increased build speeds (for instance, a typical 1hr build time can be reduced to 20min). If you’re only building for one device, 25GB-50GB is fine. If you plan to build for several devices that do not share the same kernel source, aim for 75GB-100GB. This space will be permanently occupied on your drive, so take this into consideration.See more information about ccache on Google’s Android build environment initialization page.

Last step

$ cd ~/MemeOS
$ . build/envsetup.sh && brunch lineage_*my-device*-userdebug

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published