记录编译ChromeOs



一、编译环境

  1. 64位 Linux环境(内存最好是8G以上,预留150G硬盘空间)
  2. 编译用户需要有sudo权限(加入wheel组),用户名有要求不能是 root 和一些特殊名称
  3. 科学上网
    我使用的是 Fedora 系统,用户名 crosbuilder

二、编译步骤

1. 同步代码

所用到的依赖需要自己安装一下,例如:curl、git、python3、subversion等

1.1 获取depot_tool

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
echo 'export PATH=$PATH:/path/to/depot_tools' >> ~/.bashrc
source ~/.bashrc

1.2 获取chromeos代码

mkdir ~/chromiumos
cd ~/chromiumos

#下面两个连接都行,看实际需求
# [完整最新代码]
repo init -u https://chromium.googlesource.com/chromiumos/manifest.git\
# [最小源码]
repo init -u https://git.chromium.org/git/chromiumos/manifest.git -g minilayout --repo-url https://git.chromium.org/git/external/repo.git

# 同步代码,这个比较久(需要科学上网)
repo sync

2. 编译代码

2.1 进入虚拟环境

前提条件:

  1. 修改sudoer文件,通过命令 sudo visudo 修改
# 修改前
%wheel  ALL=(ALL)       ALL
# 修改后
%wheel  ALL=(ALL)       NOPASSWD: ALL
  1. 磁盘挂载问题,如果有 nosuid 参数需要重新挂载一下,请参考 sudo failures on brand new tree?
    否则运行 cros_sdk 时会报 uid is xxx,should be 0
# 如果正确设置了depot_tools的路径
# 运行下面命令会开始下载sdk并进入编译虚拟环境
cros_sdk

2.2 编译系统包

如果 cros_sdk 运行成功终端会以 (cr) 开头,接下来就可以编译系统包和构建镜像了。需要注意一下新旧版本的 depot_toos 命令是不一样的,需要自己区分一下,请参考 CrOS Tools

# 所有支持的板层需要自己查找一下,这里以 amd64-generic 为例
cros build-packages -b amd64-generic

cros build-packages 命令运行期间可能还会下载一些网络资源,最好还是要全程科学上网。

2.3 构建镜像

这里可能是最可能出现很多奇怪问题的地方,我这里遇到两个奇奇怪怪的问题,在网上资源也很少,最后自己摸索编译通过了。

# 其他参数按照需求配置
cros build-image -b amd64-generic

错误1:command (cros_set_lsb_release) failed (rc=1)
解决方法:这个问题在网上查了很久也没有找到有用的方法,因为我使用的是 Fedora 构建的,发现这个神经的 selinux 导致的构建失败。最后通过命令 sudo setenforce 0 暂时关闭 selinux 构建通过。

错误2:command (build_dlc) failed (rc=1)
解决方法:这个是超级用户权限问题导致的,在运行构建命令前使用 sudo -i 切换到 root 用户再去构建就没问题了。

等待命令执行完看最后的输出就能知道镜像的路径,现在就可以制作启动U盘了。

三、制作启动U盘

都到这一步了就没什么好说的了,直接上链接 创建 USB 安装工具

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值