安装下面的依赖:

#sudo apt-get install subversion pkg-config python perl g++ g++-multilib bison  flex gperf libnss3-dev libgtk2.0-dev libnspr4-0d libasound2-dev libnspr4-dev msttcorefonts libgconf2-dev libcairo2-dev libdbus-1-dev wdiff lighttpd php5-cgi sun-java6-fonts git-core

然后,使用gclient 获取chromiumos的源码目录(四百多兆)

# mkdir chromiumos

# cd  chromiumos

# gclient config http://src.chromium.org/git/chromiumos.git

# gclient sync

编译脚本都在chromiumos/src/scripts下面,依次执行下面几个脚本:

# ./make_local_repo.sh

运行这个脚本之前,确保安装了reprepro,否则会提示找不到命令,这时,需要将chromiumos/repo目录删除才可以重新执行

make_local_repro.sh脚本,汗~这个搞了好久Orz。

# ./make_chroot.sh

创建chroot编译环境后,需要下载chrome浏览器,改名为chrome-chromeos.zip并放到~/chromiumos/src/build/x86/local_assets,这个目录需要自己依次创建。
然后进入chroot环境:

# ./enter_chroot.sh

这时,可以创建一个脱机用户,为了防止没有网络链接的情况下无法登录:

# cd  ../platform/pam_google && ./enable_localaccount.sh USERNAME

再依次编译软件包和内核,创建磁盘镜像:

# ./build_platform_packages.sh

# ./build_kernel.sh

# ./build_image.sh

脚本执行完毕后,会如下提示:

Done. Image created in /home/yang/trunk/src/build/images/999.999.32809.061105-a1

然后会生成rootfs.image磁盘镜像,可以将该镜像转为虚拟机磁盘(vmdk):

# ./image_to_vmware.sh -- from= ~/Downloads/chromiumos/chromiumos.git/src/build/images/999.999.32809.061105-a1 -- to= ~/Downloads/chromiumos/chromiumos.git/src/build/images/999.999.32809.061105-a1/rootfs.vmdk

编译好的镜像:
 
在vmware没有体验到好处,看来要用到我的wind U100上网本了^^

如果使用src/scripts/image_to_usb这个脚本来写入的U盘的话,U盘必须要大于1G(否则出现错误),而编译生成的镜像大小却小于1G。下面的方法可以将chromeOS镜像写入1G的U盘:

生成rootfs.vmdk虚拟机磁盘文件,然后用虚拟机加载vmdk镜像并启动ubuntu的livecd。目的是为了使用gparted来修改 vmdk分区的大小。因为默认的vmdk里面有三个950Mb的分区,分别为C-STATE、SWAP、C-ROOT。先将中间的交换分区删掉,然后依次调整分区到下面的样子:

之后,退出虚拟机,在windows下用DGen(diskgen)打开vmdk文件,修改硬盘参数(终止柱面)为C-ROOT分区的终止柱面,如下:

修改前:

修改后:

然后右键点击vmdk磁盘,复制磁盘,选择源磁盘和目的磁盘拷贝即可。

更新(11.30晚),把wind U100从丁丁那里拿来,启动chromeOS很成功,系统性能很赞!但有个很大的弊端:因为某些因素(大家都清楚),部分google服务无法登陆。上图:

我一共编译了两个版本的代码

老版本在执行make_local_repo。sh时出现问题 ,由一个包无法找到

这是一处错误,src/package_repo/repo_list_image.txt找到那个包,将universal(好像是)改成main就行

新版本没有问题,什么都不用改,就可以编译过

而且在编译时要注意,执行的每一个shell,最后都有信息表示执行是否成功,一定细心看一下

