<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.radxa.com/mw/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.radxa.com/mw/index.php?action=history&amp;feed=atom&amp;title=Zero%2FAndroid9</id>
		<title>Zero/Android9 - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.radxa.com/mw/index.php?action=history&amp;feed=atom&amp;title=Zero%2FAndroid9"/>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=Zero/Android9&amp;action=history"/>
		<updated>2026-06-14T00:34:29Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>https://wiki.radxa.com/mw/index.php?title=Zero/Android9&amp;diff=7241&amp;oldid=prev</id>
		<title>Cx at 10:00, 4 January 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=Zero/Android9&amp;diff=7241&amp;oldid=prev"/>
				<updated>2022-01-04T10:00:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:00, 4 January 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; [[Zero | Radxa Zero]] &amp;gt; [[zero/Android9 | Android9]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; [[Zero | Radxa Zero]] &amp;gt; [[zero/Android9 | Android9]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Recommend build host is Ubuntu 16.04 64bit, for other hosts, refer official Android documents [https://source.android.com/setup/build/initializing Establishing a Build Environment].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Recommend build host is Ubuntu 16.04 64bit, for other hosts, refer official Android documents [https://source.android.com/setup/build/initializing Establishing a Build Environment].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cx</name></author>	</entry>

	<entry>
		<id>https://wiki.radxa.com/mw/index.php?title=Zero/Android9&amp;diff=7240&amp;oldid=prev</id>
		<title>Cx: Created page with &quot;{{Zero_header}}  {{Languages|zero/Android9}}       Radxa Zero &gt;  Android9     Recommend build host is Ubuntu 16.04 64bit, for other hosts, refer o...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=Zero/Android9&amp;diff=7240&amp;oldid=prev"/>
				<updated>2022-01-04T10:00:19Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Zero_header}}  {{Languages|zero/Android9}}      &lt;a href=&quot;/Zero&quot; title=&quot;Zero&quot;&gt; Radxa Zero&lt;/a&gt; &amp;gt; &lt;a href=&quot;/Zero/Android9&quot; title=&quot;Zero/Android9&quot;&gt; Android9&lt;/a&gt;     Recommend build host is Ubuntu 16.04 64bit, for other hosts, refer o...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Zero_header}}&lt;br /&gt;
