|

楼主 |
发表于 2012-2-25 02:04:47
|
显示全部楼层
原帖由 <i>2011残月</i> 于 2012-2-20 23:04 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2388326&ptid=204441" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
装进一个ARM版的Debian,菜鸟看不懂这句,<br />
<br />
不过对方案很有兴趣。只能顶一下 <br />
Debian有ARM架构的移植,可以装在安卓手机上,用chroot来跑
我搞得很倒腾的,如果没有足够时间可砸还是暂时放下吧
给你个链接,不过是Google App Engine上的,我粘下内容来吧
http://alan-matrix.appspot.com/2 ... ian-to-android.html
Alan Matrix
Home
(RSS)
Login
移植Debian到Android 七月 2nd, 2011
研究了一下,成功的把debian移植到我的android手机上了。
大家知道,debian是基于linux内核的操作系统,他的APT包管理工具让系统管理变得轻松无比。
iphone越狱后,Crydia就给ios安装了一个debian,这样你就可以添加源,安装软件。
android的linux内核当然也不含糊,我们做一个debian的 最小化的镜像,放到sd卡上,然后挂载android的linux内核文件系统,就ok了。废话不多少,开始。
我的系统:PC:ubuntu 10.10 ;手机:android 2.3,Cronos版本 1.50,带busybox。
1.ubuntu安装qemu-arm-static debootstrap
sudo apt-get install qemu-arm-static debootstrap
2.创建IMG文件
dd if=/dev/zero of=debian.img seek=3500999999 bs=1 count=1
3.格式化镜像文件
sudo mkfs.ext2 -F debian.img
sudo tune2fs -c0 debian.img
4.挂载镜像文件
$ mkdir debian
$ sudo mount -o loop debian.img debian/
5.用debootstrap工具制作最小化系统
sudo debootstrap --verbose --arch=armel --foreign lenny debian http://ftp.tw.debian.org/debian
上面用的是台湾的debian源,你可以根据自己的网络情况修改。
6.创建SD卡目录,用来挂载SD卡。
sudo mkdir debian/sdcard
7.重新挂载使其具有可执行权限
sudo mount -o remount,rw,dev,exec debiansudo cp /usr/bin/qemu-arm-static debian/usr/bin/
8.chroot进debian目录
sudo chroot debian
9 .进入chroot后接下来执行系统的安装及配置
/debootstrap/debootstrap --second-stage
10.配置系统,安装过程可能要持续一会儿,完成后来进行我们需要的基本配置,首先是apt源
echo 'deb http://ftp.tw.debian.org/debian lenny main contrib non-free' > /etc/apt/sources.list
11.更新源
export HOME=/root export LC_ALL=C apt-get update
12.后续清理并完成
apt-get clean killall /usr/bin/qemu-arm-static exit
到此,IMG文件就做好了。下面我们就要把他安装到手机上。
13.在手机sd卡上创建debian文件夹,然后把上面做的镜像文件拷贝进去。
14.把手机跟电脑连接,进入usb调试模式。
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /systemcp /sdcard/debian/bootdeb /system/bin/chmod 755 /system/bin/bootdeb
mkdir /data/local/debian
mkdir /data/local/debian/mnt
15.其中bootdeb的脚本为:
#!/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......"
16.然后运行这个脚本
startdeb
17. 此时已经进入debian系统,接下来配置DNS服务器和hostname
echo 'nameserver 202.118.66.6' > /etc/resolv.conf
echo "localhost" > /etc/hostname
echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts
nameserver是你的dns服务器地址,根据自己的网络填写。
这样就OK啦。
附上截图一张:
Tags: debian android
386次阅读
Posted in Android | |
|