Go to file
2021-08-06 18:13:09 +08:00
build_scripts add update script 2021-08-03 17:55:59 +08:00
conf update base.config: remove invalid config ❤️ 2021-08-06 18:13:09 +08:00
fw876@5790c633f3 update package 2021-08-06 18:10:17 +08:00
luci 移除无效主题 2021-08-03 17:26:06 +08:00
OpenClash@41df2fc31e update packages 2021-08-03 10:26:32 +08:00
package add openappfilter 2021-08-03 17:55:16 +08:00
smartdns 添加smartdns 2021-07-27 17:02:42 +08:00
.gitmodules add openappfilter 2021-08-03 17:55:16 +08:00
app_jd.sh 修复脚本 2021-08-03 17:44:56 +08:00
cpconfig.sh 修复脚本 2021-08-03 17:44:56 +08:00
fixhash.sh 更新编译说明及修正hash的脚本 2021-07-28 17:05:30 +08:00
README.md 更新说明 2021-08-03 16:54:15 +08:00

iFish 木鱼的LEDE编译脚本

推荐编译环境为 Ubuntu 20.04,但其实木鱼本鱼用 Ubuntu 21.04 也能编译成功。差别在于安装的组件会有些差别在21中部分组件使用了别的名字。具体哪些忘记了安装的时候会有提示的。

编译案例脚本

首次编译

# 安装依赖库
sudo apt-get update
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 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 curl swig rsync

# 准备LEDE仓库
git clone https://github.com/coolsnowwolf/lede
cd lede
# 后续编译更新LEDE
git pull

# 配置好源
cp feeds.conf.default feeds.conf
echo 'src-git lede_ifish https://github.com/iccfish/lede-ifish-package.git' >>feeds.conf.default
# 更新源
./scripts/feeds update -a
./scripts/feeds install -a -f

# 选择编译脚本本仓库自带了AX6、AX3600和AX9000的参数跟上型号即可
bash ./feeds/lede_ifish/cpconfig.sh ax6
# 如果需要打包京东签到,执行以下脚本
#bash ./feeds/lede_ifish/app_jd.sh

# 更新配置
make defconfig
# 下载,建议挂梯子,否则可能有失败的情况
make download -j$(($(nproc) + 1))

# 部分优化选项
sed -i 's/net.netfilter.nf_conntrack_max=.*/net.netfilter.nf_conntrack_max=65535/g' package/kernel/linux/files/sysctl-nf-conntrack.conf
sed -i 's/192.168.1.1/172.16.1.1/g' package/base-files/files/bin/config_generate

# 编译。首次编译时间较长,需要联网下载源码,建议挂梯子;偶有失败可重试
make -j1 V=s
# 如出现错误类似“po2lmo: command not found”的错误可能是编译顺序的问题可在出现错误后手动运行以下编译命令
make package/feeds/luci/luci-base/compile V=99
# 后再重试上面的编译。不要用root账号

编译完成后,输出的内容在 bin/targets/ 下面。

更新编译

cd lede

# 更新LEDE
git pull

# 更新源
./scripts/feeds update -a
./scripts/feeds install -a -f

# 更新缓存hash。lede源中的部分缓存hash不正确导致每次都要联网下载更新后可避免联网更新的出现
bash ./feeds/lede_ifish/fixhash.sh

# 编译
make -j$(($(nproc) + 1)) V=s

更新配置

# 重新更新配置
make defconfig

# 下载,建议挂梯子,否则可能有失败的情况
make download -j$(($(nproc) + 1))

# 尝试并行编译,如果失败则回滚为单线程编译
make download -j$(($(nproc) + 1)) | make -j1 | make -j1 V=s

相关链接

相关引用的模块请参考本仓库子模块。

  1. 编译配置及命令可参考 OpenWrt-AX6-duochajian