歡迎您光臨本站 註冊首頁

Google G1手機上運行debian linux的經驗

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

運行了完整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進行:

  1. $ su
  2. # cd /sdcard/debian
  3. # chmod 4755 *
  4. # su ./installer.sh
複製代碼

(如果執行 installer.sh出錯, 可以打開installer.sh文件, 按照裡面的命令逐條執行. )
     4. 按作者所述, 此時運行bootdeb即可進入debian linux系統, 但我沒能運行起來. 所以還需要檢查以下內容:

  1. # find / -name ext2.ko  (找到系統中的ext2.ko文件)
  2. /system/modules/2.6.25-01843-gfea26b0/kernel/fs/ext2/ext2.ko  (這是我機子上ext2.ko文件的位置)
  3. # 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卡了. 同時去掉了原腳本中一些我驗證過沒有什麼用處的地方:


  1. clear
  2. export kit=/sdcard/debian
  3. export bin=/data/local/bin
  4. export mnt=/data/local/mnt
  5. export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
  6. export TERM=linux
  7. export HOME=/root
  8. lsmod | grep ext2 1>/dev/null
  9. if [ $? != 0 ]
  10. then
  11.   insmod $bin/ext2.ko
  12. fi
  13. mount | grep debian.img 1>/dev/null
  14. if [ $? != 0 ]
  15. then
  16.   mount -o loop,noatime $kit/debian.img $mnt
  17. fi
  18. ls $mnt | grep sdcard 1>/dev/null
  19. if [ $? != 0 ]
  20. then
  21.   mkdir $mnt/sdcard
  22. fi
  23. mount -o bind /sdcard /data/local/mnt/sdcard
  24. mount -t devpts devpts $mnt/dev/pts
  25. mount -t proc proc $mnt/proc
  26. mount -t sysfs sysfs $mnt/sys
  27. chroot $mnt /bin/bash
  28. 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伺服器等, 全看你想讓它做什麼嘍.

  1. # apt-get update
  2. # apt-get install openssh-server
  3. # apt-get install vim
  4. # apt-get install apache2
  5. ......
複製代碼

其它說明:
     1. 在退出debian的時候, 你對系統做的任何修改均能寫回debian.img文件, 所以備份好該文件, 下將刷完機后還可以繼續使用.
     2. 如果不想下載別人已製作好的鏡像, 也可以自己製作, 前提是要先有一個運行debian的系統:

  1. # apt-get install debootstrap
  2. # dd if=/dev/zero of=debian.img seek=749999999 bs=1 count=1
  3. # mke2fs -F debian.img
  4. # mkdir debian
  5. # mount -o loop debian.img debian
  6. # debootstrap --verbose --arch armel --foreign lenny debian http://ftp.de.debian.org/debian  (這裡當然可以指定國內最快的鏡像http://www.anheng.com.cn/debian)
  7. # umount debian
複製代碼

3. 如果不喜歡debian, 完全可以製作其它版本的linux鏡像, 如redhat, suse等, 原理是一樣的.



[火星人 ] Google G1手機上運行debian linux的經驗已經有815次圍觀

http://coctec.com/docs/linux/show-post-66587.html