Debian到Android的移植笔记

来源:互联网 发布:域名隐藏实际ip 编辑:程序博客网 时间:2024/05/29 18:25

需要准备:Ubuntu、Android手机、8GSD卡

1.准备手机端需要用的ISO

1.1为Ubuntu安装软件qemu-kvm-extras-static、debootstrap。

sudo apt-get install qemu-kvm-extras-static debootstrap


1.2创建镜像

dd if=/dev/zero of=debian.img seek=3500999999 bs=1 count=1
注:seek为容量,单位为字节。


1.3格式化镜像

sudo mkfs.ext2 -F debian.imgsudo 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=/rootexport LC_ALL=C
apt-get update


1.10.3配置DNS

echo 'nameserver 202.181.202.140' > /etc/resolv.confecho '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/loop0fi export PATH=/usr/bin:/usr/sbin:/bin:$PATHexport TERM=linuxexport HOME=/rootexport USER=rootexport MNT=/data/local/debian/mnt busybox clearbusybox 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 $MNTbusybox mount -o bind /sdcard $MNT/sdcard busybox mount -t proc none $MNT/procbusybox mount -t sysfs sysfs $MNT/sysbusybox mount -t devpts devpts $MNT/dev/pts  busybox echo "INIT: Debian booting....."busybox sleep 1busybox echo "Running Linux Kernel"busybox sysctl -w net.ipv4.ip_forward=1busybox 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/mntbusybox fuser -k /data/local/debian/mnt/sdcardbusybox echo -en "\numount sys: "umount /data/local/debian/mnt/sysbusybox echo -en "\numount pts: "umount /data/local/debian/mnt/dev/ptsbusybox echo -en "\numount proc: "umount /data/local/debian/mnt/procbusybox echo -en "\numount sdcard: "umount /data/local/debian/mnt/sdcardbusybox echo -en "\numount debian.img: "umount /data/local/debian/mntbusybox echo -en "\n"echo "Processes killed......"


将IMG文件放入SD卡根目录下的debian文件夹。
并使用命令行新建文件夹
mkdir /data/local/debian






0 0
原创粉丝点击