- 不要用 root 用户 git 和编译!!!
- 国内用户编译前最好准备好梯子
- 默认登陆IP 192.168.2.1, 密码 无
-
首先装好 Ubuntu 64bit,推荐 Ubuntu 20.04 LTS x64
-
命令行分别输入
sudo apt-get update
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache clang cmake cpio curl device-tree-compiler flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \
libltdl-dev libmpc-dev libmpfr-dev libncurses-dev libncurses-dev libpython3-dev libreadline-dev \
libssl-dev libtool llvm lrzsz genisoimage msmtp ninja-build p7zip p7zip-full patch pkgconf python3 \
python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \
uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev aria2 - 拉取源码
git clone https://github.com/WYC-2020/lede
cd lede
- 拉取第三方库
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
5.下载第三方库源码(国内请尽量全局科学上网)
make -j8 download V=s
- 编译
make -j1 V=s
cd lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s
rm -rf ./tmp && rm -rf .config
make menuconfig
make -j$(($(nproc) + 1)) V=s
bin/targets
由于wsl的PATH路径中包含带有空格的Windows路径,有可能会导致编译失败,请用以下命令进行编译
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j1 V=s PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j$(($(nproc) + 1)) V=s1、安装xcode
xcode-select --install or Command_Line_Tools_for_Xcode_11.52、安装Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"3、安装编译环境
brew install coreutils findutils gawk grep gnu-getopt gnu-tar wget diffutils git-extras quilt svn make ncurses pkg-config aria2 qemu4、更新环境变量
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/gawk/libexec/gnubin:$PATH"' >> ~/.bashrc
echo 'export PATH="/usr/local/opt/grep/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/make/libexec/gnubin:$PATH"' >> ~/.bashrc
echo 'export PATH="/usr/local/opt/ncurses/bin:$PATH"' >> ~/.bashrc5、生效环境变量
source ~/.bashrc6、可能遇到问题:
SSL certificate problem: certificate has expire in macOS
Rename /etc/ssl/cert.pem to something else. (I suggest /etc/ssl/cert.pem.org)
Download the latest cacert.pem from https://curl.se/docs/caextract.html
Rename it to cert.pem
Copy it to /etc/ssl/cert.pem1、 修改Makefile中让此项写成以下这样,(如果不加上skip,那么在第三步填充哈希值时会直接删除"PKG_MIRROR_HASH:="这一行)
PKG_MIRROR_HASH:=skip2、 下载软件包(如软件包名为hello,包的Makefile放在package/network/services/hello下)
make package/network/services/hello/download V=s3、 填充哈希值
make package/network/services/hello/check FIXUP=1 V=s1、 首先在软件包的Makefile中让此项空着,如下:
PKG_MIRROR_HASH:=然后下载软件包(如软件包名为hello,包的Makefile放在package/network/services/hello下)
make package/network/services/hello/download V=s2、 在第一步完成之后会在dl目录下发现一个新模块相关的压缩包,直接使用以下命令来生成哈希值,如:
sha256sum 包名.tar.xz3、 将第二步生成的哈希值填充到Makefile的PKG_MIRROR_HASH即可