#过年不停更# OpenHarmony使用交叉编译的三方二进制丰富系统命令 原创 精华

碼磚民工
发布于 2022-2-16 08:39
浏览
7收藏

【春节不停更,此文正在参加「星光计划-春节更帖活动」】

目录

一、简介

L2(3.0) 设备开发调试时,想修改文档内容。往往需要windows上修改好,然后再通过hdc_std.exe发送到开发板中去,类似的命令缺失很多。最主要是L2不完善,基本命令不丰富。
该文档以添加vi命令为例,利用别人交叉编译好的busybox来给系统添加vi命令。

二、编译

编译,实际上是创建vi到busybox的链接,交叉编译好的busybox见附件。

2.1 编译配置:test\example\partB\busybox\BUILD.gn


import("//build/ohos.gni")
ohos_prebuilt_executable("busybox.exe") {
  source = "./busybox"
  symlink_target_name = [
      "vi"
  ]
  install_enable = true
  subsystem_name = "sub_example"
  part_name = "partB"
}

group("busybox") {
  deps = [
    ":busybox.exe"
  ]
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

2.2 编译配置: test\example\ohos.build

{
    "subsystem": "sub_example",
    "parts": {
        "partB": {
            "module_list": [
                "//test/example/partB/module:module_lib",
                "//test/example/partB/busybox:busybox"
		
            ],
            "inner_kits": [
                {
                    "type": "so",
                    "name": "//test/example/partB/module:module_lib",
                    "header": {
                        "header_files": [
                            "module.h"
                        ],
                        "header_base": "//test/example/partB/module/include"
                    }
                }
            ],
            "system_kits": [],
            "test_list": []
        },
        "partA": {
            "module_list": [
                "//test/example/partA/feature1:libhelloworl1_lib",
                "//test/example/partA/feature2:helloworld2_bin"
            ],
            "inner_kits": [],
            "system_kits": [],
            "test_list": []
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.

这里的编译配置是在【OpenHarmony 设备开发之helloworld】基础上添加的。也可以在其他子系统中添加。

2.3 全量编译

./build.sh --product-name Hi3516DV300 --ccache
  • 1.

#过年不停更# OpenHarmony使用交叉编译的三方二进制丰富系统命令-鸿蒙开发者社区

三、重新烧写系统后

进入系统终端,执行:vi --help
#过年不停更# OpenHarmony使用交叉编译的三方二进制丰富系统命令-鸿蒙开发者社区

vi命令已经有了,可以使用了。
使用别人编译好的闭源动态库参考:【如何使用的闭源库】

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
busybox.rar 589.9K 34次下载
已于2022-11-18 11:06:37修改
9
收藏 7
回复
举报
9
4
7
4条回复
按时间正序
/
按时间倒序
民之码农
民之码农

666

1
回复
2022-2-16 11:04:09
科技维度
科技维度

大佬,等待更新

 

1
回复
2022-3-22 16:29:50
胡泉河_2021
胡泉河_2021

大佬, busybox 的交叉编译是不是要鸿蒙环境里面编译成鸿蒙专用的可执行文件?

回复
2022-8-11 16:44:37
碼磚民工
碼磚民工 回复了 胡泉河_2021
大佬, busybox 的交叉编译是不是要鸿蒙环境里面编译成鸿蒙专用的可执行文件?

我感觉是相同的内核,可能是一类构架的芯片的能识别的可执行程序格式差不多,如果没有依赖库偏差,可能就能运行。用鸿蒙环境编译,不会存在格式问题,也不存在依赖库找不到的问题(不同标准库的加载器不同)。

已于2022-8-12 10:41:30修改
2
回复
2022-8-12 08:50:52


回复
    相关推荐