如何利用谷歌云编译Lean 大神的lede/openwrt 固件

关于如何编译openwrt 固件,网上会有很多教程,本文存在的意义就是为使用谷歌云的朋友提供一个简明参考流程。

使用谷歌云编译openwrt 固件的意义:

  1. 机器配置高,网速快,没有网络环境的限制;
  2. 若是初次接触,本地安装虚拟机本身就有不低的硬件门槛和一定的经验,实践过程中需要解决的问题会更多,花费时间则更长,而谷歌云则可以在两分钟内配置好环境。

在谷歌云中开一台虚拟机实例,试用服务最高选8核,系统选择Ubuntu 14.04 LTS。(在这里我偏向于选择英国地区的机器)

我对所有机器都会选上允许HTTP/HTTPS 流量

SSH 连接虚拟机

命令行输入 sudo apt-get update 后回车,然后输入
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint python python2.7 perl imagemagick subversion git gcc g++ binutils autoconf automake libtool-bin make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config realpath libstring-crc32-perl gawk libusb-dev unzip intltool libacl1-dev libcap-dev libc6-dev libglib2.0-dev unzip wget curl zip libssl-dev

后回车。

输入

git clone https://github.com/coolsnowwolf/lede

回车

然后

cd lede

./scripts/feeds update -a

./scripts/feeds install -a

make menuconfig

在Target System 中选择你的设备,如我的设备是K3。默认开局就是X64
如果你是为路由器编译固件,建议选上automount 和autosamba, 如K3 便可自动挂载USB硬盘,如果需要IPv6,则选上ipv6helper
这里选择预装的应用,图示为最重要的一个(如果已经选择autosamba, 那么这一步请不要选择samba4, 会有冲突)
最后记得保存配置,不需要更改名称

最后选好你要的路由,输入

make -j1 V=s

(我会直接使用make -j8 V=s, 因为这样使用到了八线程,对我来说最快,暂时没碰到问题)

不到半个小时即可编译成功,编译过程中不要断开SSH。若断开,请清除整个lede 文件夹重新开始
谷歌云SSH自带下载文件工具,善用”ls”和”cd”命令即可找到目标固件的绝对路径

cd ~/lede/bin/targets

利用ls 命令显示文件夹,利用cd 命令进入文件夹,使用pwd 命令显示当前文件夹的绝对路径

默认用户名:root 密码:password

奉上两行神秘代码,用途及用法请自行谷歌:

git checkout 2915c44a11ca0ee40b51ff5d9c18a0da1951e170

echo 0xDEADBEEF > /etc/config/google_fu_mode

如有其他问题,请留言,我会帮助你。

参考:

  • https://github.com/coolsnowwolf/lede
  • OpenWrt 编译 LuCI -> Applications 添加插件应用说明-L大 https://www.right.com.cn/forum/thread-344825-1-1.html