busybox 安装mysql | 您所在的位置:网站首页 › busybox专业安装 › busybox 安装mysql |
下载busybox源码并解压 busybox的官方网站是http://www.busybox.net/,在这里你可以找到与busybox相关的所有资料,如下为下载的当前最新版本 在ubuntu下解压busybox 从网络上下载到的源码包, 最常见的是 .tar.gz 包, 还有一部分是 .tar.bz2包 要解压很简单 : .tar.gz 格式解压为 tar -zxvf xx.tar.gz .tar.bz2 格式解压为 tar -jxvf xx.tar.bz2 ctrl+alt+T 打开终端 ,sudo su 或 sudo root 获取root权限后, 在busybox所在目录下执行 #tar -jxvf busy+Tab即可解压 编译busybox 进入busybox解压后的目录中,我们选择可选配置的方式,执行 #make menuconfig 这是因为ubuntu系统中缺少一个套件 ncurses devel ,把此套件安装下即可,执行 # apt-get install libncurses5-dev 如果有需要,可执行清除命令: #make distclean 接着再次执行 #make menuconfig, 我们可以按空格键选择“Build BusyBox as ...”,按esc退出并保存配置文件.config # make menuconfig Busybox Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs) //(1) (1) 这个选项是一定要选择的,这样才能把busybox编译成静态链接的可执行文件,运行时才独立于其他函数库.否则必需要其他库文件才能运行,在单一个linux内核不能使他正常工作。 指定其它的编译器,我们可以根据相关平台选择: 进入后选择:Download Lite Edition, 如下图,根据对应平台选择所需的交叉编译器。 编译在X86平台(Intel)下的busybox ARM平台:arm-linux-gnueabi- X86平台:i686-pc-linux-gnu- 下载完毕,我们将其放到ubuntu的一目录下(可以和先前下载的busybox源代码放在同一目录下),并将其解压,并复制下在bin目录下i686-pc-linux-gnu-的完整路径。在终端bin目录下执行命令pwd, 可以得到完整路径,复制下来即可。 /home/htp1204/busybox/ia32-2012.09/bin/i686-pc-linux-gnu- 在menuconfig中,我们进入Busybox Settings中的Build Options中,如下图,选静态链接的可执行文件并指定交叉编译器i686-pc-linux-gnu-的完整路径。 保存menuconfig的配置,下面开始编译busybox #make 开始编译 出现错误: inetd.c:(.text.prepare_socket_fd+0x7e): undefined reference to `bindresvport' 编译inetd包时出错,我们在menuconfig中取消对inetd的选择 (技巧:在menuconfig中按“/”键,进入搜索界面,再输入内容“inetd"即可。 在Networking Utilities中取消对inetd的选择 再次在busybox目录下执行 编译成功, 我们#ls查看,可以发现在busybox目录下可以看到busybox的可执行档。 我们只需将此档拷贝到adb文件所在的同一目录下,通过 adb push 命令将其push到我们的设备中,尔后便可以在device shell中busybox中的指令来进行相关操作。 如: #busybox vi xxxx #busybox cat xxxx 等等。 编译在ARM平台下的busybox 下载ARM平台的交叉编译方式,同样是在: 选择“Download th GNU/Linux Release” 会提示需要输入你的姓名以及email, 系统会将相关下载链接发到你的邮箱中。 将下载的ARM平台交叉编译文件放置 ubuntu目录下并通过tar命令对其解压。 #tar -jxvf arm-2013.11-33-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 完毕,进入menuconfig在busybox setting下指定ARM Cross Compiler prefix的完整路径,如下图 3、安装进android 连上手机数据线,在设置中的开发人员选项中勾选USB调试, 并将前面编译成功的busybox执行文档拷贝到adb目录下。 然后执行 adb push busybox /sdcard/ #将busybox push进SD卡 adb shell #进入终端 su #取得root权限 mount -o remount,rw /dev/block/mtdblock6 /system #重新mount使/system可写 mv busybox /system/bin/ #移动busybox chmod 777 /system/bin/buxybox #设为可执行 mount -o remount,ro /dev/block/mtdblock6 /system #恢复/system为只读 busybox #执行busybox BusyBox v1.15.2 (2009-12-02 21:29:32 EST) multi-call binary Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko and others. Licensed under GPLv2. See source distribution for full notice. #有类似以上内容输出表示成功 其实只要有了交叉编译工具基本上大部份的开源软件都是能够使用静态编译而在android上运行的。 |
CopyRight 2018-2019 实验室设备网 版权所有 |