HiKey 960 - 2 - Android compile
前篇 : UART
按照這個 Android 提供的步驟 - Link
操作前要接好 USB TypeC 的線到 Host PC (e.g. Ubuntu)
*** Please tell me who you are
這時候可以設定
git config --global user.email "你的 email account"
git config --global user.name "你的名字"
可以用
git config --global -l
看是否有設定進去
(2) repo sync 要花一段時間...
因為網路問題, 會出現 Exited sync due to fetch errors
先改成 repo sync -j10 -f 試試
2. Download and extract binaries into the Android source tree:
3. Build:
Solution : sudo apt-get install m4
(2) /bin/bash: prebuilts/misc/linux-x86/bison/bison: No such file or directory
Solution:
sudo apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32z1-dev
(3) xmllint: command not found
Solution : sudo apt-get install libxml2-utils
(4) NB 當機
Solution : jobs 改少些看看 : make -j10
(1) < waiting for any device >
https://github.com/96boards-hikey/tools-images-hikey960/
另外要設定 udev rule file
首先先看 lsusb
Bus 002 Device 005: ID 18d1:d00d Google Inc.
其中 18d1 就是 USB vendor ID, d00d 就是 USB product ID
sudo vi /etc/udev/rules.d/51-android.rules
加入
SUBSYSTEM=="usb", ATTRS{idVendor}=="1801", ATTRS{idProduct}=="d00d", MODE="0666", GROUP="plugdev"
並設定檔案屬性
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
重新啟動 service
sudo service udev restart
之後, 雖然在 fastboot mode 下 仍無法使用 adb , 但已經可以執行 ./flash-all.sh 用 fastboot 燒錄
(2) Turn off switch 3 - (Ext. boot) 後, 重開
log 可以看到
[ 0.000000] Linux version 4.9.41-gf48b3b5b324d (android-build@vpec4.mtv.corp.google.com) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Tue Aug 8 06:52:15 UTC 2017
adb devices
按照這個 Android 提供的步驟 - Link
操作前要接好 USB TypeC 的線到 Host PC (e.g. Ubuntu)
Compiling userspace
- Download the Android source tree:
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j24
*** Please tell me who you are
這時候可以設定
git config --global user.email "你的 email account"
git config --global user.name "你的名字"
可以用
git config --global -l
看是否有設定進去
(2) repo sync 要花一段時間...
因為網路問題, 會出現 Exited sync due to fetch errors
先改成 repo sync -j10 -f 試試
2. Download and extract binaries into the Android source tree:
wget https://dl.google.com/dl/android/aosp/arm-hikey960-NOU-7ad3cccc.tgz
tar xzf arm-hikey960-NOU-7ad3cccc.tgz
./extract-arm-hikey960.sh
3. Build:
(1) m4 command not found. ./build/envsetup.sh
lunch hikey960-userdebug
make -j32
Solution : sudo apt-get install m4
(2) /bin/bash: prebuilts/misc/linux-x86/bison/bison: No such file or directory
Solution:
sudo apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32z1-dev
(3) xmllint: command not found
Solution : sudo apt-get install libxml2-utils
(4) NB 當機
Solution : jobs 改少些看看 : make -j10
Installing initial images
- Select fastboot mode turning ON switch 1 and 3 (for details, refer to the HiKey960 user guide).
- Power the board.
- Flash initial images:
cd device/linaro/hikey/installer/hikey960
./flash-all.sh
- Turn OFF switch 3 and power cycle the board.
(1) < waiting for any device >
https://github.com/96boards-hikey/tools-images-hikey960/
sudo apt install android-tools-adb android-tools-fastboot
另外要設定 udev rule file
首先先看 lsusb
Bus 002 Device 005: ID 18d1:d00d Google Inc.
其中 18d1 就是 USB vendor ID, d00d 就是 USB product ID
sudo vi /etc/udev/rules.d/51-android.rules
加入
SUBSYSTEM=="usb", ATTRS{idVendor}=="1801", ATTRS{idProduct}=="d00d", MODE="0666", GROUP="plugdev"
並設定檔案屬性
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
重新啟動 service
sudo service udev restart
之後, 雖然在 fastboot mode 下 仍無法使用 adb , 但已經可以執行 ./flash-all.sh 用 fastboot 燒錄
(2) Turn off switch 3 - (Ext. boot) 後, 重開
log 可以看到
[ 0.000000] Linux version 4.9.41-gf48b3b5b324d (android-build@vpec4.mtv.corp.google.com) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Tue Aug 8 06:52:15 UTC 2017
的確是剛 build 的
(3) adb devices
no permissions
這是因為 adb 需要有 root 權限啟動 server, 比較方便作法是,
我們可以設 adb 為 root 身分執行 :
sudo chown root:root /usr/bin/adb
sudo chmod a+x /usr/bin/adb
sudo chmod a+s /usr/bin/adb
adb kill-server
這樣 再做 adb devices, 就會出現:
List of devices attached
0123456789ABCDEF device
(4) Android 版本
這時就可以用 adb shell 進去, 或
adb shell getprop
可以看到 ro.build.version.codename : [O]
表示不是 release 版 [REL] , 而是 Android O 的 preview 開發版本
adb devices
留言
張貼留言