snapei / lede

Lean's LEDE source

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

欢迎来到 Lean 的 LEDE 源码仓库

如何编译自己需要的 LEDE 固件 How to build your LEDE firmware

注意

  1. 不要用 root 用户进行编译
  2. 国内用户编译前最好准备好梯子
  3. 默认登陆IP 192.168.1.1 密码 password

编译命令

  1. 首先装好 Linux 系统,推荐 Debian 11 或 Ubuntu LTS,我使用都是GCP服务器编译的,网络畅通

  2. 安装编译依赖

    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-pyelftools \
    libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \
    vim wget xmlto xxd zlib1g-dev screen htop
  3. 下载源代码,更新 feeds 并选择配置

    #下载源码
    git clone https://github.com/coolsnowwolf/lede
    #下载OpenClash压缩包
    wget https://github.com/vernesong/OpenClash/archive/refs/heads/master.zip
    #解压OpenClash压缩包
    unzip master.zip
    ## 将源码中的 `luci-app-openclash` 文件夹拷贝到 `OpenWrt` 项目的 `Package` 目录
    cp -r OpenClash-master/luci-app-openclash ./lede/package/
    #adguardhome手动添加
    wget https://github.com/rufengsuixing/luci-app-adguardhome/archive/refs/heads/master.zip
    #将源码中的 `luci-app-adguardhome-master` 文件夹拷贝到到lede的package目录下
    cp -r luci-app-adguardhome-master ./lede/package/
    
    cd lede
    ./scripts/feeds update -a
    ./scripts/feeds install -a
    make menuconfig
  4. OpenWrt源码编译修改默认IP和修改feeds.conf.default

    #修改配置文件config_generate
    nano ./lede/package/base-files/files/bin/config_generate
    #找到192.168.1.1改成自己喜欢的ip(10.0.0.1)
    
    #修改feeds.conf.default,也可以添加第三方feed源
    nano ./lede/feeds.conf.default 
    取消helloworld注释,开启ssr安装
    #src-git helloworld https://github.com/fw876/helloworld.git
    
    #添加其他源
    src-git small8 https://github.com/kenzok8/small-package
  5. 下载 dl 库,编译固件 (-j 后面是线程数,第一次编译推荐用单线程)

    make download -j8
    make V=s -j1

本套代码保证肯定可以编译成功。里面包括了 R23 所有源代码,包括 IPK 的。

你可以自由使用,但源码编译二次发布请注明我的 GitHub 仓库链接。谢谢合作!

二次编译:

cd lede
git pull
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
make download -j8
make V=s -j$(nproc)

如果需要重新配置:

rm -rf ./tmp && rm -rf .config
make menuconfig
make V=s -j$(nproc)

编译完成后输出路径:bin/targets

如果你使用 WSL/WSL2 进行编译

由于 WSL 的 PATH 中包含带有空格的 Windows 路径,有可能会导致编译失败,请在 make 前面加上:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

macOS 原生系统进行编译

  1. 在 AppStore 中安装 Xcode

  2. 安装 Homebrew:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. 使用 Homebrew 安装工具链、依赖与基础软件包:

    brew unlink awk
    brew install coreutils diffutils findutils gawk gnu-getopt gnu-tar grep make ncurses pkg-config wget quilt xz
    brew install gcc@11
  4. 然后输入以下命令,添加到系统环境变量中:

    echo 'export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"' >> ~/.bashrc
    echo 'export PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"' >> ~/.bashrc
    echo 'export PATH="/usr/local/opt/gnu-getopt/bin:$PATH"' >> ~/.bashrc
    echo 'export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"' >> ~/.bashrc
    echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> ~/.bashrc
    echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bashrc
    echo 'export PATH="/usr/local/opt/make/libexec/gnubin:$PATH"' >> ~/.bashrc
  5. 重新加载一下 shell 启动文件 source ~/.bashrc,然后输入 bash 进入 bash shell,就可以和 Linux 一样正常编译了

About

Lean's LEDE source

License:Other


Languages

Language:C 92.2%Language:Makefile 3.7%Language:Shell 1.4%Language:Roff 1.2%Language:Perl 0.5%Language:Assembly 0.3%Language:M4 0.2%Language:HTML 0.2%Language:Lua 0.1%Language:Python 0.1%Language:C++ 0.1%Language:Yacc 0.0%Language:Lex 0.0%Language:CMake 0.0%Language:Awk 0.0%