不要用 root 用户进行编译
国内用户编译前最好准备好梯子
默认登陆IP 192.168.1.1 密码 password
一、系统编译
- 首先装好 Linux 系统,推荐 Debian 11 或 Ubuntu LTS
- 安装编译依赖
sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 aria2 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 libpython3-dev qemu-utils \
rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
- 下载源代码,更新 feeds 并选择配置
git clone https://github.com/coolsnowwolf/lede
cd lede
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
# 系统架构选择
Target System (x86)
Subtarget (x86_64)
Target Profile (Generic x86/64)
4.下载 dl 库,编译固件 (-j 后面是线程数,第一次编译推荐用单线程)
make download -j8
#看看有没有没下完整的包,这是查看dl目录下有没有1k以下的文件,有的话建议删除重新下,很可能没下完整
find dl -size -1024c -exec ls -l {} \;
#删除
find dl -size -1024c -exec rm -f {} \;
5.首次编译
# -j1:单线程编译
make -j1 V=s
#这时候如果报错bash: po2lmo: command not found,八成是base没有先编译出来
#可以运行以下命令先编译base,然后重新执行make -j1 V=s
make package/feeds/luci/luci-base/compile V=s
#剩下的可能就是插件冲突之类的,没有很好的办法,慢慢排查吧
- 二次编译:
#首先肯定是要进入lede目录: cd lede
#拉取最新代码
git pull
#更新下载安装订阅源包含的软件包
./scripts/feeds update -a && ./scripts/feeds install -af
#清理旧文件
#如果只是调整检查和驱动等
make clean
#如果需要调整架构,或者之前编译出错
make dirclean
#删除旧的配置文件
rm -rf ./tmp && rm -rf .config
#选择插件
make menuconfig
#下载包
make download -j8 V=s
#优先使用多线程编译,出错则使用单线程并输出详细信息
make -j$(nproc) || make -j1 V=s
二、添加编译模块
- WIFI模块
Network->WirelesssAPD->hostapd
Network->WirelesssAPD->hostapd-common
Network->WirelesssAPD->hostapd-utils
Network->WirelesssAPD->wpa-supplicant
Kernel modules->Wireless Drivers->kmod-iwlwifi
Kernel modules->Wireless Drivers->kmod-iwlwifi
Kernel modules->Wireless Drivers->kmod-mt7921e
- 其它模块
Kernel modules->USB Support >kmod-usb-core
Kernel modules->USB Support >kmod-usb-chid
Kernel modules->USB Support >kmod-usb-ledtrig-usbport
Kernel modules->USB Support >kmod-usb2
Kernel modules->USB Support >kmod-usb3
Kernel modules->Filesystems->kmod-fs-ext4
Kernel modules->Filesystems->kmod-fs-vfat
Kernel modules->Filesystems->kmod-fs-ntfs
Firemware->iwlwifi-firmware-ax200
参考网站:https://docs.r86s.net/