拿到 hikey970 板子几天时间,基本都在尝试烧录系统和修改分区。这里做一下记录。
官方网址: https://www.96boards.org/ ,国内网站:http://smartfire.cn/forum-64-4.html
系统镜像文件都是免费下载的。
目前提供的镜像文件有 Android、Debian、Lebuntu 以及预装了 tensorflow 的 Debian,是由Lemaker提供的。
笔者分别尝试烧录了这几个系统,其中 Lebuntu 烧录之后就是 ubuntu16.04 (xenial),板载的wifi模块可以直接连无线网,使用最方便,因此最终决定使用 ubuntu。
一、烧录过程:
1、在Ubuntu虚拟机中安装烧录工具,下载镜像文件的压缩包并进行解压。
sudo apt-get install android-tools-adb
sudo apt-get install android-tools-fastboot
cd “下载目录”
tar -xvzf hikey970-lebuntu-16.04.tar.gz
cd hikey970-lebuntu-16.04
2、给 hikey970 板断电,将4位拨码开关拨到 ON OFF ON OFF,用USB type-c数据线将板子的 Type C 接口与 Ubuntu 虚拟机连接。
3、给板子通电后,在虚拟机中打开终端,使用 lsusb 指令查看是否有 Google Inc. 字样的USB设备,如果有则执行步骤4,如果没有则执行步骤5。
4、执行指令
./flash-all-binaries.sh
即可完成系统烧录。
5、注意仔细看第3条,当没有 Google Inc. 设备被识别时才执行这条。先将拨码改为 ON ON ON OFF,重启板子,查看USB终端编号
ls /dev/tty*
记住终端名称 /dev/ttyUSBx 其中 x 可能是 0、1、2等数字,在镜像文件的目录中执行
./binaries/recovery-flash.sh /dev/ttyUSBx
即可完成系统烧录。
6,烧录完成后,将拨码改为 ON OFF OFF OFF,其中第一个 ON 表示通电后立即启动。
7、登录系统,用户名和密码都是 shunya,在终端中查看系统详情。
#:lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial
注意事项:在烧录前通读文件夹中的 lebuntu-rfs_flashing_guide.txt 文件,其中有详细的操作说明;如果之前烧录了 Debian,再次烧录 Lebuntu 之后开机发现系统仍然是 Debian,可以先烧录 Android 再烧录 Lebuntu 就能成功了。
二、USB-UART的使用
板子的另一个 USB Type-C 接口标号是 DEBUG,实际上是一个 USB-UART 接口,通过板载芯片将 USB 转变为 UART 信号。
在Ubuntu虚拟机中连接这个USB线,通过指令查看终端编号 ls /dev/tty* ,可以看到终端的编号是 /dev/ttyXRUSB0,可以通过 screen 方式来使用这个终端。
#安装screen
sudo apt-get install screen
#使用screen连接
sudo screen /dev/ttyXRUSB0 115200
也可以在Windows环境下通过 putty 等工具访问这个接口,需要安装驱动程序。
https://download.csdn.net/download/sir_wkp/10898390
在终端下的用户名和密码也是 shunya。
三、修改分区
首先查看默认的分区空间,在 hikey970 上登录系统后在终端中输入指令
df -h
可以看到根目录只有不到 4GB 的空间。
扩展空间需要重新进行分区镜像文件的烧写。
下载地址: https://download.csdn.net/download/sir_wkp/10908541
下载之后拷贝到 Ubuntu 虚拟机中。将hikey970拨码拨到 ON OFF ON OFF,用USB Type-C 数据线连接板子 TYPE C 接口和 Ubuntu 虚拟机(参考上述烧录步骤)。执行一条指令
sudo fastboot flash ptable 64gtoendprm_ptable.img
重新将拨码拨到 ON OFF OFF OFF,登录 hikey970 板载系统,在终端中输入指令 sudo fdisk -l 查看分区情况。
#: sudo fdisk -l
Device Start End Sectors Size Type
/dev/sdd1 256 511 256 1M Microsoft basic data
/dev/sdd2 512 3583 3072 12M Microsoft basic data
/dev/sdd3 3584 5119 1536 6M Microsoft basic data
/dev/sdd4 5120 8191 3072 12M Linux filesystem
/dev/sdd5 8192 73727 65536 256M Microsoft basic data
/dev/sdd6 73728 73983 256 1M Microsoft basic data
/dev/sdd7 73984 94463 20480 80M EFI System
/dev/sdd8 94464 98559 4096 16M EFI System
/dev/sdd9 98560 102655 4096 16M Microsoft basic data
/dev/sdd10 102656 106751 4096 16M Microsoft basic data
/dev/sdd11 106752 107263 512 2M Microsoft basic data
/dev/sdd12 107264 15611907 15504644 59.1G Linux filesystem
可以看到最后一个分区是 /dev/sdd12,大小接近60G。
输入指令 df -h,查看根目录大小是否变化。如果还是小于 4GB,则需要输入指令
sudo resize2fs /dev/sdd12
来手动调整分区大小,最终得到的结果是。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 59G 4.5G 52G 8% /
devtmpfs 2.8G 0 2.8G 0% /dev
tmpfs 2.9G 0 2.9G 0% /dev/shm
tmpfs 2.9G 17M 2.8G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup
tmpfs 577M 0 577M 0% /run/user/107
tmpfs 577M 0 577M 0% /run/user/1000
根目录已经扩展到59GB。
下面就可以愉快的安装各种应用程序了。
亲测 ros-kinect 可以直接按照官网教程来安装,至于其他工具软件能否直接用于此款 ARM 核心的开发板还需要视具体情况而定。