阿里云上编译lean大lede固件
L大项目地址:https://github.com/coolsnowwolf/lede
这次介绍用阿里云的环境快速编译L大的openwrt和碰到的一些问题
好处:省去vm的搭建,配置可随意调整,随用随退
坏处:花钱
如果自己原因折腾虚拟机,还是建议自己电脑或包年的vps上搞,经济实惠点
环境部署
ECS选择:地域选择香港或新加坡,选择按量付费
购买配置:我选择了计算性4C8G内存比通用性小点,流量选择了按量1元1G,编译很费CPU,Core越多越快
系统选择:在同一个页面选择了L大推荐的版本
剩余一路点击下一步完成创建,这次机会秒建成功,进入控制台
编译过程(L大的网页已经写的很清楚了)
1、环境准备
a、sudo apt-get update
b、sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 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 device-tree-compiler g++-multilib antlr3 gperf
2、拉源码,并进入目录lede
git clone https://github.com/coolsnowwolf/lede
cd lede
3、编译前配置
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
这块的的配置内容有时间单写个文章介绍下,我们是给蜗牛矿渣使用选择x86版本
4、下载dl库
make -j8 download v=s 下载dl库(海外vps的好处,体现了。国内请尽量全局)
5、编译
make -j1 V=s (-j1 后面是线程数。官方推荐第一次编译推荐用单线程,我是4c的机器选择了j4)
温馨提示:这里可以使用screen命令,以防编译过程中终端终端,需要重新编译
我就在编译了1个多小时,电脑休眠了,终端断了重新来过
4C8G的比我乞丐版的1C1G快了很多,不过感觉4线程开少了,编译过程中CPU有比较长时间没有跑到100%
6、编译过程中出现异常,需要重新配置:
rm -rf ./tmp && rm -rf .config
make menuconfig
make -j$(($(nproc) + 1)) V=s
7、编译完成后输出
路径:/lede/bin/targets
通过wscp登陆服务器,直接下载,也可以开个ftp来下载
mac可以通过scp命令直接下载
scp -r remote_username@remote_ip:remote_folder local_folder
8、二次编译
我这按量付费是一次性的没有用到这个,如果有包年的vps,长期需要编译就可以用到
cd lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s
遇到的问题
问题1,编译用户导致报错
非root用户,非root用户,非root用户,重要事情说三遍
ubuntu的用户创建:命令 adduser 新账户名
添加sudo权限:
1、切换到超级用户:#su (然后输入root的密码,即可登录)
2、打开/etc/sudoers文件:#vi
3、修改文件
找到"root ALL=(ALL) ALL"一行,在下面插入新的一行,内容是"账户名 ALL=(ALL) ALL"
保存文件wq!
4、退出超级用户:#exit
问题2:编译内存太小报错
这个问题是买了个1C1G的ECS报错的,这次按量付费内存选了8G,没有这个问题
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
主要原因大体上是因为内存不足,有点坑
通过临时使用交换分区来解决吧
sudo dd if=/dev/zero of=/swapfile bs=64M count=32 添加了2G的交换区
sudo mkswap /swapfile
sudo swapon /swapfile
编译完成后可用以下命令恢复
sudo swapoff /swapfile
sudo rm /swapfile
问题3:终端断开,导致编译停止
通过screen命令保持
安装命令sudo apt install screen
彩蛋
最后芝麻开门神秘代码 echo 0xDEADBEEF > /etc/config/google_fu_mode





benjaminliang
校验提示文案
zunshine
校验提示文案
闷骚的哟桑
校验提示文案
twjss
校验提示文案
就一神经病
校验提示文案
[已注销]
校验提示文案
野人花花园
校验提示文案
飞紫龙翔
校验提示文案
飞紫龙翔
校验提示文案
闷骚的哟桑
校验提示文案
zunshine
校验提示文案
野人花花园
校验提示文案
[已注销]
校验提示文案
就一神经病
校验提示文案
twjss
校验提示文案
benjaminliang
校验提示文案