共计 1457 个字符,预计需要花费 4 分钟才能阅读完成。
前言
最近开始折腾 OpenWRT 的固件,自己也买了台软路由开始折腾。
编译固件
- 安装
Ubuntu 18.04
系统
我这边选用的是 Vultr 这家服务商的 VPS 进行搭建的,经过测试完全没有问题。
当然了,在自己的机器上安装虚拟机也是个可行的选项,但是要注意的是!在整个编译过程中,必须保持全程科学上网,否则将有大概率编译失败,不过还是推荐直接用国外地区的 VPS 进行编译。
(选择 5 美刀的配置就够了,系统选择 Ubuntu 64 位)
(2020-05-05 更新:5 美刀的机器内存跟不上,编译到一半会报错,内存溢出,选择 10 美刀的机器,系统依旧是 Ubuntu 18.04 64 位) - 创建普通用户
编译 OpenWRT 用 root 用户可能会出错,所以这边要新建一个普通用户来进行编译
sudo useradd -r -m -s /bin/bash lede
创建一个用户名为 lede 的用户并指定 bash 为终端
sudo passwd lede
给用户 lede 添加一个密码
sudo chmod +w /etc/sudoers
sudo vim /etc/sudoers
编辑用户权限
在 User privilege specification 加入与 root 用户相同的权限
:wq
保存并退出 vim 编辑器
sudo chmod -w /etc/sudoers
去掉 w 权限
- 下载源代码
源代码来自恩山 Lean 大佬Github 仓库链接
su lede
cd ~
切换到刚才创建的新用户(输入密码不会显示)并且进入用户根目录
sudo apt-get update
升级软件源
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 python2.7 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
安装编译所需软件包
git clone https://github.com/coolsnowwolf/lede
cd lede
克隆源码仓库
./scripts/feeds update -a
./scripts/feeds install -a
升级、安装附属包
make menuconfig
进入菜单开始配置系统固件
(空格选定,上下左右控制方向)
Target System 选择 x86
Target Image 里面一定要选择squashfs
!
LuCI - Application 可以定制你要的系统插件,例如(不可描述)等
完成之后可以 Exit
保存退出
screen -S compile
make -j1 V=s
启用一个 screen 开始编译,这样可以关闭 SSH 窗口,下一次登录时用 screen -r
返回之前的对话
-j1
是代表用一个线程,V=s
代表输出全部过程,第一次编译建议使用单线程。
整个编译过程在我测试过程中,使用 Vultr 新加坡地区的服务器,5 美元的配置,耗时约 3 个半小时
编译完成就不截图了,应该按照正常的流程走是不会报错的
最后在 lede/bin/targets/x86/64 目录下能够找到 img 的固件文件,编译成功
正文完