![](https://s5-media.51cto.com/ost/pc/static/noavatar.gif)
openharmony第三方库toybox添加vi/crontab命令 原创 精华
春节不停更,此文正在参加「星光计划-春节更帖活动」@[toc](openharmony第三方库toybox添加vi/crontab命令
背景
Toybox 是一个功能类似busybox的开源软件工具,由于busybox 使用GNU协议,导致系统编译使用busybox时存在协议“感染”的情况,因此为避免此种情况发生,toybox 由此而产生,但按照目前情况来看,toybox 存在大量的Bug,特别是不用型号兼容之中出现。当前openharmony LTS 3.0 使用toybox 来作为基本命令工具使用,如ls、cat、find等基本命令。
安装
toybox如同busyboxy 一样,可通过裁减方式进行安装使用make menuconfig ,但由于openharmony 3.0 LTS 版本没有完全适配,使用make menucofig 裁减时会出现编译失败情况。
代码仓库
目前toybox仓位于third_party目录下面。
软件版本:0.8.2,最新版本已经到0.8.5
编译
当前toybox已经整合已经通过BUILD.gn添加工程项目之中。执行项目编译之时toybox随同一起编译到项目中。
添加vi命令
首先通过使用命令find / -name vi 查看系统是否已经看放出vi 命令,如果已经开放则不需要在开放vi 名,当然目前vi 并不好使用是,修改bug 社区无法合入
1、修改BUILD.gn文件
进入toybox目录想,修改BUILD.gn文件 操作如下:
cd ~/Openharmony/third_party/toybox
vim BUILD.gn
由于3516 为L2级别开发板,注意ohos_lite为开发板类型L0或L1.
修改情况如下:
添加vi 命令
添加VI对应的源码。
2、修改config.h
cd generated
vim config.h
开放VI命令定义宏。
现在可以通过编译,将VI 命令编译到系统中。当然当前版本的vi 在openharmony没有完成适配存在问题。如果需要使用使用。代码需要修改。
代码如下:
编译完成烧录板子:
添加crond/crontab命令
1、修改BUILD.gn文件,
添加如下内容
添加命令
添加命令源码文件
2、修改config.h文件添加如下内容
3、修改flags.h文件
cd generated
vim flags.h
注意:命令自带有其他参数的需要修改flags.h 文件,否则出现命令无法使用情况
编译烧写开发板,使用crontab 查看安装情况。
代码流程分析
![](https://s5-media.51cto.com/ost/pc/static/noavatar.gif)