Android 8.1 kernel development environment construction record

1, Preliminary preparation for environmental construction

  • 1.1
    Download the Ubuntu 20.iso installation image
    Download VMware 15 virtual machine management software

  • 1.2
    Install Ubuntu 20 environment, 8core, 16G memory, 500G hard disk
    Install common tools
    sudo apt-get update
    sudo apt-get install vim net-tools openssh-server

2, Download the source code of android 9
This paper adopts the method of domestic Tsinghua source
The process is as follows:

  • Configure environment variables
#Install GIT and configure your git account
sudo apt-get install git curl
git config --global user.email "xxxx@xx.com"
git config --global user.name "xxxx"

#Configure PATH environment variable
mkdir ~/bin
echo "PATH=~/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
  • Download repo
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
  • Download AOSP-8 source code
#Create and initialize the aosp warehouse directory
mkdir aosp
cd aosp
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r1 --repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo

#Synchronization code
repo sync

Error 1 reported in the process:

robot@ubuntu:~/aosp$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r1 --repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
Downloading Repo source from https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
fatal: unable to access 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo/': server certificate verification failed. CAfile: none CRLfile: none
repo: error: "git" failed with exit status 128
  cwd: /home/robot/aosp/.repo/repo
  cmd: ['git', 'fetch', '--quiet', '--progress', 'origin', '+refs/heads/*:refs/remotes/origin/*', '+refs/tags/*:refs/tags/*']
fatal: cloning the git-repo repository failed, will remove '.repo/repo' 

terms of settlement

robot@ubuntu:~/aosp$ git config --global http.sslverify false
robot@ubuntu:~/aosp$ git config --global https.sslverify false

Error 2 in process:

robot@ubuntu:~/aosp81$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.5.0_r1 --repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
/usr/bin/env: 'python': No such file or directory

terms of settlement:
Install python 2.7 and set the default choice of python version

sudo apt install python2.7

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2  //Ubuntu 20 is the python version installed by default

After resolving the error:

robot@ubuntu:~/aosp81$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r1 --repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
Downloading manifest from https://aosp.tuna.tsinghua.edu.cn/platform/manifest
remote: Enumerating objects: 6434, done.
remote: Counting objects: 100% (6434/6434), done.
remote: Compressing objects: 100% (2445/2445), done.
remote: Total 91787 (delta 3304), reused 6049 (delta 3074)
Receiving objects: 100% (91787/91787), 21.52 MiB | 47.90 MiB/s, done.
Resolving deltas: 100% (34756/34756), done.

Your identity is: dtltljb <ljb@lqtech.com>
If you want to change this, please re-run 'repo init' with --config-name

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white 
Enable color display in this user account (y/N)? y

repo has been initialized in /home/robot/aosp81

  • Synchronization source code error 1
error: Unable to fully sync the tree.
error: Downloading network changes failed.
Try re-running with "-j1 --fail-fast" to exit at the first error.
  • Solution 1
robot@ubuntu:~/aosp81$ repo sync -j1 --fail-fast
Fetching: 26% (156/592) platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9

4, Install dependent packages and update installation sources

  • Update the Tsinghua source of the installation source to improve the speed of subsequent installation of dependent packages

sudo vim /etc/apt/source.list
Append the following to the end of the file.

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

Then execute the following command
source /etc/apt/source.list
sudo apt-get update
sudo apt-get upgrade

  • Install and compile dependent packages
sudo apt-get install -y libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install -y tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install -y git-core gnupg flex bison gperf build-essential
sudo apt-get install -y zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install -y libc6-dev-i386
sudo apt-get install -y lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install -y libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install -y lib32z-dev ccache
sudo apt-get install -y libssl-dev
sudo apt-get install -y libncurses5
## Install all libraries at once
sudo apt-get install -y libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib flex bison gperf build-essential libncurses5-dev:i386 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev libxml2-utils xsltproc unzip m4 lib32z-dev ccache libncurses5 
  • Install openjdk1.8

sudo apt install openjdk-8-jdk

5, Compiling aosp-8 source code

  • Initialize compilation environment variables
source build/envsetup.sh
luanch 

Select 6 to compile AOSP_ x86_ 64 eng is the android image of x86-64 environment.
Set the compilation target through the lunch instruction, that is, what kind of device the generated image will run on. The simulator is an X86 platform and will run faster. You can also use the compilation target name here, such as lunch AOSP_ x86_ 64 eng, because the compilation target names and sequence numbers of different versions are different.

