TheUnknownThing的技术分享站

Stay Hungry, Stay Foolish

OpenWRT编译二三事

默认分类 0 评 33 阅读

前情提要:以下基于最新OpenWRT(23.05)+ Github Actions在线编译

先来回答几个问题

  • 为啥自己编译?我是一个成熟的计算机系大学生(笑)。
  • 为啥使用Github Actions?因为Github实在是太方便了我本来想用我的专用编译机9950x跑的,跑了15分钟报错了,懒得查
  • 我怎么看不懂?看不懂就别看了。老老实实下载别人编译好的包去吧。

Fork

首先需要Fork一份LEDE源码。LEDE仓库Github

克隆仓库到本地

将刚刚Fork的仓库克隆到本地:

git clone https://github.com/your-username/lede
不要下载ZIP!

更新Feed

cd lede
./scripts/feeds update -a
./scripts/feeds install -a

不更新Feed的话你后续Luci的APP都看不到了!该步骤必做!

进入配置菜单

使用以下命令进入配置菜单:

make menuconfig

编译配置菜单说明

一般来说你只需要修改这些:

  • Target System: 处理器架构
  • Subtarget: 选择处理器
  • Target Profile: 预制配置文件
  • LuCI: LuCI插件

    • Applications: 应用程序
    • Themes: 主题

比如我就选了:

  • Target System: Mediatek-ARM
  • Subtarget: Filogic
  • Target Profile: ASR3000
  • LuCI: LuCI插件

    • Applications: 好多好玩的插件等你探索!
    • Themes: luci-theme-material

修改完成后,选择Save保存为.config文件。

关于Luci插件,具体请看恩山论坛的这篇文章

Commit到你fork的仓库

  1. .gitignore文件中删除/.config行,取消忽略配置文件。非常重要!!!否则commit时候不会包含.config文件!!!
  2. 提交更改到GitHub:
git add .
git commit -m "upd: personal config"
git push origin master

仓库分支叫master,颇有主仆的味道了

踩坑:

编译之前开启WIFI

若需要默认开启WIFI方便管理,网上搜了一堆教程没用的,都是15年左右,没有参考价值,自己摸索出来:
前往 package/lean/default-settings/files/目录,编辑文件zzz-default-settings
将其中

sed -i '/option disabled/d' /etc/config/wireless
sed -i '/set wireless.radio${devidx}.disabled/d' /lib/wifi/mac80211.sh

这两行在最前面打上#注释掉即可。

Github Actions编译

网络上依然说“提交个Release然后就会自动触发Github Actions”在我这里不太管用,遂需要做一些修改:

  • 使用Github Actions编译时,记得先去Workflow页面把Workflow Enable了,另外还要把OpenWrt-CI也Enable了(因为Forked仓库,Workflow默认关闭)
  • 同时修改仓库.github/workflows/openwrt-ci.yml,将里面最开头(第10行)的cron任务改为以下,即可手动trigger workflow:

    on:
      repository_dispatch:
      workflow_dispatch:

    预计花费两小时,但这跟我有什么关系呢反正用的是Github的资源

修改一些杂七杂八的设置

  • 修改默认主题

    sed -i "s/luci-theme-bootstrap/luci-theme-material/g" feeds/luci/collections/luci/Makefile

    (现在大伙儿的审美是更喜欢argon主题一点貌似,反正这个和你.configluci-themes安装的对上即可)

  • 加入编译者信息

    sed -i "s/OpenWrt /TheUnknownThing build $(TZ=UTC-8 date "+%Y.%m.%d") @ OpenWrt /g" package/lean/default-settings/files/zzz-default-settings

    你这里编译人总不可能是TheUnknownThing吧,自己换一个去。

  • 修改默认管理地址
    默认管理地址为192.168.1.1,若与上游网段重合则可以修改

    sed -i 's/192.168.1.1/192.168.2.1/g' package/base-files/files/bin/config_generate

    这里是修改成了192.168.2.1

寝室里猛猛给我跑步
快来做第一个评论的人吧~

:D 获取中...