chromium OS编译过程相关推荐

  1. chromium android分析,Chromium Android工程迁移编译过程

    本文从Chromium编译的中间产物入手深入分析.学习Chromium Android版本的工程化定制流程.初始工作依赖于Chromium的ninja.GYP构建系统,在构建完成后基于编译中间产物,迁 ...

  2. 编译Chromium OS

    插入ubuntu-9.10-alternate-i386光盘后,F4选择CLI安装base system 用先前备好的USB盘里的sources.list替代/etc/apt/sources.list ...

  3. 为curl 、git、go语言、wget、repo设置代理,解决ubuntu 18.04编译chromium os问题

    为CURL设置proxy 设置代理的方式搜索了一下挺多的,我测试了这两种方式,这两种方式在ubuntu 18.04上可以运行. 有两种方法,第一通过声明环境变量: export http_proxy= ...

  4. OpenBLAS简介及在Windows7 VS2013上源码的编译过程

    OpenBLAS(Open Basic Linear Algebra Subprograms)是开源的基本线性代数子程序库,是一个优化的高性能多核BLAS库,主要包括矩阵与矩阵.矩阵与向量.向量与向量 ...

  5. golang源码分析:编译过程词法解析的流程

    golang编译 由于golang作为静态语言,当使用go build时就会生成对应的编译完成之后的文件,那这个编译过程大致会做什么事情呢,在golang中的编译大致有哪些流程. golang示例代码 ...

  6. 编译选项_HarmonyOS编译过程

    导读 全文约1300字,阅读约需要4分钟: 编译选项: 编译过程: 在上一篇<HarmonyOS初体验>中,我们通过 python build.py wifiiot 完成了Hi3861开发 ...

  7. Windows:安装Chrome OS/Chromium OS/CloudReady 到虚拟机VMware/VirtualBox

    很早之前就听说了ChromeBook,以及ChromeBook上搭载的Chrome OS系统,一直没机会去操作.今天碰巧看到了一篇讲 FydeOS .于是就想在自己的电脑上装Chrome OS,体验一 ...

  8. FPGA之道(18)FPGA设计的编译过程

    文章目录 前言 FPGA设计的实现过程 编译概述 编译流程之综合 综合的输入 HDL代码 综合设置 综合的输出 综合的工具 编译流程之翻译融合 翻译融合的输入 翻译融合的输出 翻译融合工具 编译流程之 ...

  9. make编译过程-Android10.0编译系统(三)

    摘要:本节主要来进行Android10.0 编译系统的make过程 阅读本文大约需要花费29分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计, ...

最新文章

  1. 循环神经网络 递归神经网络_如何用递归神经网络预测空气污染
  2. java 传入参数_java参数怎么传递参数
  3. java 判断数的位数_Java判断数字位数的两种方法
  4. Redis实战之征服 Redis + Jedis + Spring (三)
  5. nginx+mysql+php
  6. cad和python哪个好学_对纯外行人来说,学习PS和Python哪个更容易?
  7. Redis架构图-1
  8. ubuntu系统编译sh出错 默认dash不是bash
  9. java发送电子邮件以qq邮箱为例
  10. 查看静态库支持的CPU架构
  11. SSM框架面试题整理
  12. response.addCookie(cookie);报错分析
  13. linux u盘格式化失败怎么办,u盘无法完成格式化怎么办
  14. 2021年人工智能五大趋势预测
  15. iphone编程资源站
  16. Protothreads:一个“蝇量级” C 语言协程库
  17. Weighted Boxes Fusion加权检测框合并
  18. html如何画出四个圆圈,css3如何绘制一个圆圆的loading转圈动画
  19. html手机偏左,判断方向盘跑偏有妙招 一部手机就搞定
  20. The Trojan War------Greek mythology

热门文章

  1. Intel x86 Emulator Accelerator(HAXM installer)无法安装
  2. 初尝Windows8预览版
  3. 2020新版idea创建web项目
  4. Camunda Workflow BPMN 入门开发实践
  5. JAVA中计算百分比 格式化数字
  6. 段码屏与串口屏的区别
  7. matlab工具箱使用总结
  8. C++ 文件读写操作文件流
  9. ELYNET将推出基于区块链的应用程序“CRUDE”, 启用无需SIM卡的电信网络
  10. Chrome插件不翻墙安装、离线安装, 插件商店,Fatkun图片批量下载插件