在Ubuntu 9.10中DIY谷歌Chrome OS

谷歌的天才们在上周发布了Google Chrome OS的开源项目Chromium OS,因为从个人角度来讲,我一直支持云技术(Cloud Computing)和网络应用(Web Application),并尽力为其推进做些贡献,那么,谷歌发布基于云计算的操作系统,当然要来尝尝鲜。

当然,如果你对技术不感兴趣,而只想尝试10年后,下一代操作系统是什么样子的,那么,你可以直接跳到本文末尾,阅读运行相关的内容。

1. 准备工作

1.1 硬件环境

个人觉得这个无所谓,32位和64位都可以,PC和Mac也都可以。我用的是今年六月份款的64位Macbook pro,可以成功编译。

1.2 操作系统

理论上非Ubuntu的Linux系统也是可以成功编译的,但是,我们都知道谷歌内部使用的Linux是Ubuntu,所以,我选择最新的Ubuntu 9.10作为编译环境。(因为以前一直用Fedora,这次装Ubuntu发现Ubuntu太“傻瓜”了,看来Linux的桌面应用真的是越来越平民化 了。)谷歌官方声称Ubuntu 8.04+的版本都可以成功编译,但是我在cros-dev的mailing list上面看到很多人抱怨低版本会出现一些问题。而有一个新加坡的牛人用Fedora 11也编译成功了。
另外,因为Ubuntu不同于Fedora,在安装的时候不会设置root密码,而使用sudo。所以,用下面的命令设置root密码,后面会用到。
$ sudo -i
系统会要求你输入当前用户的密码
$ sudo passwd root
这里输入新的root密码

1.3 编译环境

下面这些是我直接从谷歌官方页面拷贝过来的,里面包含了必须的库,也包含一些选择性(Optional)的,我一口气都装了,免得后面麻烦。
* Subversion
* git-core
* Python >= 2.4
* Perl >= 5.x
* gcc/g++ >= 4.2
* g++-multilib >=4.2
* bison >= 2.3
* flex >= 2.5.34
* gperf >= 3.0.4
* pkg-config >= 0.20
* libnss3-dev >= 3.12
* libasound2-dev
* libgconf2-dev
* libglib2.0-dev
* libgtk2.0-dev
* libnspr4-0d >= 4.7.1+1.9-0ubuntu0.8.04.5
* libnspr4-dev >= 4.7.1+1.9-0ubuntu0.8.04.5
* msttcorefonts (Microsoft fonts)
* freetype-dev
* libcairo2-dev
* libdbus-1-dev
* wdiff
* lighttpd
* php5-cgi
* sun-java6-fonts
谷歌为Ubuntu用户提供了一个脚本, http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh,我没用到,我自己手动用apt-get装的这些库。

1.4 安装谷歌depot tools

在你喜欢的文件夹checkout一份google depot tools的repository。
$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools
之后把这个文件夹设置在PATH里面
PATH="/path/to/depot_tools:$PATH"

2. 下载源码

2.1 下载浏览器的源码

这一步是选择性的,因为谷歌已经提供了编译好的Linux版的Chrome浏览器二进制文件。去这个地址把最新的 http://build.chromium.org/buildbot/archives/chromium-chromiumos- r*****.zip载下来备用。
如果你和我一样喜欢自己尝试,那就采用下面的方法。新建一个文件夹,cd到该文件夹,
$ gclient config http://src.chromium.org/svn/trunk/src
因为我们要做的是编译一个Chrome流览器给Chrome OS用,所以我们不用把Windows和Mac相关的源码都载下来,我们只载Linux的, 所以,这里我们用,
$ gclient sync --deps="unix,chromeos" --force 
而不用gclient sync.

2.2 下载操作系统的源码

独立于流览器的源码文件夹,再新建一个新的文件夹,cd到这个文件夹
$ gclient config http://src.chromium.org/git/chromiumos.git
$ gclient sync
或者可以到 http://build.chromium.org/buildbot/archives/ 下载一个源码压缩包 

3. 编译

3.1 编译浏览器

如果你2.1跳过了,这一步就不用做了。哦,对了,官方提供了一种方法可以直接在操作系统的编译过程中直接到这里来编译浏览器的脚本,我选择先单独编译浏览器,确保其是工作正常的。
我们只是得到浏览器,为了编译操作系统,所以,很多的测试用例(test case)和第三方(third party)的很多东西我们就不必要生成了,直接进入浏览器源码的src目录下,直接
$ make chrome
就等好了。

3.2 配置环境

首先要创建本地repository
$ cd /path/to/chromiumos/src/scripts
$ ./make_local_repo.sh

因为Chrome OS的编译过程需要chroot环境,所以在正式编译之前,我们要创建chroot环境,以备后面进入这个环境
make_chroot.sh

3.3 编译操作系统

首先把刚刚出炉的浏览器打个zip包,或是下载好的zip包,命名为chrome-chromeos.zip,并复制到/path/to/chromiumos/src/build/x86/local_assets目录下面。
之后回到/path/to/chromiumos/src/scripts目录下,输入
$ ./enter_chroot.sh
进入chroot环境。
正式开始编译,输入
$ ./build_all.sh
编译platform package和kernel,之后输入
$ ./build_image.sh
编译Chrome OS的镜像文件(image)。

Figure 1. Ubuntu下编译浏览器的截图

3.4 编译VMWare镜像

编 译好的谷歌Chrome OS现在可以有三种方式使用,第一种是在少些到暂时支持的少许硬件上(听说后天的黑色星期五这些notepad能卖到很便宜);第二种是烧到U盘上,这种 比较方便,可以现在绝大部分的机器都支持usb引导,唯一的限制就是你需要一个4Gb的硬盘,考虑到我现在手头没有4Gb的U盘,也没有dollar买一 个4Gb的U盘,所以,准备感恩节过了找哥们借个烧一下看看;第三种就是编译VMWare镜像。cd到操作系统源码的src/scripts目录下,输入
$ ./image_to_vmware.sh
生成的VMWare硬盘镜像文件即可可以使用了,当然后面的内容就不属于这篇文章的范畴了。
转自:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值