OpenWrt-编译官方19.07

2024-04-22 09:46:59 浏览数 (1)

代码语言:txt复制
Ubuntu 22
OpenWrt 19.07
MT7620A

前言

本文主要介绍了如何在 Ubuntu22 的环境下,编译打包官方的 OpenWrt 19.07

1. 安装编译所需工具

在下载源码之前,我们首先安装编译所需的工具:

代码语言:bash复制
sudo apt-get update
sudo apt-get install -y time git-core subversion build-essential g   bash make libssl-dev patch libncurses5 libncurses5-dev zlib1g-dev gawk flex gettext wget unzip xz-utils python python-distutils-extra python3 python3-distutils-extra python3-setuptools swig rsync curl libsnmp-dev liblzma-dev libpam0g-dev cpio rsync gcc-multilib
apt-get clean

这一步要反复执行,确认已经没有错误,再进行后续操作。

2. 下载源码,修改 feeds.conf.default

首先,我们要下载特定版本的源码,我们运行:

代码语言:bash复制
git clone --branch v19.07.10 https://git.openwrt.org/openwrt/openwrt.git

接下来,我们要更新和安装 feeds ,介绍一下什么是 feed

In OpenWrt, a “feed” is a collection of packages which share a common location. Feeds may reside on a remote server, in a version control system, on the local filesystem, or in any other location addressable by a single name (path/URL) over a protocol with a supported feed method.Feeds are additional predefined package build recipes for OpenWrt Buildroot. They may be configured to support custom feeds or non-default feed packages via a feed configuration file.

简言之,就是“应用商店”。我们开始修改 openwrt/feeds.conf.default,使其变成 :

代码语言:txt复制
src-git packages https://github.com/openwrt/packages.git;openwrt-19.07
src-git luci https://github.com/openwrt/luci.git;openwrt-19.07
src-git routing https://github.com/openwrt-routing/packages.git;openwrt-19.07
src-git telephony https://github.com/openwrt/telephony.git;openwrt-19.07

如果你需要很多国内的 feed ,你可以在github上搜索:openwrt package ,会有一些开源项目帮助你,比如你还可以添加上:

代码语言:txt复制
src-git kenzo https://github.com/kenzok8/openwrt-packages
src-git small https://github.com/kenzok8/small

这些可以让你获得更多的 luci-app

3. 更新和安装 feeds

至此,我们在项目根目录下执行:

代码语言:bash复制
./scripts/feeds update -a
./scripts/feeds install -a

一定要确保更新和安装正常结束,不然会出现后续找不到某些 package 的窘境。

4. 编译配置、下载与编译

4.1. 编译配置

我们首先运行 make menuconfig,你将看到一个 TUI 界面。在这个界面中,我们要选择好以下内容:

代码语言:txt复制
Target System -- 根据你的开发板CPU指令集选择
Subtarget -- 根据开发板说明书选择
Target Profile -- 根据开发板说明书选择
LuCI --> Collections -> luci  -- 一个运行在开发板上的带web界面的应用,建议勾选
LuCI --> Themes -> luci-theme-argon -- 推荐勾选,界面会好看一些

配置完成后,我们按 ESC ,在是否保存的提示框上选择保存。

4.2.下载

配置好后,我们先下载,我们执行命令:

代码语言:bash复制
make download -j5

-j的含义就是配置线程数,官方有更清晰的说法:--jobs

4.3.编译

首次编译,建议单线程执行:

代码语言:bash复制
make -j1 V=99

V 的含义是 verbose,目的是打印出更多日志。

5. 刷写固件

一般来说,开发板已经为你做好了不死boot,你只需要按照开发板的说明书,将 类似于 openwrt/bin/targets/ramips/mt7620/openwrt-ramips-mt7620-mt7620a-squashfs-sysupgrade.bin的文件刷写进开发板即可。

致谢

  • 《MT7628学习笔记(20)——Feeds源修改(避免下载更新软件包速度慢)》

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

0 人点赞