0. 先要把手机给Root了,具体教程这里就不提供了,网上有很多。
1. 下载BusyBox的binary,打开这个地址 http://www.busybox.net/downloads/binaries ,选择最新版本,然后下载对应你的设备架构的版本,这里我下载了busybox-armv6l,下面将以这个文件名为示例。
2. 需要有一个命令行的环境,在电脑上使用adb或在手机上使用terminal emulator。
3. 连接手机和电脑,手机的USB Mode设置成None(仅充电),并且开启USB调试模式。
安装:1. 将busybox-armv6l重命名为busybox
2. 将busybox传入手机的SD卡,可以使用下面的命令或自己想其他办法。
打开terminal(Linux,Mac)或cmd(Windows)
adb push ~/Desktop/busybox /mnt/sdcard其中的~/Desktop请根据自己的情况替换成正确的路径
3. 输入以下命令,为了在/system目录写入文件
adb shellsu
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
使用 ls 检查一下 /system 里是否有 xbin 目录,没有的话输入 mkdir xbin 创建,因为本示例是要把busybox安装到 /system/xbin 。
4. 复制 busybox 文件到 /system/xbin,并为其分配“可执行”的权限
cp /mnt/sdcard/busybox /system/xbinchmod 755 busybox
5. 这时就可以使用 busybox 的命令了,例如以前没有清屏的clear命令,现在只需输入 busybox clear 就可以实现清屏功能,使用完整版的 ls 只需输入 busybox ls 。
但是每次前面都加上个busybox太麻烦了,所以我们还要继续完成安装。
在 /system/xbin 下输入
busybox --install .如果想安装到别的目录,则把点替换成别的路径。
至此就安装完成了,比较一下原来的 ls 命令和 busybox 里的 ls 命令。
一、准备busybox
1.14.1
qt-embedded-linux-opensource-src-4.5.1
tslib
1.4
gcc
version
4.3.2
(Sourcery
G++
Lite
2008q3-72)
构建一个新的根文件系统目录,路径为
/root/rootfs
二、具体步骤:
1、编译安装busybox
在官网下载最新版。可以参考如下几处要修改的地方:
Busybox
Settings
--->
Build
Options
--->
(arm-linux-)Cross
Compiler
prefix
Busybox
Settings
--->
Installation
Options
--->[]Dont't
use
/usr
Busybox
Settings
--->
Installation
Options
--->(/root/rootfs)
BusyBox
installation
prefix
Busybox
Settings
--->Busybox
Library
Tuning
--->[*]
Fancy
Shell
prompts
输入如下命令,编译并安装。
#
makemake
install
2、编译安装tslib
#
./autogen.sh
#
./configure
-prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/
-host=arm-linux
ac_cv_func_malloc_0_nonnull=yes
#
makemake
install
安装目录指明为
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/
主要是为了在编译QTE时,不用指定tslib的头文件和库文件,方便以后程序开发。
注意:在做这一步前,需要做一个目录链接
在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/目录下
#
ln
-s
../../usr/include
./
3、编译安装QTE
1)、最基本的配置
#
./configure
-prefix
/usr
-embedded
arm
-xplatform
qws/linux-arm-g++
-depths
16
-qt-mouse-tslib
-prefix
/usr
使用这个配置,编译后的QTE库文件即可放在目标文件系统的/usr/lib下,而不是默认/usr/local/Trolltech/QtEmbedded-4.5.1
这个很深的目录
2)、编译
#
make
#
cp
lib/*
/root/rootfs/usr/lib
-rd
将QTE库文件拷贝到根文件系统的目录
#
cp
plugins
/root/rootfs/usr
-rd
将QTE插件目录拷贝到根文件系统的目录
4、根文件系统的设置
1)、这时/root/rootfs/usr下应该有
bin
etc
include
lib
sbin目录
tslib生成的etc目录,包含一个tslib的配置文件
nf,编辑此文件,去掉module_raw
input前的注释
#
mv
etc
../
移动到rootfs的根目录
2)、进行一次清理 *** 作
#arm-linux-strip
lib/*.so
#arm-linux-strip
usr/lib/*.so
3)、编辑etc/profile,添加以下内容
export
QWS_MOUSE_PROTO=Tslib:/dev/event0
export
TSLIB_CONSOLEDEVICE=none
export
TSLIB_FBDEVICE=/dev/fb0
export
TSLIB_TSDEVICE=/dev/event0
export
TSLIB_CALIBFILE=/etc/pointercal
export
TSLIB_CONFFILE=/etc/nf
export
TSLIB_PLUGINDIR=/usr/lib/ts
最后,通过mkyaffs2image
制作镜像,烧写镜像,启动ts_calibrate校验触屏即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)