Skip to content

Commit

Permalink
Improve phrasing and content of some wiki pages
Browse files Browse the repository at this point in the history
Change-Id: Ib4d553a9981569eb11c1a8dfdcd2e14612eb1633
  • Loading branch information
timschumi committed Oct 17, 2017
1 parent c719644 commit 7800a15
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 28 deletions.
2 changes: 1 addition & 1 deletion _data/strings.yml
@@ -1,5 +1,5 @@


# placed here for translation purposes
search_placeholder_text: search...
search_placeholder_text: Search...
search_no_results_text: No results found.
22 changes: 12 additions & 10 deletions _includes/templates/device_build.md
Expand Up @@ -23,14 +23,14 @@ or use what you’ve learned to build a new app or port to a new device-- or may
* A relatively recent 64-bit computer (Linux, OS X, or Windows) with a reasonable amount of RAM and about 100 GB of free storage (more if you enable `ccache`
or build for multiple devices). The less RAM you have, the longer the build will take (aim for 8 GB or more). Using SSDs results in considerably faster
build times than traditional hard drives.
* A USB cable compatible with the {{ device.vendor }} {{device.name}} (typically micro USB)
* A decent internet connection & reliable electricity :)
* A USB cable compatible with the {{ device.vendor }} {{device.name}}
* A decent internet connection and reliable electricity :)
* Some familiarity with basic Android operation and terminology. It would help if you've installed custom roms on other devices and are familiar with recovery.
It may also be useful to know some basic command line concepts such as `cd` for “change directory”, the concept of directory hierarchies, that in Linux they are separated by /, etc.
It may also be useful to know some basic command line concepts such as `cd`, which stands for “change directory”, the concept of directory hierarchies, and that in Linux they are separated by /, etc.

