编译openwrt遇到的坑

注:用的是lede的源码,地址:Github-Lede

一,常规安装环境:

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 libfuse-dev libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools python3-setuptools 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

cd lede

./scripts/feeds clean # 这行是我自己加的,作用是清理缓存

./scripts/feeds update -a

./scripts/feeds install -a

make menuconfig

三、下载 dl 库,编译固件 (-j 后面是线程数,第一次编译推荐用单线程)

make download -j8

make V=s -j1

重点来了,如果二次时不修改.config文件,走下面的:

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

如果修改了.config的内容,就需要重新配置:

make menuconfig
make download -j8
make V=s -j$(nproc)

如果修改过 feeds.conf.default 文件,就必须执行:

./scripts/feeds clean # 如果修改了feeds.conf.default文件,则必须执行这行,否则会报错

./scripts/feeds update -a

./scripts/feeds install -a

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

四、定制化:

        1、修改lan口IP地址

vi /home/wpe/lede/package/base-files/files/bin/config_generate

        在第150行左右:

//原来是这样的
 
case "$1" in
	lan) ipad=${ipaddr:-"192.168.1.1"} ;;
	*) ipad=${ipaddr:-"192.168.$((addr_offset++)).1"} ;;
esac
 
//如果你要把默认地址改成 192.168.5.1
 
case "$1" in
	lan) ipad=${ipaddr:-"192.168.5.1"} ;;
	*) ipad=${ipaddr:-"192.168.$((addr_offset++)).1"} ;;
esac

五、生成在github actions上使用的配置文件

./scripts/diffconfig.sh > seed.config

说明:用于生成一个名为 seed.config 的文件,其中包含了当前编译配置与默认配置之间的差异。

在 OpenWrt 中,seed.config 文件通常用作种子配置文件,其中包含了用户自定义的编译配置。通过运行 ./scripts/diffconfig.sh 脚本并将输出重定向到 seed.config 文件,你可以将当前的编译配置保存为种子配置,以便在后续的编译过程中使用。

这个种子配置文件可以用于快速恢复到先前的编译配置,或者与其他人共享和比较配置。例如,你可以将 seed.config 文件提供给其他人,让他们在相同的编译环境中使用相同的配置进行编译。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值