Format of compilation target: BUILD-BUILDTYPE, such as AOSP above_ x86_ The BUILD of 64 eng is aosp_x86_64. BUILDTYPE is Eng. BUILD refers to the specific name of the combination of specific functions, which indicates the environment in which the compiled image can run. aosp(Android Open Source Project) represents Android open source project; Arm means that the system is running on the processor of arm architecture, arm64 means 64 bit arm architecture processor, and x86 means x86 architecture processor. BUILD TYPE refers to the compilation type. There are usually three types:

-user: This means that the compiled system image is a version that can be officially released to the market, and its permission is limited (for example, no) root Permission, cannot dedug Etc.)
-userdebug: stay user Version based on the open root Permissions and debug jurisdiction.
-eng: representative engineer,That is, the version of the so-called development engineer has the greatest authority( root And so on), in addition, there are many attached debug Tools.
  • compile

make -j8

#This parameter is related to the number of computer cpu cores. It is usually determined according to the core of your machine's cup: core*2.

  • Compilation error 1:
[  0% 75/89253] Ensuring Jack server is installed and started
FAILED: setup-jack-server 
/bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar  2>&1 || (exit 0) ) && (JACK_SERVER_VM_ARGUMENTS=\"-Dfile.encoding=UTF-8 -XX:+TieredCompilation\" prebuilts/sdk/tools/jack-admin start-server 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update server prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar 4.11.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.32.CANDIDATE.jar 4.32.CANDIDATE || exit 47 )"

Jack server already installed in "/home/robot/.jack-server"
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/robot/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher

Jack server failed to (re)start, try 'jack-diagnose' or see Jack server log
SSL error when connecting to the Jack server. Try 'jack-diagnose'
SSL error when connecting to the Jack server. Try 'jack-diagnose'
ninja: build stopped: subcommand failed.
22:29:09 ninja failed with: exit status 1
#### failed to build some targets (05:31 (mm:ss)) ####
  • Solution 1:
    Two modifications are made here. One is SSL error when connecting to the Jack server. Try 'Jack diagnose', and the other is an error
    I may forget the record.

Modify the jack server port address as follows:

(1)
robot@ubuntu:~$ cat .jack-settings 
# Server settings
SERVER_HOST=localhost
SERVER_PORT_SERVICE=27755    ## Port number here
SERVER_PORT_ADMIN=27765

# Internal, do not touch
SETTING_VERSION=4

(2)
robot@ubuntu:~$ cat .jack-server/config.properties 
#
#Fri Oct 15 22:18:39 PDT 2021
jack.server.idle=180
jack.server.max-service.by-mem=1\=2147483648\:2\=3221225472\:3\=4294967296
jack.server.shutdown=21600
jack.server.time-out=7200
jack.server.max-jars-size=104857600
jack.server.service.port=27755   ## Port number here
jack.server.admin.port=27765
jack.server.config.version=4
jack.server.max-service=4
jack.server.deep-idle=900

Amend the second paragraph to read as follows:

The file path is as follows:
prebuilts/sdk/tools/jack-admin

 JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx8000M -cp $LAUNCHER_JAR $LAUNCHER_NAME"
A: prebuilts/sdk/tools/jack-admin File, in JACK_SERVER_COMMAND="...... -cp ......" -cp Add before-Xmx8000m(8000m About half of the memory size, depending on the host configuration used)
B: By viewing files $HOME/.jack-server/logs/jack-server-*.log 
JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096M}"

Common commands for testing Jack server

jack-admin kill-server/start-server Command, look start-server Whether it can run successfully.
  • Compilation error 2:
  File "build/tools/merge-event-log-tags.py", line 51
    except getopt.GetoptError, err:
                            ^
SyntaxError: invalid syntax
  • Solution 2:
    Set the version of Python 2.7 as the default version

  • Compilation error 3:

[  0% 54/87502] Lex: applypatch <= bootable/recovery/edify/lexer.ll
FAILED: out/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libedify_intermediates/lexer.cpp 
/bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -oout/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libedify_intermediates/lexer.cpp bootable/recovery/edify/lexer.ll"
flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Aborted (core dumped)
[  0% 61/87502] build out/target/common/obj/JAVA_LIBRARIES/sdk_v21_intermediates/classes.jack
ninja: build stopped: subcommand failed.
02:14:44 ninja failed with: exit status 1
  • Solution 3:

Add export LC at the end of ~ /. bashrc_ ALL=C

Compilation success result record

