whlsxl / lede_docker

在docker 中编译Lean's OpenWrt
18 stars 4 forks source link

lede 编译环境

利用docker一键编译Lean源。适用于有闲置服务器资源,随时可以自行编译。

编译需要外网环境

挂载文件 VOLUME

使用

简单使用

docker run \
  --rm \
  -it \
  -d \
  --name lede \
  -v [lede仓库存储位置]:/lede \
  -v [.config文件存储位置]:/.config \
  -v [feeds.conf.default文件存储位置]:/feeds.conf.default \
  -v [编译产品存储位置]:/lede/bin \
  whlsxl/lede:latest

如果使用当前目录存储所有数据,直接产出编译产品。如果.config文件为空,运行docker期间会打开make menuconfig界面配置。

docker run --rm -it --name lede \
  -v $(pwd)/lede_new:/lede \
  -v $(pwd)/x86.config:/.config \
  -v $(pwd)/feeds.conf.default:/feeds.conf.default \
  -v $(pwd)/bin:/lede/bin \
  whlsxl/lede:latest

自定义源码仓库

根目录diy.sh为自定义脚本示例。把脚本挂载到/diy.sh文件下,在下载完lede仓库后,自动执行。

注意要考虑仓库已经存在情况。

判断当前目录是不是git仓库,git rev-parse --is-inside-work-tree > /dev/null 2>&1;

执行命令

dirclean

如果项目编译时出错,清理编译文件

docker run --rm -it --name lede \
  -v $(pwd)/lede_new:/lede \
  -v $(pwd)/x86.config:/.config \
  -v $(pwd)/feeds.conf.default:/feeds.conf.default \
  -v $(pwd)/bin:/lede/bin \
  whlsxl/lede:latest
  make dirclean

make menuconfig

手动生成配置文件

docker run --rm -it --name lede \
  -v $(pwd)/lede_new:/lede \
  -v $(pwd)/x86.config:/.config \
  -v $(pwd)/feeds.conf.default:/feeds.conf.default \
  -v $(pwd)/bin:/lede/bin \
  whlsxl/lede:latest
  make menuconfig

编译查错

默认执行的make是多线程的,出问题不容易追踪。以下自动使用单线程编译,容易追踪出错原因.

docker run --rm -it --name lede \
  -v $(pwd)/lede_new:/lede \
  -v $(pwd)/x86.config:/.config \
  -v $(pwd)/feeds.conf.default:/feeds.conf.default \
  -v $(pwd)/bin:/lede/bin \
  whlsxl/lede:latest
  make V=s -j1

配置文件

分享个我在软路由上用的配置文件,编译x86_64架构的镜像文件。x86.config,可以在这个基础上定制。

diy.sh,为自定义脚本示例。