侵权投诉

如何将BusyBox移植到RT-Thread Smart下

RTThread物联网操作系统 2021-07-02 11:52 次阅读

BusyBox 是一个集成了数百个常用Linux/Unix命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。

这篇文章将介绍把BusyBox移植到RT-Thread Smart下。

准备工作

以busybox-1.32.0为例,下载源码包:

1$ mkdir -p userapps/gnu-apps/busybox

2$ wget https://busybox.net/downloads/busybox-1.32.0.tar.bz2

移植脚本

与上篇文章有些许不同的是,busybox自带Makefile,所以需要给Makefile里面的一些变量替换成交叉编译环境变量,下面会通过一个patch文件实现。

首先还是创建一份简单的build.sh脚本:

1#!/bin/sh

2 3APP_NAME=“busybox” 4VERSION=“1.32.0” 5APP_DIR=${APP_NAME}-${VERSION}

6 7# userapps is ROOTDIR

8ROOTDIR=${PWD}/。./。.

910# set env

11export RTT_EXEC_PATH=${ROOTDIR}/。./tools/gnu_gcc/arm-linux-musleabi_for_x86_64-pc-linux-gnu/bin

12export PATH=$PATH:$RTT_EXEC_PATH:$RTT_EXEC_PATH/。./arm-linux-musleabi/bin

1314# get src

15tar xjf ${APP_DIR}.tar.bz2

16cd ${APP_DIR}

1718# patch Makefile

19patch -Np1 -i 。./makefile.patch

2021# get default config

22cp 。./def_config .config

2324make V=1

makefile.patch文件如下:

1--- busybox-1.32.0/Makefile.orig 2020-12-24 12:51:40.752730739 +0800 2+++ busybox-1.32.0/Makefile 2020-12-24 12:55:44.162093866 +0800 3@@ -4,6 +4,21 @@

4 EXTRAVERSION =

5 NAME = Unnamed

6 7+

8+CROSS_COMPILE= arm-linux-musleabi-

9+

10+PWD := $(shell pwd)

11+# userapp dir

12+ROOTDIR := $(PWD)/。./。./。.

13+RT_DIR=$(ROOTDIR)/sdk/rt-thread

14+INC_DIR=${ROOTDIR}/sdk/include

15+LIB_DIR=${ROOTDIR}/sdk/lib

16+

17+CFLAGS = -march=armv7-a -marm -msoft-float -D__RTTHREAD__ -Wall -O2 -n --static -I. -I$(RT_DIR)/include -I$(RT_DIR)/components/dfs -I$(RT_DIR)/components/drivers -I$(RT_DIR)/components/finsh -I$(RT_DIR)/components/net -I${INC_DIR}

18+

19+LDFLAGS = -L. -L${LIB_DIR} -T $(ROOTDIR)/linker_scripts/arm/cortex-a/link.lds -march=armv7-a -marm -msoft-float -L$(RT_DIR)/lib -Wl,--whole-archive -lrtthread -Wl,--no-whole-archive -n --static -Wl,--start-group -lrtthread -Wl,--end-group

20+

21+

22 # *DOCUMENTATION*

23 # To see a list of typical targets execute “make help”24 # More info can be located in 。/README

Busybox在编译之前最好通过“make menuconfig”配置一下需要编译的指令,这里为了方便提供一个配置好的def_config文件,在上面的build.sh脚本里面会用到。

文件比较长,请将以下链接复制至外部浏览器打开,打开后可直接下载文件:

https://gitee.com/rtthread/rt-smart-notes/tree/master/examples/busybox

编译:

1userapps/gnu-apps/busybox$ ls

2build.sh busybox-1.32.0.tar.bz2 def_config makefile.patch

3userapps/gnu-apps/busybox$ sh build.sh

使用BusyBox

在Linux上使用BusyBox,一般的方式会是建立一个个的符号链接,例如把ls通过符号链接的方式链接到busybox,这样在调用ls时,实际上会被调用到busybox。只是对于main(int argc, char** argv)来说,这个argv[0]是‘ls’。

当然busybox也支持直接调用busybox,并把命令附加在后面的方式,例如:

