firefox源码编译--科学下载大型源码仓库通用办法

准备
  1. 科学上网
下载firefox源码mercurial仓库
科学上网 进入 google colab docker

google colab docker

该docker大约2个小时后会被宿主机销毁

挂载google drive
from google.colab import drive
drive.mount('/content/gdrive')
google colab docker 中 启动 cloudflared 转发ssh端口, 并在本地win10连接该sshd
  1. colab-ssh
  2. 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 动态生成的 ,每次都不一样
*/

  1. 下载 cloudflare.exe 放到 win10 目录: d:/app/cloudflared.exe , 该路径步骤4中用到

cloudflared.exe下载页面

  1. 本地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 running mach 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小时编译完成
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ziix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值