安卓系统上安装.net运行时 mono runtime

感谢以下博主:

ubuntu指南 http://dawndiy.com/archives/229/

img大小调整 http://zebinj.blog.163.com/blog/static/206290199201412114912137/

mono 编译 http://www.linuxdot.net/bbsfile-3090



最近闲来无事,翻出了我雪藏已久的安卓小平板,别小看我这个7存的小平板,怎么说还能开一两个网页,卡卡的看下视频...

废话不多说,no pictrue i don't say:

需要准备的工作:

  • 设备需要root权限
  • Android Terminal Emulator (终端模拟器) :用于运行 shell 脚本     Google Play
  • BusyBox :用于提供 shell 命令的支持   Google Play
  • Ubuntu 12.04  的映像文件:用于安装 Ubuntu 的映像文件    选择下载: FullSmallCore
  • ubuntu.sh :Ubuntu 的安装脚本   下载
  • bootscript.sh:Ubuntu 的启动脚本     点这里下载

中途安装 BusyBox出了点意外,大家留意一下,如果你也出现重新开机还原的问题,请重新安装BusyBox到system/bin目录下

1.安装文件下载

首先就是下载必要的文件,上面讲到的需要的 Ubuntu 12.04 的映像文件,这个是在 sourceforge.net 上的一个叫 Linux-on-Android 的项目。我上面给的地址中有三个包可供下载:

其实下面就有英文的介绍,我就在这里简单介绍一下:

  • full 映像包含了完整的 Ubuntu 系统,其中包括 Unity 桌面,还有很多如GIMP等常用软件,非常齐全。需要 3.5G 以上空间。
  • small 映像包含了的基本的 Ubuntu 系统,其中包括 LXDE 桌面,需要 2G 以上空间。
  • core 映像包含了基础的 Ubuntu 系统,不过这个没有GUI的,也就是没有桌面只有命令行。

上面下载的就是待安装的 Ubuntu 12.04 的映像文件,然后我们安装还需要安装脚本,也就是上面说的 ubuntu.sh ,还有安装后的启动脚本 bootscript.sh 。有了这些文件后我们在手机的SD卡的根目录,新建一个文件夹取名为 ubuntu ,然后把这里我们刚才下载好的文件放到这个文件夹里面,到这里 ubuntu 文件夹里就分别有 ubuntu.img、ubuntu.sh、bootcript.sh 这三个文件了。

2.安装软件

先展示一下我们需要的三个软件,如图:

首先需要的是 Terminal 这个软件,也就是一个终端,通过终端我们可以用来执行很多命令和脚本。上面我给出了Google Play的地址,这个在很多地方都有的下的,还有Android VNC Viewer也可以在 Google Play 里面找到安装。

在 这里我要说一下BusyBox,它使得你可以在 Terminal 中运行很多命令,现在很多 Android 的 Rom (我用的MIUI_v4_2.8.10也是) 的终端中很多命令都不能运行,比如 cp、mv、cut 等,但是这些都是我们脚本里面需要用到的,如果不能运行这些命令而执行脚本的话,会提示 **: not found 这样的提示。所以安装 BusyBox 可以使得这些命令都能够在终端里面执行。如果你的Rom本来够强大已经包含了BusyBox的新版本,能够运行基本的shell命令的话,那也可以不用装 这个。

当然安装BusyBox以及后面我们在Terminal中都需要 root 权限,如果是MIUI系统的话则可以直接在 授权管理 > ROOT权限管理 里面打开该选项,然后需要root权限的时候允许就可以了。其他的系统我没用过,不过可以直接用 一键ROOT工具 来操作。

安装BusyBox,安装好后,打开BusyBox点击 Install 开始安装,如果弹出需要ROOT权限,点下一步允许就行,如图:

3.安装 ubuntu 12.04

首先,打开 终端模拟器(Terminal) ,在光标处输入 “cd /sdcard/ubuntu”(不包括引号,注意cd后有空格)然后回车,这样就来到了刚才我们在SD卡里面新建的目录了,如图:

