曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 6894|回复: 1
打印 上一主题 下一主题

Google G1手机上运行debian linux的经验

[复制链接]

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
跳转到指定楼层
楼主
发表于 2009-3-9 11:23:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
运行了完整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 debianhttp://ftp.de.debian.org/debian  (这里当然可以指定国内最快的镜像http://www.anheng.com.cn/debian)
      # umount debian
复制代码3. 如果不喜欢debian, 完全可以制作其它版本的linux镜像, 如redhat, suse等, 原理是一样的.

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
沙发
 楼主| 发表于 2009-3-9 11:27:11 | 只看该作者

Debian For Android安装程序发布

现在你可以下载安装程序和引导程序将Debian运行在Android系统设备上。安装过程大约持续10分钟,你可以在G1上安装各式各样的Debian上的软件,增强该设备的各个功能。以下是作者的演示视频:<object width=\"425\" height=\"344\"><param name=\"movie\" value=\"http://www&#46;youtube&#46;com/v/jl0LSHbUbzE&hl=zh_CN&fs=1\" /><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowscriptaccess\" value=\"always\" /><embed width=\"425\" height=\"344\" src=\"http://www&#46;youtube&#46;com/v/jl0LSHbUbzE&hl=zh_CN&fs=1\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" /></object> <br /><br />安装程序:<br />http://www&#46;androidfanati ... id=9&id=251#251
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 00:02 , Processed in 0.067194 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表