&lt;br /&gt;
{{Languages|zero/Android9}}&lt;br /&gt;
&lt;br /&gt;
    [[Zero | Radxa Zero]] &amp;gt; [[zero/Android9 | Android9]]&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Recommend build host is Ubuntu 16.04 64bit, for other hosts, refer official Android documents [https://source.android.com/setup/build/initializing Establishing a Build Environment].&lt;br /&gt;
&lt;br /&gt;
==== Repo ====&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
    radxa$ wget 'https://storage.googleapis.com/git-repo-downloads/repo' -P /tmp/&lt;br /&gt;
    radxa$ sudo cp /tmp/repo /usr/local/bin/repo&lt;br /&gt;
    radxa$ sudo chmod +x /usr/local/bin/repo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In China Download Repo:&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
    radxa$ echo &amp;quot;export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
    radxa$ source ~/.bashrc&lt;br /&gt;
    radxa$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o /tmp/repo&lt;br /&gt;
    radxa$ sudo cp /tmp/repo /usr/local/bin/repo&lt;br /&gt;
    radxa$ sudo chmod +x /usr/local/bin/repo&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Init Environment ====&lt;br /&gt;
Android's source code primarily consists of Java, C++, and XML files.&amp;lt;br&amp;gt;&lt;br /&gt;
To compile the source code, you'll need to install OpenJDK 8, GNU C and C++ compilers, XML parsing libraries, ImageMagick, and several other related packages.&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
    radxa$ apt-get update -y &amp;amp;&amp;amp; apt-get install -y openjdk-8-jdk python python-pip git-core gnupg flex bison gperf build-essential \&lt;br /&gt;
           zip curl liblz4-tool zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \&lt;br /&gt;
           lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \&lt;br /&gt;
           libgl1-mesa-dev libxml2-utils xsltproc unzip mtools u-boot-tools \&lt;br /&gt;
           htop iotop sysstat iftop pigz bc device-tree-compiler lunzip \&lt;br /&gt;
           dosfstools vim-common parted udev lzop rsync&lt;br /&gt;
    radxa$ pip install pycrypto&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Configure the JAVA environment&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
    radxa$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64&lt;br /&gt;
    radxa$ export PATH=$JAVA_HOME/bin:$PATH&lt;br /&gt;
    radxa$ export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DockerFile ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    FROM ubuntu:xenial&lt;br /&gt;
    RUN apt-get update -y &amp;amp;&amp;amp; apt-get install -y openjdk-8-jdk python python-pip git-core gnupg flex bison gperf build-essential \&lt;br /&gt;
        zip curl liblz4-tool zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \&lt;br /&gt;
        lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \&lt;br /&gt;
        libgl1-mesa-dev libxml2-utils xsltproc unzip mtools u-boot-tools \&lt;br /&gt;
        htop iotop sysstat iftop pigz bc device-tree-compiler lunzip \&lt;br /&gt;
        dosfstools vim-common parted udev lzop rsync&lt;br /&gt;
    RUN pip install pycrypto&lt;br /&gt;
    RUN curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo &amp;gt; /usr/local/bin/repo &amp;amp;&amp;amp; \&lt;br /&gt;
        chmod +x /usr/local/bin/repo&lt;br /&gt;
&lt;br /&gt;
    RUN which repo&lt;br /&gt;
&lt;br /&gt;
    ENV REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' USER=android9-docker&lt;br /&gt;
&lt;br /&gt;
    ARG USER_ID=0&lt;br /&gt;
    ARG GROUP_ID=0&lt;br /&gt;
    RUN groupadd -g ${GROUP_ID} jenkins-docker &amp;amp;&amp;amp; useradd -m -g jenkins-docker -u ${USER_ID} android9-docker&lt;br /&gt;
&lt;br /&gt;
    # git config&lt;br /&gt;
    RUN echo &amp;quot;[user]&amp;quot; &amp;gt; /home/android9-docker/.gitconfig&amp;quot;&lt;br /&gt;
    RUN echo &amp;quot;   name = android9-docker&amp;quot; &amp;gt;&amp;gt; /home/android9-docker/.gitconfig&lt;br /&gt;
    RUN echo &amp;quot;   email = android9-docker@radxa.com&amp;quot; &amp;gt;&amp;gt; /home/android9-docker/.gitconfig&lt;br /&gt;
&lt;br /&gt;
    USER android9-docker&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Build DockerFile&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    radxa$ docker build -t android-builder:9.x --build-arg USER_ID=`id -u` --build-arg GROUP_ID=`id -g` $(which-dir-dockerfile-in)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Download source code ====&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
    radxa$ mkdir zero-android9&lt;br /&gt;
    radxa$ cd zero-android9&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Then run:&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
    radxa:zero-android9$ repo init -u https://gitlab.com/amlogic-android/manifests.git -b p-amlogic -m radxa-w2-p-release.xml&lt;br /&gt;
    radxa:zero-android9$ repo sync -d --no-tags -j4&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
It might take quite a bit of time to fetch the entire AOSP source code(more than 50GB)!&lt;br /&gt;
&lt;br /&gt;
==== One Step Build ====&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
    ./device/amlogic/common/quick_compile.sh 14 1&lt;br /&gt;
&amp;lt;/code bash&amp;gt;&lt;br /&gt;
==== Build u-boot ====&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
    radxa:zero-android9       $ cd bootloader/uboot-repo&lt;br /&gt;
    radxa:zero-android9/bootloader/uboot-repo$ ./mk radxa_zero --systemroot&lt;br /&gt;
    cp build/u-boot.bin ../../device/amlogic/$project_path/bootloader.img;&lt;br /&gt;
&lt;br /&gt;
    cp build/u-boot.bin.usb.bl2 ../../device/amlogic/faraday/upgrade/u-boot.bin.usb.bl2;&lt;br /&gt;
    cp build/u-boot.bin.usb.tpl ../../device/amlogic/faraday/upgrade/u-boot.bin.usb.tpl;&lt;br /&gt;
    cp build/u-boot.bin.sd.bin ../../device/device/amlogic/faraday/upgrade/u-boot.bin.sd.bin;&lt;br /&gt;
&lt;br /&gt;
    radxa:zero-android9/bootloader/uboot-repo$ cd -&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Building AOSP ====&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
    radxa:zero-android9$ source build/envsetup.sh&lt;br /&gt;
    radxa:zero-android9$ lunch faraday-userdebug&lt;br /&gt;
    radxa:zero-android9$ make otapackage -j$(nproc)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
It takes a long time, take a break and wait...&amp;lt;br/&amp;gt;&lt;br /&gt;
Image will be saved as a zip archive in directory &amp;lt;b&amp;gt;out/target/product/faraday&amp;lt;/b&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
The format of file name will be like this &amp;lt;b&amp;gt;faraday-fastboot-flashall-20211104.zip&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&lt;br /&gt;
See https://wiki.radxa.com/Zero/install/eMMC_Android&lt;/div&gt;</summary>
		<author><name>Cx</name></author>	</entry>

	</feed>