然后我们可以输入命令 “ls” 然后回车,我们就可以看到当前目录下的所有文件了,看一下里面是不是我们需要的三个文件,如图:

 

 接下来我们就要开始运行 ubuntu.sh 这个安装脚本了,但在这之前我们需要使用 root 用户来运行这个脚本,在终端中使用命令 “su” 来切换至 root 用户权限,如果弹出授权信息点击下一步允许就行了,或者直接用 一键ROOT 来开启终端重复上面操作,成功后如图之前的“$”变成了“#”,这就说明已经获得Root权限了,如图:

然后运行安装脚本,输入命令 “sh ubuntu.sh”,进行安装,如图:

然后脚本为你建立了一个名字为“ubuntu”的帐号,这里提示你需要为你的帐号设置一个密码,这个密码会在以后你操作 Ubuntu 的时候一些授权应用到,比如我在这里设置密码为:“ubuntu”,这里注意的是在终端里面输入密码是不会显示出来的,你看见光标没有动静,但实际上你已经输入进去了。回车后提示再次输入密码以保证你两次密码一样,如图:

密码设置完成后,提示是否启动VNC服务和SSH服务,我们只要输入“y”然后回车,开启了这两个服务后我们才能通过远程连接来连上系统,如图:

然后提示我们输入设备屏幕的尺寸,我的屏幕是854×480的,所以我输入“852×480”(小米手机注意:小米手机是854×480的,但是后面用Android VNC 连接的时候有问题,在右边会显示一条线,所以小米手机用户最好设置成“852×480”,其他手机没有测试过,在设置的时候请注意!)。注意:这里两个数字之间的不是乘号,而是字母“xyz”的“x”,输错了不能远程连接的,

在vnc viewer下登录

192.168.1.107:1

输入密码

ubuntu

ok,可以看见熟悉的界面了,默认是root用户

安装一下编译的依赖包


# apt-get update
# apt-get upgrade

# apt-get install build-essential
# apt-get install automake autoconf
# apt-get install bison gettext libtool libglib2.0-dev libfreetype6-dev libfontconfig-dev gettext

下载mono source

# cd ~/

# wget http://download.mono-project.com/sources/mono/mono-3.4.0.tar.bz2

# tar jxvf mono-3.4.0.tar.bz2

下载3.4.0缺失的文件 (这里感谢 any):

cd mono-3.4.0/mcs/tools/xbuild/targets/

wget https://raw.githubusercontent.com/mono/mono/master/mcs/tools/xbuild/targets/Microsoft.Portable.Common.targets

呼~~,准备就绪,开始编译,我安装到/usr目录下,这样比较方便

# cd ~/mono-3.4.0

# ./configure --prefix=/usr

...........漫长的config之后

GC: no

缺失libgc,嗯....

# apt-get install libgc*

我懒了,抱歉...

然后

# ./configure --prefix=/usr

# make

......我在这里等了一天

# make install

......我在这里等了两天

ok,安装成功!

安装失败的可能,磁盘空间不足,解决方法:

去到ubuntu.img目录

cd ~/Desktop/sdcard/ubuntu

dd if=/dev/zero of=bot.img bs=1M count=512
    创建一个512M大小的空镜像文件botbrew.img
cat botbrew.img >> ubuntu.img
e2fsck -f ubuntu.img
 
这里可能会提示文件无法写,因为那个目录不存在.... mkdir xxxx
 
resize2fs ubuntu.img
 
漫长的等待....
 
ok,继续编译
 

ubuntu@localhost:~$ mono -V
Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-1ubuntu2)
Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-pro
ject.com
TLS: __thread
SIGSEGV: normal
Notifications: epoll
Architecture: armel,soft-float
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: Included Boehm (with typed GC and Parallel Mark)

可以看到(我用ssh登陆的),安装完毕了,真是一波三折啊....

总的来说,我的小平板运行桌面还是很流畅的,甚至网页都可以多开好几个了,赞一个。

刚刚装了jexus,有时间搭建一个网站看看如何。

最后:monodevelop跑不起来?不解

原文地址:https://www.cnblogs.com/Gool/p/3670158.html