{% include tip.html content="If you are not accustomed to using Linux, this is an excellent chance to learn. It’s free -- just download and run a virtual machine (VM) such as
[VirtualBox](https://www.virtualbox.org), then install a Linux distribution such as [Ubuntu](https://www.ubuntu.com) ([AOSP vets Ubuntu as well](https://source.android.com/source/initializing.html)).
Any recent 64-bit version should work great, but the latest Long Term Support (LTS) version is recommended. There are plenty of instructions on setting VirtualBox up with Ubuntu, so we'll leave that to you." %}
Any recent 64-bit version should work great, but the latest Long Term Support (LTS) version is recommended. There are plenty of instructions on setting up VirtualBox to run Ubuntu, so we'll leave that to you." %}

Let's begin!

Expand Down Expand Up @@ -92,7 +92,7 @@ Different versions of LineageOS require different JDK (Java Development Kit) ver
* LineageOS 14.1: OpenJDK 1.8 (install `openjdk-8-jdk`)
* LineageOS 11.0-13.0: OpenJDK 1.7 (install `openjdk-7-jdk`)\*

\* Ubuntu 16.04 and newer do not have OpenJDK 1.7 in the standard package repositories. See *Ask Ubuntu* question [How do I install openjdk 7 on Ubuntu 16.04 or higher?](http://askubuntu.com/questions/761127/how-do-i-install-openjdk-7-on-ubuntu-16-04-or-higher) Note that the suggestion to use PPA openjdk-r is outdated (the PPA has never updated their offering of openjdk-7-jdk, so it lacks security fixes); skip that answer even if it is the most upvoted.
\* Ubuntu 16.04 and newer do not have OpenJDK 1.7 in the standard package repositories. See the *Ask Ubuntu* question "[How do I install openjdk 7 on Ubuntu 16.04 or higher?](http://askubuntu.com/questions/761127/how-do-i-install-openjdk-7-on-ubuntu-16-04-or-higher)". Note that the suggestion to use PPA openjdk-r is outdated (the PPA has never updated their offering of openjdk-7-jdk, so it lacks security fixes); skip that answer even if it is the most upvoted.

### Create the directories

Expand All @@ -105,6 +105,8 @@ mkdir -p ~/bin
mkdir -p ~/android/lineage
```

The `~/bin` directory will contain the git-repo tool (commonly named "repo") and the `~/android/lineage` directory will contain the source code of LineageOS.

### Install the `repo` command

Enter the following to download the `repo` binary and make it executable (runnable):
Expand Down Expand Up @@ -154,15 +156,15 @@ repo init -u https://github.com/LineageOS/android.git -b {% if device.current_br

### Download the source code

To start the download of the source code to your computer:
To start the download of the source code to your computer, type the following:

```
repo sync
```

The LineageOS manifests include a sensible default configuration for repo, which we strongly suggest you use (i.e. don't add any options to sync).
For reference, our default values are `-j 4` and `-c`. The `-j 4` part means that there will be four simultaneous threads/connections. If you experience
problems syncing, you can lower this to `-j 3` or `-j 2`. On the other hand, `-c` will ask repo to pull in only the current branch, instead of the entire LineageOS history.
problems syncing, you can lower this to `-j 3` or `-j 2`. On the other hand, `-c` will ask repo to pull in only the current branch instead of all branches that are available on GitHub.

{% include note.html content="This may take a while, depending on your internet speed. Go and have a beer/coffee/tea/nap in the meantime!" %}

Expand All @@ -181,7 +183,7 @@ breakfast {{ device.codename }}
This will download your device's [device specific configuration](https://github.com/LineageOS/{{ device.tree }}) and
[kernel](https://github.com/LineageOS/{{ device.kernel }}).

{% include important.html content="Some maintainers require a vendor directory to be populated before breakfast will succeed. If you receive an error here about vendor
{% include important.html content="Some devices require a vendor directory to be populated before breakfast will succeed. If you receive an error here about vendor
makefiles, jump down to [_Extract proprietary blobs_](#extract-proprietary-blobs). The first portion of breakfast should have succeeded, and after completing you can [rerun
`breakfast`](#prepare-the-device-specific-code)" %}

Expand Down Expand Up @@ -229,13 +231,13 @@ or add that line to your `~/.bashrc` file.
{% if device.current_branch >= 14 %}
### Configure jack

[Jack](http://source.android.com/source/jack.html) is the new Java compiler used when building LineageOS 14.1. It is known to run out of memory - a simple fix is to run this command:
[Jack](http://source.android.com/source/jack.html) is the currently used Java toolchain for building LineageOS 14.1. It is known to run out of memory often if not configured correctly - a simple fix is to run this command:

```
export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"
```

Adding that command to your `~/.bashrc` file will automatically configure Jack to allocate a sufficient amount of memory.
Adding that command to your `~/.bashrc` file will automatically configure Jack to allocate a sufficient amount of memory (in this case, 4GB).
{% endif %}

### Start the build
Expand Down
4 changes: 2 additions & 2 deletions pages/contributors.md
Expand Up @@ -124,15 +124,15 @@ pathways that connect to potential contributors to teams that have contribution

### Mirror manifest

The mirror manifest can be found [here](https://www.github.com/LineageOS/mirror).
These people are responsible for [our mirror manifest](https://www.github.com/LineageOS/mirror).

| Name | Nickname |
|----------------|-----------|
| Tim Schumacher | TimSchumi |

### Website

These persons are responsible for the content of [our website](https://www.lineageos.org/):
These people are responsible for the content of [our website](https://www.lineageos.org/):

| Name | Nickname |
|-----------------|------------|
Expand Down
2 changes: 1 addition & 1 deletion pages/device_requests.md
Expand Up @@ -12,6 +12,6 @@ Sorry to let you down, but LineageOS device support has nothing to do with the n

There's more to this story, though. Be wary of individuals who tout, "I bought a new device! It will therefore have fancy AOSP soon!" All too often, these are folks who underestimate the difficulty of bringing AOSP to a device. Even skilled maintainers cannot predict all the hurdles they will face in bring-up. Someone who says "soon" is someone who hasn't experienced the utter joy of having a device 99% finished, but one last function (e.g. fingerprint reader, HDR, encryption) takes months to get working.

Perhaps the only somewhat reliable indicator of whether a device may be officially supported is when a developer's hard work in bringing-up a device is forked over to [github.com/lineageos](https://github.com/lineageos). Notice, this is *after* a developer (or regular Joe, see below) puts in the time and effort to get LineageOS running reliably. There's still no guarantee of official support at this point; the device needs to meet a number of quality control checklist items and the developer needs to agree to maintain the device over time. But, there's at least a decent chance.
Perhaps the only somewhat reliable indicator of whether a device may be officially supported is when a developer's hard work in bringing-up a device is forked over to [github.com/LineageOS](https://github.com/LineageOS). Notice, this is *after* a developer (or regular Joe, see below) puts in the time and effort to get LineageOS running reliably. There's still no guarantee of official support at this point; the device needs to meet a number of quality control checklist items and the developer needs to agree to maintain the device over time. But, there's at least a decent chance.

Ok, so if nobody is making headway on your device, where do you go from here? Consider that the majority of the device maintainers for LineageOS have significantly different day jobs than Android device maintenance (or even programming, for that matter). If you are passionate enough about getting LineageOS up and running on your device, you can make it happen. Start easy; buy an old, but well [supported device](devices.html) and try compiling your first ROM. Once you're running software you compiled yourself, start investigating the device configuration files. Tweak, and then tweak some more. Eventually, see what you're able to accomplish on _your_ device of interest!
2 changes: 1 addition & 1 deletion pages/extracting_blobs_from_zips.md
@@ -1,6 +1,6 @@
---
sidebar: home_sidebar
title: Extracting proprietary blobs from installable zip
title: Extracting proprietary blobs from LineageOS zip files
permalink: extracting_blobs_from_zips.html
---
## Introduction
Expand Down
2 changes: 1 addition & 1 deletion pages/faq.md
Expand Up @@ -28,7 +28,7 @@ permalink: faq.html
- Don't ask.

## My device doesn't pass SafetyNet!
- Some devices pass their bootloader unlock status and verity status to android's kernel during boot. We don't purposefully remove those flags, as it isn't our place to lie about security features.
- Some devices pass their bootloader unlock status and verity status to android's kernel during boot. We don't purposefully remove those flags, as it isn't our place to lie about security features. There's also a [blog post](https://www.lineageos.org/Safetynet/) about this topic, which explains our reasons further.

## Can you enable signature spoofing?
- Once again, it isn't our place to lie about security features. No.
Expand Down
25 changes: 14 additions & 11 deletions pages/how-tos/submitting_to_gerrit.md
Expand Up @@ -19,22 +19,24 @@ Then, make sure your local git username matches with your Gerrit username::
git config --global review.review.lineageos.org.username "gerrit username"
```

If you already have SSH keys set up (e.g. for GitHub), skip the following steps.
If you already have SSH keys set up (e.g. for GitHub), skip the following two steps.

Generate SSH keys,<sup>[[1]](#TroubleshootingTag)</sup> and copy/paste to your Gerrit account under **Settings -> SSH Public Keys**:
Generate the SSH keys,<sup>[[1]](#TroubleshootingTag)</sup>:

```
ssh-keygen -t rsa -C "your@email.com"
```

Make sure your keys are added to your ssh agent:
Add the keys to the ssh-agent:

```
eval `ssh-agent -s`
ssh-add ~/.ssh/id_rsa
ssh-add
```

After that, copy/paste the content of `~/.ssh/id_rsa.pub` to your Gerrit SSH Settings under **Settings -> SSH Public Keys**.

The steps above have to be performed only once.


Expand Down Expand Up @@ -65,7 +67,7 @@ Your shell will then navigate to the root of the sources, `~/android/lineage` or

### Uploading your changes

First, you need to start a topic branch. This 'branch' holds the changes you make to the files on your computer that you will ultimately send to the LineageOS's Gerrit instance for review. Create your topic branch:
First, you need to start a topic branch. This branch holds the changes you make to the files on your computer that you will ultimately send to the LineageOS' Gerrit instance for review. Create your topic branch:

```
repo start <branch name> <project path>
Expand All @@ -81,16 +83,17 @@ cd path/to/project

Do all the changes you need.

{% include warning.html content="Make sure you do not edit any files before you run `repo start`, otherwise your changes will happen on a different branch and will not be tracked correctly." %}
{% include warning.html content="Make sure you do not commit any changes before you run `repo start`, otherwise your changes will happen on a different branch and will not be tracked correctly." %}

After you make your changes, you can commit them just as you normally would:

```
git add <file you edited>
git commit
```
Alternatively you can run `git add .` to stage all changes.

{% include tip.html content="The first line of your commit message will become the change's title. Add a blank line after the title and write the summary of changes there, if you would like. Make sure that each line does not exceed 80 chars." %}
{% include tip.html content="The first line of your commit message will become the change's title. Add a blank line after the title and write the summary of changes there, if you would like. Make sure that each line does not exceed 80 chars and the title should not exceed 50 chars." %}

Now you can upload your changes to Gerrit:

Expand Down Expand Up @@ -126,7 +129,7 @@ Make sure you add the files that you've modified by using `git add`. Once you're
git commit --amend
```

This will open an editor with your initial commit message. You can change the commit message if you want to, but make sure the last two lines stay as are as it contains the initial change ID and a blank line. With this id, Gerrit will detect your upload as a patch set and not as a new patch.
This will open an editor with your initial commit message. You can change the commit message if you want to, but make sure the line starting with Change-Id remains unchanged as it contains the initial change ID. With this id, Gerrit will detect your upload as a patch set and not as a new patch.

{% include note.html content="The default editor is vi. This can be changed by the EDITOR environment variable to any editor you like." %}

Expand Down Expand Up @@ -187,8 +190,8 @@ repo start mychanges-wpa_supplicant .
Make changes, edit a few files, add new drivers.. etc.

```
git add *
git commit -am 'Added AWEXT drivers'
git add .
git commit -m 'Added AWEXT drivers'
repo upload .
```

Expand All @@ -197,12 +200,12 @@ repo upload .
<sup>[1]</sup> If you get a "Permission denied (publickey)" error and you're sure that everything is right, try using a DSA key instead of RSA.

```
ssh-keygen -t dsa -C "<email>@<server>.<domain>"
ssh-keygen -t dsa -C "your@email.com"
```

## Getting your submission reviewed/merged

All submitted patches go through a code review process prior to merger. In addition to getting reviewed by your peers, selected project members have the capability to merge your code into LineageOS (to make sure they get informed, add one or more responsible reviewers to your change). To see a breakdown of who is responsible for the various areas, please see the list of [LineageOS contributors](contributors.html).
All submitted patches go through a code review process prior to being merged. In addition to getting reviewed by your peers, certain project members have the capability to merge your changes into LineageOS (to make sure they get informed, add one or more responsible reviewers to your change). To see a breakdown of who is responsible for the various areas, please see the list of [LineageOS contributors](contributors.html).

## Common commands

Expand Down
2 changes: 1 addition & 1 deletion pages/how-tos/translate.md
Expand Up @@ -9,7 +9,7 @@ tags:

## How to translate

We use [Crowdin](https://crowdin.com/projects/LineageOS) as our translation system. To contribute with translations, create an account there, click the desired language and apply as translator. Once you are accepted, you can click through the various files and suggest translations.
We use [Crowdin](https://crowdin.com/projects/LineageOS) as our translation system. To submit translations, create an [account](https://crowdin.com/join), click the desired language and apply as translator. Once you are accepted, you can click through the various files and suggest translations.

### Difference between LineageOS and LineageOS AOSP

Expand Down

0 comments on commit 7800a15

Please sign in to comment.