3. Kernel 开发

3.1. ADB 配置

3.1.1. 内核配置

在内核目录下,打开内核配置选项菜单:

make firefly_linux_defconfig
make menuconfig

进入内核配置菜单后依次选择:Device Drivers -> USB Support -> USB Gadget Support

USB Gadget Driver 选项中选择到 USB functions configurable through configfs

同时再选择上 Function filesystem (FunctionFS)

<*>   USB Gadget Drivers (USB functions configurable through configfs)  --->
        USB functions configurable through configfs
[*]       Function filesystem (FunctionFS)

接着在 kernel 目录下编译内核:

make rk3568-firefly.img -j12

编译完成后将内核烧录到板卡上,烧录过程请用户参考相应板卡维基的升级固件页面。

3.1.2. ADB 连接

安装了 ADB 后,用 Micro USB OTG 线连接设备和 PC 机。然后通过命令 adb devices 查看是否有设备连接:

firefly@Desktop:~$ adb devices
List of devices attached
0123456789ABCDEF	device

从返回的信息可以看到已经查找到了设备,表明设备已经成功连接。

设备连接成功后,输入命令 adb shell 即可进入命令行模式:

firefly@Desktop:~$ adb shell
#

此状态下是看不到命令行当前的路径,同时 Tab 键补全功能失效,需要进入一个用户中才可以正常操作。

firefly@Desktop:~$ adb shell
# su firefly
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

firefly@firefly:/$
# 到这里命令行就可以正常使用了

用户也可以使用命令 adb shell /bin/bash,也可以进入正常的命令行模式。

可以输入 adb help 查看命令行帮助信息,注意并不是所有命令都可以使用,帮助信息只做参考。