官方文档:
链接
如果英文过得去,建议直接看官方文档,比较直接痛快,写这个博客的意思就是抛砖引玉
编译前提:
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
)
kvm虚拟机运行