1msh /》 busybox.elf ls -l

因为RT-Thread及RT-Thread Smart并不支持符号链接,所以还只能采用后面的形式。

BusyBox包含有很多个指令,可以通过执行“make menuconfig”来配置需要编译的指令。

查看busybox当前可使用的命令可以使用`--help‘ 选项:

查看具体某个指令的使用帮助,如 ls 的:

更多指令

为确保一些特定的指令正常运行,需要在kernel配置里面打开null、random、zero等设备;并确保/etc/resolv.com和/etc/hosts文件存在。

1msh /》 busybox.elf cat /etc/resolv.conf

2nameserver 114.114.114.11434msh /》 busybox.elf cat /etc/hosts

5127.0.0.1 localhost

busybox是一套很精简的工具集,已经在rt-smart上验证过的命令包括(但不限于):

归档类工具,例如 tar/unzip/bzip2/bunzip2/bzcat/gzip/gunzip/zcat/xz/unxz/xzcat 等;

核心类工具,例如 cat/cp/dd/echo/head/ls/mv/mkdir/pwd/rm/tail/uname/wc 等;

编辑类工具,例如 vi/diff/cmp/awk/sed 等;

网络类工具,例如ftpd/tcpsvd/ftpgt/ftpput/tftp/nslookup/telnet/httpd/wget 等

文章出处:【微信公众号:RTThread物联网操作系统】

责任编辑:gt


原文标题:如何把Linux工具里的“军刀”BusyBox移植到RT-Thread Smart?

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

PT展现场直击,广和通5G模组点亮数字化未来

9月27日,2021年中国国际信息通信展览会(以下简称“PT展”)于北京国家会议中心拉开帷幕。本次P....
的头像 小通 发表于 09-28 18:18 7次 阅读
PT展现场直击,广和通5G模组点亮数字化未来

华为智能工厂,首次爆光!让人不可想象...

工业互联网时代来临——经历了机械化和电气化的革命之后,制造业正朝着工业互联网的方向迈进。智能工厂采用基于有线+无线信息物理...
发表于 09-28 17:23 23次 阅读

重磅官宣!纽伦堡会展与博闻创意签署战略合作,德国嵌入式展2022年首次落户上海

万物智联浪潮中,全球嵌入式产业迅猛发展,越来越多优秀的中国嵌入式企业在此浪潮中脱颖而出。
发表于 09-28 17:22 170次 阅读
重磅官宣!纽伦堡会展与博闻创意签署战略合作,德国嵌入式展2022年首次落户上海

京东方与万达传媒共同打造5G/AIoT时代的智慧文化新典范

9月17日,BOE(京东方)携手万达影城打造的《看见·电影生息》主题数字艺术体验空间盛大开幕,该体验....
的头像 京东方BOE 发表于 09-28 16:31 474次 阅读

京东方亮相文博会展示数字艺术的魅力

2021年9月23日,第十七届中国(深圳)国际文化产业博览交易会(以下简称“深圳文博会“)在深圳国际....
的头像 京东方BOE 发表于 09-28 16:20 181次 阅读

农业小型气象站有什么作用?有必要安装吗?

农业小型气象站有什么作用?有必要安装吗?厂家介绍!五谷丰登,瓜果飘香,稻菽卷起千层浪。这是希望的田野....
发表于 09-28 16:06 69次 阅读

iphone13和13pro哪个好 哪款更值得入手

iphone13和13pro小编个人推荐iPhone 13Pro。下面我们就来一起看看iPhone ....
的头像 lhl545545 发表于 09-28 11:30 2028次 阅读

STM32MP157 Linux系统移植开发篇14:Linux内核RGB LCD驱动移植

本文章为《STM32MP157 Linux系统移植开发篇》系列中的一篇,笔者使用的开发平台为华清远见FS-MP1A开发板(STM32M...
发表于 09-28 11:22 101次 阅读

HarmonyOS如何自动生成JS FA调用Java PA的模板代码

JS UI框架提供了JS FA(Feature Ability)调用Java PA(Particle....
的头像 HarmonyOS开发者 发表于 09-28 10:09 116次 阅读

JavaUI框架新增组件开发指南

Java UI框架是HarmonyOS应用开发中诸多开发者需要关注的重要内容。近期,文档君结合各位开....
的头像 HarmonyOS开发者 发表于 09-28 10:04 169次 阅读
JavaUI框架新增组件开发指南

如何对OpenHarmony贡献代码

OpenHarmony 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的....
的头像 HarmonyOS技术社区 发表于 09-28 09:58 120次 阅读
如何对OpenHarmony贡献代码

在鸿蒙上使用Python进行物联网编程

在上一篇帖子《使用 Python 开发鸿蒙设备程序(1-GPIO 外设控制)》中,已经成功的使用 P....
的头像 HarmonyOS技术社区 发表于 09-28 09:55 109次 阅读
在鸿蒙上使用Python进行物联网编程

HarmonyOS与OpenHarmony开发角度上的区别

开篇第一句,所有学习与开发资料以官方资料为准。任何博客类只能作为参考,自行判断优良,不要被误导,包括....
的头像 HarmonyOS技术社区 发表于 09-28 09:31 192次 阅读
HarmonyOS与OpenHarmony开发角度上的区别

用Python完成鸿蒙开发板外设控制

话说很久以前,我将 MicroPython 的解释器给“挖”了出来,然后做了适配,成功运行于鸿蒙设备....
的头像 HarmonyOS技术社区 发表于 09-28 09:22 141次 阅读

如何利用linux来开发属于自己的嵌入式项目

如何利用linux来开发属于自己的嵌入式项目?有哪些流程?...
发表于 09-28 07:39 0次 阅读

芯海科技信号链MCU助力个护产品智能化升级

9月27日,由中国家用电器协会主办的2021美健(个护)电器行业技术交流会在广州召开。
发表于 09-27 18:01 577次 阅读
芯海科技信号链MCU助力个护产品智能化升级

iphone13pro蓝色和白色哪个好看

 iphone13pro蓝色和白色小编个人认为蓝色更好看,iPhone13的蓝色新配色看起来更加明亮....
的头像 lhl545545 发表于 09-27 16:04 1555次 阅读

测土仪器哪个牌子好 

土壤环境直接影响农业种植的产量和品质,根据土壤品质来进行施肥调整,是改善土壤状况,提高农业生产产量,....
发表于 09-27 16:03 93次 阅读

BOE京东方“你好 BOE”美好生活馆收官 智慧科技成功破圈

9月26日,作为BOE(京东方)年度品牌巡展的收官之站,“你好 BOE”美好生活馆在深圳欢乐海岸狂欢....
发表于 09-27 15:48 48次 阅读
BOE京东方“你好 BOE”美好生活馆收官 智慧科技成功破圈

Linux 新手必掌握技能

嵌入式对于我们这些初学者来讲应该比较纠结吧,因为嵌入式的学习过程是一个困难的过程,对于刚入门者来讲更是这样。那么在Linux...
发表于 09-27 14:29 0次 阅读
Linux 新手必掌握技能

苹果13mini参数和12mini对比

苹果13mini参数和12mini对比
的头像 lhl545545 发表于 09-27 11:13 1885次 阅读

数字型一体式多参数水质在线监测系统有哪些设备?

数字型一体式多参数水质在线监测系统 一.产品概述 这款多参数水质在线检测仪由硬件和软件两部分组成,硬....
发表于 09-27 10:29 64次 阅读

物联网具有哪些特性技术应用?

什么是物联网? 物联网具有哪些特性技术应用? ...
发表于 09-27 07:42 0次 阅读

瑞萨电子推出首个基于热电堆探测器产品家族

瑞萨公司将推出基于热电堆的探测器满足医疗及物联网应用领域的高可靠性关键任务应用的准确性需求,以及Di....
的头像 lhl545545 发表于 09-26 14:40 1036次 阅读

华为欧拉系统合作公司有哪些

华为欧拉操作系统openEuler在9月25日已经正式全面发布,欧拉操作系统主要针对云服务器而提供服....
的头像 lhl545545 发表于 09-26 10:57 1804次 阅读

华为欧拉os系统是家用的吗

华为欧拉os系统可以家用,华为欧拉os操作系统是基于Linux开发的,它融入了华为对于服务器场景的很....
的头像 lhl545545 发表于 09-26 10:39 1387次 阅读

模组真的是AIoT时代的基础设施吗

在AIoT智联网发展过程中,模组究竟占据着怎样的关键地位?对于表计领域而言,模组是远程抄表中数据稳定....
的头像 移远通信 发表于 09-26 10:34 609次 阅读

汇顶科技低功耗蓝牙SoC通过PSA安全认证

PSA认证是Arm联合多家独立安全测试实验室及咨询机构,面向物联网芯片、软件和设备推出的相关测试与认....
发表于 09-26 10:12 380次 阅读
汇顶科技低功耗蓝牙SoC通过PSA安全认证

ARM体系结构的基本特性介绍

01ARM汇编指令 操作系统中硬件相关的部分集中体现在汇编指令和对寄存器的操作中,因此我们对ARM体....
的头像 硬件攻城狮 发表于 09-26 10:04 127次 阅读
ARM体系结构的基本特性介绍

单片机、Cortex-M与Linux和嵌入式有什么区别

单片机、Cortex-M、Linux它们和嵌入式有什么区别? 跑 Linux 操作系统需要什么处理器....
的头像 硬件攻城狮 发表于 09-26 09:59 109次 阅读

华为欧拉发布会直播在哪看

华为欧拉发布会直播大家可以通过华为云官网进行观看直播。9月25日,华为通过线上平台正式发布了新一代o....
的头像 lhl545545 发表于 09-26 09:32 1181次 阅读

物联网的发展历程看完你就知道了

物联网的发展历程看完你就知道了
发表于 09-26 09:21 0次 阅读

Linux下的AVR单片机开发不看肯定后悔

Linux下的AVR单片机开发不看肯定后悔
发表于 09-26 07:51 0次 阅读

华为重磅宣布!“鸿蒙+欧拉”两大操作系统将打通、联接全场景,绝不放弃手机业务!

电子发烧友网报道(文/黄晶晶)9月25日,华为孟晚舟回国的消息刷屏了。据央视报道,当地时间24日,孟....
的头像 芯链 发表于 09-26 07:51 2709次 阅读
华为重磅宣布!“鸿蒙+欧拉”两大操作系统将打通、联接全场景,绝不放弃手机业务!

Vision是如何实现安全分析与防护的

Vision平台是干嘛用的? Vision是如何实现安全分析与防护的? Vision平台还有什么强大之处? ...
发表于 09-26 07:31 0次 阅读

关于汽车操作系统的前世今生看完你就懂了

关于汽车操作系统的前世今生看完你就懂了
发表于 09-26 06:40 0次 阅读

【样例分享】基于OpenHarmony物联网套件开发--IO控制(gpio_led)

HiSpark WiFi-IoT开发套件在HDC 2020首发,是首批支持OpenHarmony 2.0的开发套件,更是OpenHarmony官方推荐套件,由...
发表于 09-24 21:52 0次 阅读
【样例分享】基于OpenHarmony物联网套件开发--IO控制(gpio_led)

华为欧拉系统免费吗

华为欧拉系统是免费的。华为欧拉系统是华为公司针对企业级Linux服务器操作系统自研开发的,可以覆盖到....
的头像 lhl545545 发表于 09-24 17:44 1519次 阅读

华为欧拉系统下载安装教程

华为欧拉系统是一款具备高安全性、高可扩展性的企业级Linux操作系统平台,能够满足客户从传统IT基础....
的头像 lhl545545 发表于 09-24 17:14 5850次 阅读

华为欧拉系统和鸿蒙系统的区别

华为公司全新操作系统openEuler欧拉系统明天(9月25日)即将正式发布,华为此前就已经发布了鸿....
的头像 lhl545545 发表于 09-24 16:56 5087次 阅读

华为欧拉系统怎么样

根据华为公司的官方消息公布,华为将在25日发布全新openEuler欧拉操作系统。华为欧拉系统跟华为....
的头像 lhl545545 发表于 09-24 16:29 1890次 阅读

欧拉操作系统是个啥东西 欧拉操作系统上市公司有哪些

 欧拉操作系统是华为公司自主研发的服务器操作系统,具有高性能、高可靠性、安全性高等特点,可以改善软硬....
的头像 lhl545545 发表于 09-24 16:09 6389次 阅读

如何使用NMT和pmap来解决JVM的资源泄漏问题

编者按:笔者使用 JDK 自带的内存跟踪工具 NMT 和 Linux 自带的 pmap 解决了一个非....
的头像 openEuler 发表于 09-24 16:00 171次 阅读
如何使用NMT和pmap来解决JVM的资源泄漏问题

小型气象站常规参数有哪些?

小型气象站常规参数有哪些?气象站参数有很多,不同单位,不同用途,不同地区,需要的参数不同。用的比较多....
发表于 09-24 15:32 55次 阅读

华为欧拉系统什么时候发布

 华为欧拉系统将于9月25日正式发布,早在2019年9月,华为欧拉系统openEuler 开源社区就....
的头像 lhl545545 发表于 09-24 15:30 955次 阅读

Linux下Apache性能分析总结

Linux下Apache性能分析总结(深圳核达中远通电源技术有限公司地址)-该文档为Linux下Ap....
发表于 09-24 14:53 17次 阅读
Linux下Apache性能分析总结

智慧农业气象站的作用介绍

智慧农业气象站的作用介绍FT-CQX9【风途】 今年的秋分节气,本以为到了秋分节气天气要凉爽了,但是....
发表于 09-24 14:50 226次 阅读

综合农业环境监测站的特点有哪些?

综合农业环境监测站的特点有哪些?FT-CQX10【风途】从最近天气预报来看,“秋老虎”天气要在9月底....
发表于 09-24 14:43 19次 阅读

农业环境监测站的技术参数

农业环境监测站的技术参数FT-CQX8 【风途】农业气象专家提醒,9月下旬盆地多降水,应及时收获已成....
发表于 09-24 14:39 17次 阅读

@所有物联网企业,2021慧聪品牌盛会评选【报名通道】盛大开启!

品牌盛会作为慧聪物联网和慧聪电子网历年来重磅打造的品牌特色评选活动,从2003年的第一届,到今年已经....
发表于 09-24 14:28 225次 阅读
@所有物联网企业,2021慧聪品牌盛会评选【报名通道】盛大开启!

华为欧拉系统概念股大涨

今日早些时候,当华为公司官宣将全新发布操作系统openEuler欧拉后,欧拉相关等概念股全线大幅上涨....
的头像 lhl545545 发表于 09-24 11:18 2693次 阅读

农药残留速测仪在食堂上的应用

农药残留速测仪【恒美HM-NC16】已经跟随者科技快速前进的步伐走进了各大食堂,在学校食堂,或者各个....
发表于 09-24 10:54 53次 阅读

华为将推出openEuler欧拉操作系统 华为欧拉操作系统发布时间曝光

根据媒体的报道消息称,华为近日将会正式推出openEuler欧拉操作系统。据悉,华为公司此前就已经发....
的头像 lhl545545 发表于 09-24 10:33 1057次 阅读

亮相2021全球智博会,Ruff南潮物联助力物联网与人工智能深度融合

作为物联网底层技术服务商,Ruff南潮物联从2015年成立起,先后发布了物联网底层操作系统Ruff ....
发表于 09-24 10:04 519次 阅读
亮相2021全球智博会,Ruff南潮物联助力物联网与人工智能深度融合

大米重金属检测仪的功能特点介绍

大米重金属检测仪的功能特点介绍【霍尔德仪器HED-IG-SZ】为保障食品重金属含量超标而生产的仪器,....
发表于 09-24 10:04 33次 阅读

什么是智能工厂-物联网系统

智能工厂是在数字化工厂的基础上,以实现生产过程和经营业务最优化为目的,利用物联网技术和监控技术加强信....
发表于 09-24 09:33 17次 阅读

AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)

TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...
发表于 09-25 11:51 346次 阅读
AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)