移植toolbox到普通Linux系统中

来源:互联网 发布:合工大朱大勇现状知乎 编辑:程序博客网 时间:2024/06/05 11:06

移植toolbox到普通Linux系统中

toolbox是Android中专用的busybox,从嵌入式Linux转过来都会大大地吐槽功能简陋。但实质上也有很多特有的很好用的功能。比如getevent命令来调试所有的输入事件。已经静态编译出来了(下载地址:toolbox 静态编译),这里记录一下移植过程。

原本以为会很难,所以一直放很久才开始做,最终很简单,只需要稍加修改Android.mk就可以编译出一个静态链接的toolbox。以下diff文件就是改动信息。

diff --git a/system/core/toolbox/Android.mk b/system/core/toolbox/Android.mkindex 086ba0d..d5aef3b 100755--- a/system/core/toolbox/Android.mk+++ b/system/core/toolbox/Android.mk@@ -91,6 +91,7 @@ LOCAL_SRC_FILES := \        grep/grep.c grep/fastgrep.c grep/file.c grep/queue.c grep/util.c LOCAL_SHARED_LIBRARIES := libcutils libc libusbhost+LOCAL_STATIC_LIBRARIES := libc libcutils LOCAL_C_INCLUDES := bionic/libc/bionic@@ -102,6 +103,7 @@ LOCAL_C_INCLUDES += external/libselinux/include endif+LOCAL_FORCE_STATIC_EXECUTABLE := true LOCAL_MODULE := toolbox # Including this will define $(intermediates).

然后进行编译就自动编译成了静态链接的了。

$ file out/target/product/xxx/system/bin/toolboxout/target/product/xxx/system/bin/toolbox: ELF 32-bit LSB executable, ARM, \version 1 (SYSV), statically linked, stripped$

当然,我没有编译所有的CPU架构的,只是编译了ARMv7的,所以比较低的架构或者其它CPU可能不能直接使用,那么就自行编译吧。

<完>

0 0