准备
- 科学上网
下载firefox源码mercurial仓库
科学上网 进入 google colab docker
该docker大约2个小时后会被宿主机销毁
挂载google drive
from google.colab import drive
drive.mount('/content/gdrive')
google colab docker 中 启动 cloudflared 转发ssh端口, 并在本地win10连接该sshd
- colab-ssh
- google colab docker 中 启动 cloudflared 转发ssh端口
//python
# pip install colab_ssh --upgrade
from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared
launch_ssh_cloudflared(password="nothing",prevent_interrupt=True)
/*会给出结果:
Host *.trycloudflare.com
HostName %h
User root
Port 22
ProxyCommand /mnt/d/app/cloudflared.exe access ssh --hostname %h
ssh inbox-legs-fans-yeah.trycloudflare.com
域名中 inbox-legs-fans-yeah 是 cloudflared 动态生成的 ,每次都不一样
*/
- 下载 cloudflare.exe 放到 win10 目录: d:/app/cloudflared.exe , 该路径步骤4中用到
- 本地win10 使用 wsl1 ubuntu 20 做如下配置 并ssh登录 google colab docker:
#本地win10 , WSL1 ubuntu20 执行如下命令:
mkdir ~/.ssh/
chmod xxx ~/.ssh/
#内容来自步骤2
echo "
Host *.trycloudflare.com
HostName %h
User root
Port 22
ProxyCommand /mnt/d/app/cloudflared.exe access ssh --hostname %h
" > ~/.ssh/config
chmod 755 ~/.ssh/config
#用win10 WSL1 ubuntu20 连接上 google colab docker sshd :
ssh inbox-legs-fans-yeah.trycloudflare.com
安装 mercurial 客户端,
#google colab docker中安装 mercurial 客户端 最新版,此时是 5.8,且mozilla要求mercurial > 4.9
#用win10 WSL1 ubuntu20 连接上 google colab docker sshd , 执行如下命令:
add-apt-repository -y ppa:mercurial-ppa/releases
apt-get update
apt-get install -y python3-pip python3-dev
pip3 install mercurial --upgrade
确保mercurial 版本>4.9 否则, ./mach bootstrap 会报错:
Could not identify the root directory of your checkout! Are you runningmach bootstrap
in an hg or git clone
mercurial 克隆 firefox源码
#用win10 WSL1 ubuntu20 连接上 google colab docker sshd , 执行如下命令:
hg clone --verbose https://hg.mozilla.org/mozilla-central/ "/mozilla-central"
# 估计10分钟,速度在20MB/s
对源码仓库并行打包
#用pigz对源码仓库目录/mozilla-central 并行打包 为 /mozilla-central.tar.gz : 大约3.4GB
#用win10 WSL1 ubuntu20 连接上 google colab docker sshd , 执行如下命令:
# -9: 压缩级别为9,
# -p 48: 使用48个任务并行
# -k : 打包完成, 不删除原文件或目录
tar cv /mozilla-central/ | pigz -9 -p 48 -k > /mozilla-central.tar.gz
复制仓库压缩包 到google drive
#用win10 WSL1 ubuntu20 连接上 google colab docker sshd , 执行如下命令:
mkdir /content/gdrive/MyDrive/mozilla/
cp /mozilla-central.tar.gz /content/gdrive/MyDrive/mozilla/
rsync + scp 断点续传地 从 google colab docker 下载到本地电脑: 速度大约是2MB/S, 需要半个小时
# win10 wsl1 ubuntu 20 中执行如下命令:
rsync -P --rsh=ssh inbox-legs-fans-yeah.trycloudflare.com:/content/mozilla-central.tar.gz /mnt/e/mozilla-central.tar.gz
切换到稳定分支
#用win10 WSL1 ubuntu20 连接上 google colab docker sshd , 执行如下命令:
cd /mozilla-central/
hg update -rFIREFOX_NIGHTLY_90_END
编译步骤0: 填写配置文件 mozconfig
填写 配置文件 /mozilla-central/mozconfig ,内容如下:
#用win10 WSL1 ubuntu20 连接上 google colab docker sshd , 执行如下命令:
echo '
ac_add_options --enable-debug
ac_add_options --enable-application=browser
ac_add_options --disable-tests
mk_add_options MOZ_MAKE_FLAGS="-j8"
' > /mozilla-central/mozconfig
编译步骤1: mach bootstrap
#用win10 WSL1 ubuntu20 连接上 google colab docker sshd , 执行如下命令:
cd /mozilla-central/
./mach bootstrap
编译步骤2: 开始编译: mach build
#用win10 WSL1 ubuntu20 连接上 google colab docker sshd , 执行如下命令:
cd /mozilla-central/
./mach build
# ./mach build | tee build.log ; poweroff
# Intel(R) Xeon(R) CPU E31245 4核8线程, 大约用1小时编译完成