资源
- lean
- Lienol
- https://github.com/immortalwrt/immortalwrt
- img写盘工具(DiskImg)
- 工具合集
- helloworld
- 插件列表
- openclash
- https://downloads.openwrt.org/
- https://github.com/openwrt/openwrt
OpenWrt Configuration【OpenWrt配置】Target System (x86) ---> 目标系统(x86)
Subtarget (x86_64) ---> 子目标(x86_64)
Target Profile (Generic) --->目标配置文件(通用)
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 ---> 开发
Extra packages ---> 额外包
Firmware --->固件
Fonts --->字体
Kernel modules ---> 内核模块
Languages --->语言
Libraries ---> 图书馆
LuCI ---> LuCI
Mail --->邮件
Multimedia --->多媒体
Network --->网络
Sound ---> 声音
Utilities --->实用程序
Xorg --->Xorg
wsl环境
环境准备
安装ubuntu wsl
- win+x,选择Windows PowerShell(管理员)
- 输入
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- 回车,输入Y,重启!
- 重新打开已经安装的子系统,等几分钟,输入账户和密码。
开启ssh
sudo vim /etc/ssh/sshd_config
Port 22 #默认即可,如果有端口占用可以自己修改
PasswordAuthentication yes # 允许用户名密码方式登录
sudo /etc/init.d/ssh start
首次编译
- 安装依赖
sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \
libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip qemu-utils \
rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
- 下载源代码
git clone https://github.com/coolsnowwolf/lede
- 添加openclash
vim ./feeds.conf.default
添加一行
src-git openclash https://github.com/vernesong/OpenClash.git
- 修改默认ip地址
找到192.168.1.1 替换默认ip
vi package/base-files/files/bin/config_generate
- 更新 feeds 并选择配置
cd lede
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
- Target System (x86) ---> 目标系统(x86)
- Subtarget (x86_64) ---> 子目标(x86_64)
- Target Profile (Generic) --->目标配置文件(通用)
- Target Images ---> 保存目标镜像的格式Global
- build settings ---> 全局构建设置
- Advanced configuration options (for developers) ---- 高级配置选项(适用于开发人员)
- Build the OpenWrt Image Builder 构建OpenWrt图像生成器Build the OpenWrt SDK构建OpenWrt SDKPackage the OpenWrt-based Toolchain打包基于OpenWrt的工具链Image configuration --->图像配置Base system ---> 基本系统Administration ---> 管理Boot Loaders --->引导加载程序Development ---> 开发Extra packages ---> 额外包Firmware --->固件
- Fonts --->字体
- Kernel modules ---> 内核模块
- Languages --->语言
- Libraries ---> 图书馆LuCI --->
- LuCIMail --->邮件
- Multimedia --->多媒体
- Network --->网络
- Sound ---> 声音Utilities --->实用程序Xorg --->Xorg
博主为j1900编译固件 x86架构
- Target Images 保留squashfs
- 下载 dl 库,编译固件
make download -j8 V=s
make V=s -j1
二次编译
配置不变,只是pull代码
cd lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s
需要修改menuconfig
rm -rf ./tmp && rm -rf .config //可选
make menuconfig
make -j$(($(nproc) + 1)) V=s
添加其他源
如果是添加了其他源,如果你是第二次编译,最好使用make clean命令和 ./scripts/feeds clean命令清除一些障碍,如果是全新安装就无须clean。
make clean
./scripts/feeds clean
rm -rf ./tmp && rm -rf .config //可选
make menuconfig
make -j$(($(nproc) + 1)) V=s
产物
一般来说,用openwrt-x86-64-generic-squashfs-combined.img文件就可以了 编译完成后输出路径:bin/targets
Tips
固件空间
插件比较多的时候,下x86/64下调整一下设置,留下空间
Target Images ---> (16) Kernel partition size (in MB) #默认是 (16) 建议修改 (256)
Target Images ---> (160) Root filesystem partition size (in MB) #默认是 (160) 建议修改 (512)
使用WSL/WSL2进行编译
由于 WSL 的 PATH 中包含带有空格的 Windows 路径,有可能会导致编译失败,请在 make 前面加上:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
其他
- 不要用 root 用户进行编译!!!
- 默认登陆IP 192.168.1.1 密码 password