Code Monkey home page Code Monkey logo

platform_manifest-octos's Introduction

Team-OctOS Android Source

Getting Started

To get started with the Team-OctOS sources, you'll need to get familiar with Git and Repo.

Creating Your SSH Keys

Check to see if you already have existing SSH Keys.

ls ~/.ssh

By default, SSH Keys are saved as: id_rsa and id_rsa.pub

If you do NOT have these files, continue. If you DO have these, skip the next step!

Note: If you already have existing SSH Keys, doing this will overwrite them!

cd ~
ssh-keygen -t rsa

It will ask you where to store the key (defaults to ~/.ssh/id_rsa) and will ask if you wish to enter a password. If you enter a password, you will need to enter this EVERY TIME.

Registering Your SSH Keys

We recommend (and will assume) that you are using your SSH Keys for GitHub and Gerrit review.

cat ~/.ssh/id_rsa.pub

This will display your PUBLIC SSH Key. This is what you will put on GitHub and Gerrit, and will be used to identify you to those services.

Please see GitHub's Step 3: Add your SSH key to GitHub to add your key to your account.

Creating your SSH Config File

After creating your SSH Key, you will need to create a configuration file so the system will know to use these keys automatically.

Open your ~/.ssh/config file in your favorite editor (nano, gedit, vim, etc).

nano ~/.ssh/config

and add the following code blocks.

Host review.teamoctos.com
    User <Gerrit_UserName>
    IdentityFile ~/.ssh/id_rsa
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null
Host github.com
    User <GitHub_Registered_Email>
    IdentityFile ~/.ssh/id_rsa
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

and then save. This will allow your system to automatically supply your SSH key when connecting to these hosts.

Create the Directories

You will need to set up some directories in your build environment.

To create them run:

mkdir -p ~/bin
mkdir -p ~/octos

Install the Repository Binary

Enter the following to download the "repo" binary and make it executable:

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo

You may need to reboot for these changes to take effect. Now enter the following to initialize the repository:

Install External Libraries Needed for Building

These libraries are needed for building, but not installed by default or carried by the ROM.

Ensure System is up-to-date and add libraries needed that are not included in stock Linux

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install libcap-dev texinfo automake autoconf libgmp-dev libexpat-dev python-dev liblz4-tool

Required when using SaberMOD's toolchain

wget https://github.com/SaberMod/prebuilts_cloog_isl/archive/master.zip -O prebuilts_cloog_isl-master.zip && unzip prebuilts_cloog_isl-master.zip && sudo cp -R prebuilts_cloog_isl-master/lib/* -f /usr/lib/x86_64-linux-gnu && sudo ln -s /usr/include/asm-generic /usr/include/asm

Set the Team OctOs environmental flags - Add these to the bottom of ~/.bashrc

# OctOs Build Flags
export CCACHE_DIR=$HOME/.ccache
export USE_CCACHE=1
export USE_PREBUILT_CHROMIUM=1

alias git-pl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

#set up ccache if not present
if [ ! -d "$CCACHE_DIR" ]; then
    $HOME/octos/prebuilts/misc/linux-x86/ccache/ccache -M 50G
fi

The below flag(s) are OPTIONAL

export TO_OR=xx

The TO_OR variable allows the user to set the concurrent threads when builds (-j#). If it is not set, it will be automatically set to the number of CPU cores available to the system.

Initialize the Repositories

cd ~/octos
repo init -u https://github.com/Team-OctOS/platform_manifest.git -b oct-mm && repo sync

This will initialize the new repository and begin the initial sync. This will take a while!

Building the System

Initialize the environment with the envsetup.sh script. Note: Replacing "source" with a single dot saves a few characters, and the short form is more commonly used in documentation.

. build/envsetup.sh
brunch

Enter the number of the build you want to start and press enter

The first time you build a device, the system will identify and fetch the required device repos.

Submitting Patches

Patches are always welcome! Please submit your patches via Team-OctOS Gerrit!

<This section to be filled in at a later time>

Make your changes and commit with a detailed message, starting with what you are working with (i.e. vision: Update Kernel) Commit your patches in a single commit. Squash multiple commit using this command: git rebase -i HEAD~<# of commits>

To view the status of your and others' patches, visit Team-OctOS Code Review

platform_manifest-octos's People

Contributors

rmcc avatar hyperb1iss avatar ryzenforce990 avatar koush avatar hedwig34 avatar mikeng avatar intervigilium avatar somnayna avatar ciwrl avatar ctso avatar euclidgeo avatar invisiblek avatar cjkacz avatar 0xd34d avatar tdmcyngn avatar tomgiordano avatar jruesga avatar chirayudesai avatar championswimmer avatar cretin45 avatar delphij avatar slayher avatar tpruvot avatar romanbb avatar rashed97 avatar npv0 avatar greniaz avatar scintill avatar jrior001 avatar hnl avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.