android-chroot-debian

以前在Webos、kindle上面用过chroot,可以运行Debian、Ubuntu,现在总结一下Android的chroot Debian(Ubuntu方法类似)方法

环境:在ubuntu下

背景 春节期间,老弟给了一部手机酷派7290,参数如下:

  • 网络模式:GSM,WCDMA
  • 网络类型:双卡双模
  • 主屏尺寸:4.5英寸 800x480像素
  • CPU型号:联发科 MT6577
  • CPU频率:1024MHz 双核
  • 电池容量:1800mAh 可拆卸式电池
  • 后置摄像头像素:500万像素
  • 操作系统:Android OS 4.0
  • RAM容量:512MB
  • ROM容量:4GB
  • SIM卡类型:SIM卡
  • 存储卡:MicroSD卡

步骤

  1. 制作Debian arm版本
#安装编译工具

apt-get install debootstrap

apt-get install qemu-arm-static #ubuntu32

(apt-get install qemu-user-static) #mint64
#生成img文件1.5G

dd if=/dev/zero of=debian.img bs=1M count=1536

mkdir build
#将img格式化为ext2

losetup -f debian.img

mkfs.ext2 /dev/loop0
#挂载img到文件build内,debootstrap建立debian

mount /dev/loop0 build/ 

debootstrap --arch armhf --foreign sid build/ http://ftp.cn.debian.org/debian
#通过chroot进入debian,用qemu编译为arm版本

cp /usr/bin/qemu-arm-static build/usr/bin/

chroot build/

/debootstrap/debootstrap --second-stage
#添加源为sid(也可以是wheezy)

apt-get clean

echo "deb http://ftp.us.debian.org/debian sid main" > /etc/apt/sources.list
#退出debian,清理qemu

exit

rm build/usr/bin/qemu-arm-static

umount build/

losetup -d /dev/loop0

参考http://www.webos-internals.org/wiki/Debian

  1. Andorid Shell
  • 把debian.img复制到手机内存卡上 /mnt/sdcard
  •  Andorid手机上安装BTEP(Better Terminal Emulator Pro)
  • 两个shell复制到debian.img同文件夹内startbt.sh和bt.sh
  1. 脚本运行Chroot
  • 启动BTEP,在preference开启root权限
  • 运行一次sh  /mnt/sdcard/startbt.sh,每次重启手机后运行一次即可
  • 再运行sh  /mnt/sdcard/bt.sh,每次进入debian都运行一次,BTEP在android shell下可以init commend运行sh  /mnt/sdcard/bt.sh,一开BTEP就进debian
  1. apt-get 升级安装软件
  • 更新升级apt-get update && apt-get upgrade
  • 支持python-pandas 0.13.1 最新版
  • debian的任何命令、软件都可以用

结束