搭建All in one - 编译Openwrt

一直在使用LEDE的Openwrt作为软路由的固件,只是因为学业原因这篇文章一直被咕了,现在终于有时间把它编辑出来
Lean's OpenWrt: https://github.com/coolsnowwolf/lede
其实L大的说明也挺清楚的,但是为了自己的方便嘛...

准备工作

注意事项

  1. Linux操作系统,L大推荐使用Ubuntu 18 LTS x64,我这里使用Kali
  2. 不要用 root 用户 git 和编译!!!
  3. 国内用户编译前最好准备好梯子
  4. 默认登陆IP 192.168.1.1, 密码 password,此项我一般在安装后的控制台里手动修改

建立用户

mkidr /opt/lede
useradd -d /opt/lede -s /bin/bash -m lede
chown -R /opt/lede lede

安装软件

#注意,使用root执行,或者使用sudo
apt-get update
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 wget swig rsync

开始编译

#注意,使用root执行,或者使用sudo
#clone源码
git clone https://github.com/coolsnowwolf/lede.git /tmp/lede
mv /tmp/lede/* /opt/lede -f
rm -rf /tmp/lede
su lede
#注意,以下命令均使用lede执行
cd ~
#配置编译
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
#下载库(国内请尽量使用膜法)
make -j8 download V=s

配置固件

make menuconfig之后会进入如下界面,你可以在这里自定义你所想要的内容

查看翻译
Target System (x86)  --->  固件系统架构 (x86)
Subtarget (x86_64)  --->  子固件系统架构 (x86_64)
Target Profile (Generic x86/64)  --->  固件配置文件
Target Images  --->  固件格式选项
Global build settings  --->  全局编译设置
Advanced configuration options (for developers)  --->  高级配置选项(针对开发者)
Build the OpenWrt Image Builder  --->  编译Openwrt固件构建者
Build the OpenWrt SDK  --->  编译Openwrt SDK
Package the OpenWrt-based Toolchain  --->  打包Openwrt基础工具链
Image configuration  --->  固件配置
Base system  --->  基础系统
Administration  --->  管理
Boot Loaders  --->  引导程序
Development  --->  开发
Emulators  ---->  仿真器
Extra packages  --->  额外包
Firmware  --->  固件
Fonts  --->  字体
Kernel modules  --->  内核模块
Languages  --->  语言
Libraries  --->  库
LuCI  --->  LuCI
Mail  --->  邮件
Multimedia  --->  多媒体
Network  --->  网络
Sound  --->  声音
Utilities  --->  通用
Video  --->  视频
Video Streaming  --->  视频流
Xorg  --->  Xorg桌面

详细翻译版本请看这(翻译不易我很可爱,给我打钱)

菜单选项很多很复杂,也很有专业性,在这里你可以定制属于你的路由固件
勾选完所需的部件之后可以进行保存退出,保存的文件名默认为.config。编译会按照.config的内容进行编译
在编译的过程中会同时下载一些组件,下载服务器大多都是位于国外,所以如果没有膜法,速度会非常慢,甚至下载失败

编译

保存后执行以下命令

make -j1 V=s //-j1 后面是线程数,第一次编译推荐用单线程

获取固件

固件位于bin/targets/<架构>下,可按照所选架构进行查找,我选择的是x86_64,故固件所在路径为/opt/lede/bin/targets/x86/64

固件说明

后缀 适用情况
squashfs 嵌入式设备
squashfs-factory 从原厂系统刷到openwrt
squashfs-sysupgrade 从openwrt刷到openwrt
initramfs 无可用flash

缺少膜法工具

L大将其隐藏了,可用在feed中开启

git pull
rm -rf ./tmp
echo "src-git helloworld https://github.com/fw876/helloworld" >> feeds.conf.default
#或者去其注释
vim feeds.conf.default
./script/feeds update -a && ./script/feeds install -a

二次编译

git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注