運行了完整linux系統的G1, 可以讓你的手機變成真正的電腦, 終於搞定了, 所以上來分享一下經驗給大家:
參考資料:
http://www.androidfanatic.com/cms/community-forums.html?func=view&catid=9&id=251#251
http://www.saurik.com/id/10
原理:
由於G1內置空間較小, TF卡又是FAT格式的, 所以要將一個已經製作好的linux系統以鏡像文件的形式存放在TF卡上, 然後將鏡像文件掛載到一個目錄, 再chroot進這個linux系統中, 就是所謂的"運行"這個linux系統了, 所以啟動速度非常的快.
要求:
刷了root後門, ADP1, MOD RC30 都可以
操作步驟:
1. 下載已製作好的linux鏡像文件:
http://www.androidfanatic.com/cms/unofficial-app-repo.html?func=fileinfo&id=13
2. 解壓下載好的鏡像文件, 將裡面的debian整個目錄複製到TF卡根目錄下
3. 以下步驟建議通過adb shell進行:
- $ su
- # cd /sdcard/debian
- # chmod 4755 *
- # su ./installer.sh
複製代碼
(如果執行 installer.sh出錯, 可以打開installer.sh文件, 按照裡面的命令逐條執行. )
4. 按作者所述, 此時運行bootdeb即可進入debian linux系統, 但我沒能運行起來. 所以還需要檢查以下內容:
- # find / -name ext2.ko (找到系統中的ext2.ko文件)
- /system/modules/2.6.25-01843-gfea26b0/kernel/fs/ext2/ext2.ko (這是我機子上ext2.ko文件的位置)
- # cp /system/modules/2.6.25-01843-gfea26b0/kernel/fs/ext2/ext2.ko /data/local/bin (將此文件複製到debian的運行目錄, 以減少啟動debian腳本的麻煩)
複製代碼
5. 以下的bootdeb文件是我修改過的, 主要是將TF卡也掛載到debian系統的/sdcard目下, 這樣進入debian后也可以操作TF卡了. 同時去掉了原腳本中一些我驗證過沒有什麼用處的地方:
- clear
- export kit=/sdcard/debian
- export bin=/data/local/bin
- export mnt=/data/local/mnt
- export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
- export TERM=linux
- export HOME=/root
- lsmod | grep ext2 1>/dev/null
- if [ $? != 0 ]
- then
- insmod $bin/ext2.ko
- fi
- mount | grep debian.img 1>/dev/null
- if [ $? != 0 ]
- then
- mount -o loop,noatime $kit/debian.img $mnt
- fi
- ls $mnt | grep sdcard 1>/dev/null
- if [ $? != 0 ]
- then
- mkdir $mnt/sdcard
- fi
- mount -o bind /sdcard /data/local/mnt/sdcard
- mount -t devpts devpts $mnt/dev/pts
- mount -t proc proc $mnt/proc
- mount -t sysfs sysfs $mnt/sys
- chroot $mnt /bin/bash
- busybox umount -f /data/local/mnt/sdcard /data/local/mnt/dev/pts /data/local/mnt/proc /data/local/mnt/sys /data/local/mnt
複製代碼
6. 此時只要在root用戶下(su之後)執行bootdeb, 即可進入debian系統了.
擴展:
進入debian linux系統后, 就可以隨心所欲地使用了, G1就真的變成了一個全功能的電腦了. 你可以通過apt-get安裝ssh伺服器端, 甚至可以安裝apache伺服器等, 全看你想讓它做什麼嘍.
- # apt-get update
- # apt-get install openssh-server
- # apt-get install vim
- # apt-get install apache2
- ......
複製代碼
其它說明:
1. 在退出debian的時候, 你對系統做的任何修改均能寫回debian.img文件, 所以備份好該文件, 下將刷完機后還可以繼續使用.
2. 如果不想下載別人已製作好的鏡像, 也可以自己製作, 前提是要先有一個運行debian的系統:
- # apt-get install debootstrap
- # dd if=/dev/zero of=debian.img seek=749999999 bs=1 count=1
- # mke2fs -F debian.img
- # mkdir debian
- # mount -o loop debian.img debian
- # debootstrap --verbose --arch armel --foreign lenny debian http://ftp.de.debian.org/debian (這裡當然可以指定國內最快的鏡像http://www.anheng.com.cn/debian)
- # umount debian
複製代碼
3. 如果不喜歡debian, 完全可以製作其它版本的linux鏡像, 如redhat, suse等, 原理是一樣的.