warning: no entries written for string/next_action (0x7f0902d7)
warning: no entries written for string/done_action (0x7f0902d8)
warning: no entries written for string/account_folder_list_summary_starred (0x7f0902d9)
warning: no entries written for string/account_folder_list_summary_drafts (0x7f0902da)
warning: no entries written for string/account_folder_list_summary_outbox (0x7f0902db)
warning: no entries written for string/exchange_name (0x7f0902dc)
warning: no entries written for plurals/message_view_attachment_bytes (0x7f110015)
warning: no entries written for plurals/message_view_attachment_kilobytes (0x7f110016)
warning: no entries written for plurals/message_view_attachment_megabytes (0x7f110017)
warning: no entries written for plurals/message_view_attachment_gigabytes (0x7f110018)
[ 90% 79449/87443] target Strip (mini debug info): mdnsd (out/target/product/generic_x86_64/obj/EXECUTABLES/mdnsd_intermediates/mdnsd)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/system/bin/mdnsd: no symbols
[ 90% 79491/87443] target Strip (mini debug info): micro_bench_static (out/target/product/generic_x86_64/obj/EXECUTABLES/micro_bench_static_intermediates/micro_bench_static64)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/system/xbin/micro_bench_static64: no symbols
[ 91% 79593/87443] target Strip (mini debug info): mke2fs_static (out/target/product/generic_x86_64/obj/EXECUTABLES/mke2fs_static_intermediates/mke2fs_static)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/recovery/root/sbin/mke2fs_static: no symbols
[ 91% 79594/87443] target Strip (mini debug info): e2fsdroid_static (out/target/product/generic_x86_64/obj/EXECUTABLES/e2fsdroid_static_intermediates/e2fsdroid_static)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/recovery/root/sbin/e2fsdroid_static: no symbols
[ 91% 79719/87443] target Strip (mini debug info): charger (out/target/product/generic_x86_64/obj/EXECUTABLES/charger_intermediates/charger)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/sbin/charger: no symbols
[ 91% 79886/87443] target Strip (mini debug info): init (out/target/product/generic_x86_64/obj/EXECUTABLES/init_intermediates/init)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/init: no symbols
[ 91% 79910/87443] target Strip (mini debug info): recovery (out/target/product/generic_x86_64/obj/EXECUTABLES/recovery_intermediates/recovery)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/recovery/root/sbin/recovery: no symbols
[ 91% 80087/87443] target Strip (mini debug info): micro_bench_static_32 (out/target/product/generic_x86_64/obj_x86/EXECUTABLES/micro_bench_static_intermediates/micro_bench_static)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/system/xbin/micro_bench_static: no symbols
[ 94% 82281/87443] target Strip (mini debug info): simpleperf (out/target/product/generic_x86_64/obj/EXECUTABLES/simpleperf_intermediates/simpleperf)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/system/xbin/simpleperf: no symbols
[ 94% 82332/87443] target Strip (mini debug info): simpleperf_32 (out/target/product/generic_x86_64/obj_x86/EXECUTABLES/simpleperf_intermediates/simpleperf32)
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-nm: out/target/product/generic_x86_64/symbols/system/xbin/simpleperf32: no symbols
[ 94% 82721/87443] //hardware/interfaces/neuralnetworks/1.0:android.hardware.neuralnetworks@1.0 header-abi-diff android.hardware.neuralnetworks@1.0.so.abidiff
******************************************************
VNDK Abi broken: Please check compatiblity report at : out/soong/.intermediates/hardware/interfaces/neuralnetworks/1.0/android.hardware.neuralnetworks@1.0/android_x86_64_shared_core/android.hardware.neuralnetworks@1.0.so.abidiff
*****************************************************
[ 96% 84379/87443] //hardware/interfaces/neuralnetworks/1.0:android.hardware.neuralnetworks@1.0 header-abi-diff android.hardware.neuralnetworks@1.0.so.abidiff [x86]
******************************************************
VNDK Abi broken: Please check compatiblity report at : out/soong/.intermediates/hardware/interfaces/neuralnetworks/1.0/android.hardware.neuralnetworks@1.0/android_x86_x86_64_shared_core/android.hardware.neuralnetworks@1.0.so.abidiff
*****************************************************
[ 97% 85659/87443] //frameworks/av/media/libstagefright/codecs/mpeg2dec:libstagefright_soft_mpeg2dec header-abi-diff libstagefright_soft_mpeg2dec.so.abidiff [x86]
******************************************************
VNDK Abi broken: Please check compatiblity report at : out/soong/.intermediates/frameworks/av/media/libstagefright/codecs/mpeg2dec/libstagefright_soft_mpeg2dec/android_x86_x86_64_shared_core/libstagefright_soft_mpeg2dec.so.abidiff
*****************************************************
[ 98% 86114/87443] Target userdata fs image: out/target/product/generic_x86_64/userdata.img
Running:  mkuserimg.sh out/target/product/generic_x86_64/data out/target/product/generic_x86_64/userdata.img ext4 data 576716800 -D out/target/product/generic_x86_64/system -L data out/target/product/generic_x86_64/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin
make_ext4fs -T -1 -S out/target/product/generic_x86_64/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin -L data -l 576716800 -a data out/target/product/generic_x86_64/userdata.img out/target/product/generic_x86_64/data out/target/product/generic_x86_64/system
Creating filesystem with parameters:
    Size: 576716800
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7040
    Inode size: 256
    Journal blocks: 2200
    Label: data
    Blocks: 140800
    Block groups: 5
    Reserved block group size: 39
