需要准备:Ubuntu、Android手机、8GSD卡
1.准备手机端需要用的ISO
1.1为Ubuntu安装软件qemu-arm-static、debootstrap。
sudo apt-get install qemu-user-static debootstrap
dd if=/dev/zero of=debian.img seek=3500999999 bs=1 count=1
注:seek为容量,单位为字节。
1.3格式化镜像
sudo mkfs.ext2 -F debian.img
sudo tune2fs -c0 debian.img
1.4挂载镜像
mkdir debian
sudo mount -o loop debian.img debian/
1.5用debootstrap工具制作最小化系统
sudo debootstrap --verbose --arch=armel --foreign wheezy debian http://ftp.tw.debian.org/debian
1.6创建SD卡目录,用来挂载SD卡
sudo mkdir debian/sdcard
1.7重新挂载使其具有可执行权限
sudo mount -o remount,rw,dev,exec debian
sudo cp /usr/bin/qemu-arm-static debian/usr/bin/
1.8用chroot进debian目录
sudo chroot debian
1.9安装及配置
/debootstrap/debootstrap --second-stage
1.10配置系统
1.10.1配置apt
echo 'deb http://ftp.tw.debian.org/debian wheezy main contrib non-free' > /etc/apt/sources.list
1.10.2更新apt
export HOME=/root
export LC_ALL=C
apt-get update
1.10.3配置DNS
echo 'nameserver 202.181.202.140' > /etc/resolv.conf
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
1.10.4修改HOST和主机名
echo "localhost" > /etc/hostname
echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts
1.11后续清理并完成
apt-get clean
killall /usr/bin/qemu-arm-static
exit
2.手机端
bootsh.sh文件放入/system/bin,并设置755权限
#!/system/bin/sh
if [ ! -e /dev/loop0 ]
then
ln /dev/block/loop0 /dev/loop0
fi
export PATH=/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
export USER=root
export MNT=/data/local/debian/mnt
busybox clear
busybox echo " Welcome to Debian for Adnroid ^_^ "
busybox echo ""
busybox echo " Alan "
busybox echo " "
busybox echo " "
busybox echo " a888a "
busybox echo " d888888b "
busybox echo " 8P YP Y88 "
busybox echo " 8|o||o|88 "
busybox echo " 8. .88 "
busybox echo " 8 ._. Y8. "
busybox echo " d/ 8b. "
busybox echo " .dP . Y8b. "
busybox echo " d8: ::88b. "
busybox echo " d8 Y88b "
busybox echo " :8P :888 "
busybox echo " 8a. : _a88P "
busybox echo " ._/ Yaa_ : .| 88P| "
busybox echo " \ YP | 8P \. "
busybox echo " / \._____.d| .| "
busybox echo " --..__)888888P ._.|"
busybox echo " "
busybox echo " "
sleep 1
mount -o loop -t ext2 /sdcard/debian/debian.img $MNT
busybox mount -o bind /sdcard $MNT/sdcard
busybox mount -t proc none $MNT/proc
busybox mount -t sysfs sysfs $MNT/sys
busybox mount -t devpts devpts $MNT/dev/pts
busybox echo "INIT: Debian booting....."
busybox sleep 1
busybox echo "Running Linux Kernel"
busybox sysctl -w net.ipv4.ip_forward=1
busybox echo "Type EXIT to end session"
busybox echo "Make sure you do a proper EXIT for a clean kill of Debian!"
busybox echo " "
busybox chroot $MNT /bin/bash
echo " "
echo "Shutting down Debian........"
busybox sleep 1
busybox fuser -k /data/local/debian/mnt
busybox fuser -k /data/local/debian/mnt/sdcard
busybox echo -en "\numount sys: "
umount /data/local/debian/mnt/sys
busybox echo -en "\numount pts: "
umount /data/local/debian/mnt/dev/pts
busybox echo -en "\numount proc: "
umount /data/local/debian/mnt/proc
busybox echo -en "\numount sdcard: "
umount /data/local/debian/mnt/sdcard
busybox echo -en "\numount debian.img: "
umount /data/local/debian/mnt
busybox echo -en "\n"
echo "Processes killed......"
将IMG文件放入SD卡根目录下的debian文件夹。
并使用命令行新建文件夹
mkdir /data/local/debian