KaiOS

From MozillaWiki
Revision as of 09:48, 16 July 2020 by Gsvelto (talk | contribs) (Created page with "This page contains information about the Mozilla/KaiOS collaboration including building instructions, links to the code and various other resources. The scope of the project i...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page contains information about the Mozilla/KaiOS collaboration including building instructions, links to the code and various other resources. The scope of the project is to modernize the old Boot2Gecko codebase to run atop a modern Gecko so that it can be used by KaiOS as a basis for their future phones.

Building

There's two ways to build the project: a full emulator build or a stand-alone Gecko build. Generally speaking you won't need the full emulator build unless you're doing work specifically on it.

Building a stand-alone Gecko

Clone the kaios project branch:

hg clone https://hg.mozilla.org/projects/kaios

Bootstrap your build environment via mach (this needs to be implemented see bug 1653198

./mach bootstrap --no-system-changes --no-interactive --application-choice b2g

Add a suitable mozconfig file, this should have at least the following options (TODO: prepare a default mozconfig for first-time users)

ac_add_options --enable-application=b2g
ac_add_options --with-target-arch-name=x86_64

Build as usual with ./mach build

Building the emulator

This involves downloading the entire AOSP tree and building an Android emulator from it, including the Gecko bits. It's a long and slow process and it requires at least 120GB of free space on your disk.

Clone the B2G tree

git clone https://github.com/kaiostech/B2G.git

Configure the tree for building the x86-64 emulator. This step will download all the AOSP sources required for the build which are 10s of GB so be patient

REPO_INIT_FLAGS="--depth=1" ./config.sh emulator-10-x86_64

Setup your environment to fetch the custom NDK

export LOCAL_NDK_BASE_URL='ftp://ftp.kaiostech.com/ndk/android-ndk'

Install Gecko dependencies

cd gecko && ./mach bootstrap --application-choice mobile

Build by invoking the build.sh script in the top-level directory. Depending on your machine this step can take anywhere from 30 minutes to several hours

./build.sh