【SA8295】Android 如何添加busybox telnetd 服务
一、下载 busybox-1.36.1.tar.bz2 源码包
busybox
官网链接:BusyBoxbusybox-1.36.1.tar.bz2
下载链接:https://busybox.net/downloads/busybox-1.36.1.tar.bz2
二、编译 busybox 源码
这个不会随着 Android
自动编译,需手动编译好,将编译后的文件上库
编译方法,参考 busybox-1.36.1\INSTALL
文件
-
make defconfig
, 生成.config
defconfig
(默认配置)、allyesconfig
(最大配置)、allnoconfig
(最小配置), -
make menuconfig
,根据.config
内容,图形化界面进行修改添加或去除某些命令 -
make CROSS_COMPILE=aarch64-linux-gnu-
可以指定其他的编译器, 如aarch64-linux-gnu-
或aarch64-linux-android-
三、将编译后的 busybox 打包编入Android 镜像中
- 编写
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := busybox
LOCAL_SRC_FILES := busybox
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := EXECUTABLES
ifeq ($(TARGET_BUILD_VARIANT),$(filter $(TARGET_BUILD_VARIANT),userdebug eng))
LOCAL_INIT_RC := busybox-telnetd.rc
else
LOCAL_INIT_RC := user/busybox-telnetd.rc
endif
include $(BUILD_PREBUILT)
- 编写
Android.dp
cc_prebuilt_binary {
name: "busybox",
vendor_available: true,
init_rc: ["busybox-telnetd.rc"],
srcs: ["busybox"],
}
- 修改
msmnile_gvmq.mk
,将busybox
参与编译
# android/device/qcom/msmnile_gvmq/msmnile_gvmq.mk
PRODUCT_PACKAGES += busybox
- 编写
busybox-telnetd.rc
,让telnetd
服务自启动
# busybox-telnetd.rc
service busybox-telnetd /system/bin/busybox telnetd -b 192.168.118.1:1024 -F -l /system/bin/sh
class core
user shell
group shell input log adb readproc sdcard_rw sdcard_r net_bt_admin net_bt inet net_bw_stats uhid
seclabel u:r:shell:s0
setenv HOSTNAME console
writepid /dev/cpuset/system-background/tasks
- 下载后,开机后查看
telnetd
服务是否启动:ps -ef | grep busybox