Created filesystem with 89/35200 inodes and 12365/140800 blocks
out/target/product/generic_x86_64/userdata.img maxsize=588791808 blocksize=2112 total=576716800 reserve=5947392
[ 99% 87431/87443] build out/target/product/generic_x86_64/obj/NOTICE.xml
Combining NOTICE files into text
Combining NOTICE files into XML
[ 99% 87434/87443] build out/target/product/generic_x86_64/obj/NOTICE_VENDOR.xml
Combining NOTICE files into text
Combining NOTICE files into XML
[ 99% 87438/87443] Target vendor fs image: out/target/product/generic_x86_64/vendor.img
Running:  mkuserimg.sh out/target/product/generic_x86_64/vendor out/target/product/generic_x86_64/vendor.img ext4 vendor 100000000 -D out/target/product/generic_x86_64/system -L vendor out/target/product/generic_x86_64/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin
make_ext4fs -T -1 -S out/target/product/generic_x86_64/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin -L vendor -l 100000000 -a vendor out/target/product/generic_x86_64/vendor.img out/target/product/generic_x86_64/vendor out/target/product/generic_x86_64/system
Creating filesystem with parameters:
    Size: 99999744
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 6112
    Inode size: 256
    Journal blocks: 1024
    Label: vendor
    Blocks: 24414
    Block groups: 1
    Reserved block group size: 7
Created filesystem with 371/6112 inodes and 5567/24414 blocks
out/target/product/generic_x86_64/vendor.img maxsize=102091968 blocksize=2112 total=99999744 reserve=1032768
[ 99% 87439/87443] Create vendor-qemu.img
1+0 records in
2048+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00485287 s, 216 MB/s
95+1 records in
96+0 records out
100663296 bytes (101 MB, 96 MiB) copied, 0.0745038 s, 1.4 GB/s
1048576+0 records in
1048576+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.714193 s, 1.5 MB/s
Creating new GPT entries.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
Setting name!
partNum is 0
REALLY setting name!
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
[ 99% 87441/87443] Target system fs image: out/target/product/generic_x86_64/obj/PACKAGING/systemimage_intermediates/system.img
Running:  mkuserimg.sh out/target/product/generic_x86_64/system out/target/product/generic_x86_64/obj/PACKAGING/systemimage_intermediates/system.img ext4 system 2684354560 -D out/target/product/generic_x86_64/system -L system out/target/product/generic_x86_64/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin
make_ext4fs -T -1 -S out/target/product/generic_x86_64/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin -L system -l 2684354560 -a system out/target/product/generic_x86_64/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/generic_x86_64/system out/target/product/generic_x86_64/system
Creating filesystem with parameters:
    Size: 2684354560
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8192
    Inode size: 256
    Journal blocks: 10240
    Label: system
    Blocks: 655360
    Block groups: 20
    Reserved block group size: 159
Created filesystem with 2634/163840 inodes and 301781/655360 blocks
[ 99% 87442/87443] Install system fs image: out/target/product/generic_x86_64/system.img
out/target/product/generic_x86_64/system.img+ maxsize=2740556544 blocksize=2112 total=2684354560 reserve=27684096
[100% 87443/87443] Create system-qemu.img
1+0 records in
2048+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00495976 s, 211 MB/s
2560+0 records in
2560+0 records out
2684354560 bytes (2.7 GB, 2.5 GiB) copied, 15.0664 s, 178 MB/s
1048576+0 records in
1048576+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.709724 s, 1.5 MB/s
Creating new GPT entries.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
Setting name!
partNum is 0
REALLY setting name!
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

#### build completed successfully (01:25:40 (hh:mm:ss)) ####

robot@ubuntu:~/aosp81$ 

6, Verify compilation results

  • Run simulator
source build/envsetup.sh
lunch 6
emulator

So far, the kernel development environment of Android 8.1 compiled by ourselves has been built.

Reference link:
https://harmonyos.51cto.com/posts/7977,
Thank you very much for your efforts.

Tags: git Ubuntu

Posted on Sun, 24 Oct 2021 14:34:37 -0400 by atokatim