官方文档:
链接
如果英文过得去,建议直接看官方文档,比较直接痛快,写这个博客的意思就是抛砖引玉
编译前提:
-
Ubuntu linux(version==14.04 - Trusty)(笔者注:我是在Debian 8下面编译的) - 64位系统
- 需要
Root权限 - 预先安装
git等工具,可以直接执行以下命令sudo aptitude install git-core gitk git-gui subversion curl - 必须安装
depot_tools工具(包含了repo,cross_sdk等必备工具)(链接) - 配置好
cross_sdk(链接 )
安装depot_tools:
前提:安装git(git 2.2.1+)和python(2.7+)
- 执行命令: git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
- 执行命令export PATH=#pwd#/depot_tools:"$PATH"(注:请手动把 # 替换为 ` ,csdn的markdown有点蠢)
配置cross_sdk
- 执行命令:
cat > ./sudo_editor <<EOF
echo Defaults \!tty_tickets > \$1 # Entering your password in one shell affects all shells
echo Defaults timestamp_timeout=180 >> \$1 # Time between re-requesting your password, in minutes
EOF - 执行命令:
chmod +x ./sudo_editor - 执行命令:
sudo EDITOR=./sudo_editor visudo -f /etc/sudoers.d/relax_requirements
下载源文件
- 切换到你要保存源文件的目录下面(译者注:至少50G空闲空间)
- 执行以下命令
repo init -u https://chromium.googlesource.com/chromiumos/manifest.git - 执行以下命令
repo sync(译者注:需要等待一段时间)
Build
在shell里需要注意两个变量(译者注:linux下的shell是个很强大的存在,不熟悉的可以先学一下基本命令,包括echo,cat,ls,dir,cd,mkdir,sed,grep,awk还有很多,还有如何编写makefile):BOARD和SOURCE_REPO
- 执行命令:
export BOARD=amd64-generic(译者注:设置变量) - 执行命令:
cros_sdk -- ./build_packages --board=${BOARD}(时间很长) - 执行命令:
cros_sdk -- ./build_image --board=${BOARD}(时间有点长) - 如果要使用U盘安装到本地,插入U盘,执行命令:
cros flash usb:// ../build/images/amd64-generic/R61-9607.0.2017_06_01_1420-a1/chromiumos_image.bin然后选择U盘,我只插入了一个U盘所以输入0回车即可,如果要在qemu-kvm虚拟机(一个非常高效的虚拟机虽然显卡不行,vbox就是在其基础上改的)运行,执行命令:./image_to_vm.sh --from=../build/images/amd64-generic/R61-9607.0.2017_06_01_1420-a1 --board=amd64-generic(注意执行这个目录的路径,如果找不到就find一下image_to_vm.sh,我的在src/build/scripts下面),运行虚拟机的命令是sudo kvm -m 1024 -vga cirrus -pidfile /tmp/kvm.pid -net nic,model=virtio -net user,hostfwd=tcp:127.0.0.1:9222-:22 \(注意执行命令的目录,
-hda ./chromiumos_qemu_image.binpwd可以查看当前目录,我的是在src/build/images/amd64-generic/R61-9607.0.2017_06_01_1420-a1/chromiumos_qemu_image.bin)