【转】busybox及bash在android中的安装及init.rc修改

来源:互联网 发布:中关村软件基地骗局 编辑:程序博客网 时间:2024/06/06 03:30

 

busybox及bash在android中的安装及init.rc修改

 

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明

http://zhiyazw.blogbus.com/logs/33430727.html

 

ramdisk的制作

2.6内核开始,initrd.img采用cpio压缩,ramdisk.img也一样,使用gunzip解压缩,然后再使用cpio解包。

1)将ramdisk.img复制其他目录,名称改为ramdisk.img.gz,解压

#gunzipramdisk.img.gz

 

//新建一个文件夹ramdisk,进入

#cpio-i -F ../ramdisk.img

这时,可到ramdisk中看看去~

2)修改init.rc,在PATH中加上busybox路径

//busybox安装在/data/busybox 

##Global environment setup

##

env {

      #其中, /data/busybox 为busybox安装路径,bash也是放在其中

      PATH /data/busybox:/sbin:/system/sbin:/system/bin

      LD_LIBRARY_PATH /system/lib

      ANDROID_BOOTLOGO 1

      ANDROID_ROOT /system

      ANDROID_ASSETS / system/app

      ANDROID_DATA /data

      EXTERNAL_STORAGE /sdcard

      DRM_CONTENT /data/drm/content

      HOME/                                         #这个也是新添加环境变量

}

3)重新打包成镜像,并使用新镜像启动emulator

#cpio-i -t -F ../ramdisk.img > list

#cpio-o -H newc -O rd_busybox.img < list

//使用-ramdisk 参数,指定所使用的镜像文件

#emulator-noskin -ramdisk rd_ramdisk.img

 

2.安装busybox及bash

下载地址:http://www.billrocks.org/android_libs/bin/

注:也可自行交叉编译,不过需静态编译。

#adbshell mkdir /data/busybox

#adbpush busybox /data/busyobx

#adbpush bash /data/busybox

 

//adbshell,进入android

#cd/data/busyobx

#chmod+x busybox bash

#./busybox--install                                //将程序安装在当前目录下

//重启emulator,进入bash

bash-3.2#export

declare-x ANDROID_ASSETS="/system/app"

declare-x ANDROID_BOOTLOGO="1"

declare-x ANDROID_DATA="/data"

declare-x ANDROID_ROOT="/system"

declare-x DRM_CONTENT="/data/drm/content"

declare-x EXTERNAL_STORAGE="/sdcard"

declare-x HOME="/"

declare-x LD_LIBRARY_PATH="/system/lib"

declare-x OLDPWD

declare-x PATH="/data/busybox:/sbin:/system/sbin:/system/bin"

declare-x PWD="/data/bin/tst"

declare-x SHLVL="1"

注:在1中修改init.rc 增加的环境变量及路径已经生效。

 

源文档 <http://zhiyazw.blogbus.com/logs/33430727.html> 

 

原创粉丝点击