mirror of
https://github.com/Dichgrem/Blog.git
synced 2025-02-23 14:08:37 -05:00
247 lines
12 KiB
HTML
247 lines
12 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html lang="en">
|
|||
|
|
|||
|
<head>
|
|||
|
<title>Dich'blog</title>
|
|||
|
|
|||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
|
|||
|
<meta name="robots" content="noodp"/>
|
|||
|
|
|||
|
<link rel="stylesheet" href="https://blog.dich.bid/style.css">
|
|||
|
<link rel="stylesheet" href="https://blog.dich.bid/color/blue.css">
|
|||
|
|
|||
|
<link rel="stylesheet" href="https://blog.dich.bid/color/background_dark.css">
|
|||
|
|
|||
|
<link rel="stylesheet" href="https://blog.dich.bid/font-hack-subset.css">
|
|||
|
|
|||
|
<meta name="description" content="">
|
|||
|
|
|||
|
<meta property="og:description" content="">
|
|||
|
<meta property="og:title" content="Dich'blog">
|
|||
|
<meta property="og:type" content="article">
|
|||
|
<meta property="og:url" content="https://blog.dich.bid/awesome-openwrt/">
|
|||
|
|
|||
|
<meta name="twitter:card" content="summary_large_image">
|
|||
|
<meta name="twitter:description" content="">
|
|||
|
<meta name="twitter:title" content="Dich'blog">
|
|||
|
<meta property="twitter:domain" content="blog.dich.bid">
|
|||
|
<meta property="twitter:url" content="https://blog.dich.bid/awesome-openwrt/">
|
|||
|
|
|||
|
<link rel="alternate" type="application/atom+xml" title="Dich'blog Atom Feed" href="https://blog.dich.bid/atom.xml" />
|
|||
|
|
|||
|
</head>
|
|||
|
|
|||
|
<body class="">
|
|||
|
<div class="container">
|
|||
|
|
|||
|
<header class="header">
|
|||
|
<div class="header__inner">
|
|||
|
<div class="header__logo">
|
|||
|
|
|||
|
<a href="https://blog.dich.bid" style="text-decoration: none;">
|
|||
|
<div class="logo">
|
|||
|
|
|||
|
Dich'blog
|
|||
|
|
|||
|
</div>
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<nav class="menu">
|
|||
|
<ul class="menu__inner">
|
|||
|
<li class="active"><a href="https://blog.dich.bid">blog</a></li>
|
|||
|
|
|||
|
<li><a href="https://blog.dich.bid/tags">tags</a></li>
|
|||
|
|
|||
|
<li><a href="https://blog.dich.bid/archive">archive</a></li>
|
|||
|
|
|||
|
<li><a href="https://blog.dich.bid/about">about me</a></li>
|
|||
|
|
|||
|
<li><a href="https://blog.dich.bid/links">links</a></li>
|
|||
|
|
|||
|
<li><a href="https://blog.dich.bid/search">search</a></li>
|
|||
|
|
|||
|
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</header>
|
|||
|
|
|||
|
|
|||
|
<div class="content">
|
|||
|
|
|||
|
<div class="post">
|
|||
|
|
|||
|
<h1 class="post-title"><a href="https://blog.dich.bid/awesome-openwrt/">综合工程:OpenWrt路由部署与软件编译</a></h1>
|
|||
|
<div class="post-meta-inline">
|
|||
|
|
|||
|
<span class="post-date">
|
|||
|
2023-08-12
|
|||
|
</span>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<span class="post-tags-inline">
|
|||
|
:: tags:
|
|||
|
<a class="post-tag" href="https://blog.dich.bid/tags/zong-he-gong-cheng/">#综合工程</a></span>
|
|||
|
|
|||
|
|
|||
|
<div class="post-content">
|
|||
|
<p>前言 openwrt 是一个自由的、兼容性好的嵌入式 linux 发行版。作为软路由玩家必备的一款神器,可以实现诸如去广告,多拨和科学上网等多种功能。本文以 openwrt 在X86平台的安装为例,介绍其部署流程。</p>
|
|||
|
<span id="continue-reading"></span><h2 id="xuan-ze-he-gua-de-she-bei">选择合适的设备</h2>
|
|||
|
<p>无论是传统的无线路由器还是小主机都有成为openwrt路由的潜力。截止到今天,已经有20多个品牌(小米,华硕,锐捷,华三等)30多种架构(x86,ipq,bcm,mtd等)支持刷入openwrt;你可以在这个<a href="https://mao.fan/select">网站</a>找到符合你预算和其他要求的,能刷机的路由器。</p>
|
|||
|
<h2 id="zai-x86xiao-zhu-ji-shang-mian-an-zhuang-openwrt">在X86小主机上面安装OpenWrt</h2>
|
|||
|
<p>无论是作为主路由或是旁路由,传统路由器由于主频低,内存小,并不适合作为软路由;而 NAS-软路由一体式 又有 all in boom 的风险,因此推荐X86平台作为物理机。当然,也可以采用 armbian 平台或是开发板,例如网心云老母鸡、树莓派等设备。截至本文撰写时间,二手平台上的价格不太利好:一台J1900平台的售价往往在200左右,而专门的多网口工控机价格在200到1000不等,树莓派更是成为了理财产品,需要慎重选择。</p>
|
|||
|
<h3 id="zhun-bei-yi-xia-gong-ju">准备以下工具:</h3>
|
|||
|
<ul>
|
|||
|
<li>openwrt 的编译包,由 eSir 大佬编译的三个经典版本:
|
|||
|
https://drive.google.com/drive/folders/1uRXg_krKHPrQneI3F2GNcSVRoCgkqESr</li>
|
|||
|
<li>PE 启动盘,这里推荐微PE:https://www.wepe.com.cn/download.html</li>
|
|||
|
<li>img 写盘工具:https://www.roadkil.net/program.php?ProgramID=12#google_vignette</li>
|
|||
|
<li>一个U盘与一台双网口物理机</li>
|
|||
|
</ul>
|
|||
|
<h3 id="an-zhuang-liu-cheng">安装流程:</h3>
|
|||
|
<p>1.进入PE环境:</p>
|
|||
|
<ul>
|
|||
|
<li>打开微PE,将其安装进U盘中,安装完成后将 img 工具和 openwrt 包一起放进去;</li>
|
|||
|
<li>将U盘插入目标主机,进入 BIOS-boot 设置U盘优先启动,各主板进入 BIOS 的按键不同,不确定的话建议都试一遍。</li>
|
|||
|
</ul>
|
|||
|
<p>2.格式化硬盘并写盘</p>
|
|||
|
<ul>
|
|||
|
<li>进入PE环境中,可以看到存在名为“分区助手”的软件,打开它并将目标主机硬盘格式化;注意不要分区!不要分区!不要设置文件系统!否则后续可能无法编译!点击左上角提交并执行</li>
|
|||
|
<li>打开img写盘工具,将openwrt包写入硬盘,注意不要写进U盘里。</li>
|
|||
|
</ul>
|
|||
|
<p>3.进入配置界面</p>
|
|||
|
<ul>
|
|||
|
<li>重启系统并快速拔出U盘,避免重新进入PE;这时系统开始运行了。注意Esir固件是不跑码的,无需担心。</li>
|
|||
|
<li>当看到 <code>please press Enter to activate this console</code>这个提示的时候系统就安装完毕了。可使用 passwd 命令设置密码。软路由将自动获取IP地址,随后我们在浏览器中打开该地址,即可看到 Lucl 界面。</li>
|
|||
|
</ul>
|
|||
|
<h2 id="zai-armjia-gou-de-ying-lu-you-shang-mian-an-zhuang-openwrt">在arm架构的硬路由上面安装OpenWrt</h2>
|
|||
|
<p>相比X86平台,arm架构的设备兼容性不高,不能随便找一个包就能安装。以下是一般步骤:</p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p>首先得知道你的设备的CPU,比如ipq40XX系列,然后在对应的<a href="https://archive.openwrt.org/releases/23.05.4/targets/">仓库</a>查看并下载包体。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>当然也可以在<a href="https://firmware-selector.openwrt.org/">这里</a>直接下载相关型号对应的固件,其中 Sysupgrade 映像是用来更新现有运行 OpenWrt 的设备,使用 Factory 映像在首次刷机时刷入。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>随后开启Telnet或者SSH或者TTL串口连接到路由器,将对应的Uboot刷入,如果没有适配的包就无法刷openwrt。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>通过Uboot的网络界面刷入Factory包,随后就可以在后台(如192.168.1.1)进入openwrt的管理界面。</p>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<h2 id="zai-ubuntushang-bian-yi-openwrtde-ipkbao">在ubuntu上编译openwrt的ipk包</h2>
|
|||
|
<p>这里以ubuntu环境为例,我们假设你有一台虚拟机或者WSL。</p>
|
|||
|
<blockquote>
|
|||
|
<p><code>注意编译不能使用Root用户!</code></p>
|
|||
|
</blockquote>
|
|||
|
<p><strong>随后安装编译依赖的各个包:</strong></p>
|
|||
|
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>sudo apt install python3-distutils-extra git gawk libncurses-dev build-essential binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev make4.1+ perl python3.7+ rsync subversion unzip which
|
|||
|
</span><span>
|
|||
|
</span><span>sudo apt install -y build-essential python3-dev python3-setuptools swig \
|
|||
|
</span><span> libmesa-dev libwayland-dev libgraphene-dev \
|
|||
|
</span><span> gawk wget git-core diffstat unzip texinfo gcc-multilib \
|
|||
|
</span><span> libncurses5-dev libncursesw5-dev zlib1g-dev \
|
|||
|
</span><span> libssl-dev flex bison gperf libxml-parser-perl \
|
|||
|
</span><span> python-is-python3 python3-pip gettext
|
|||
|
</span><span>
|
|||
|
</span><span>sudo apt install -y swig
|
|||
|
</span><span>sudo apt install -y mesa-common-dev libwayland-dev libgraphene-1.0-dev
|
|||
|
</span></code></pre>
|
|||
|
<p>随后下载我们<strong>刷入openwrt的对应的SDK包</strong>,如</p>
|
|||
|
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>git clone https://github.com/immortalwrt/immortalwrt.git
|
|||
|
</span></code></pre>
|
|||
|
<p><strong>下载和安装仓库信息</strong></p>
|
|||
|
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>./scripts/feeds update -a
|
|||
|
</span><span>./scripts/feeds install -a
|
|||
|
</span></code></pre>
|
|||
|
<p><strong>下载并选中我们需要编译的包,这里以inyn为例:</strong></p>
|
|||
|
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>git clone https://github.com/diredocks/openwrt-inyn.git ./package/inyn
|
|||
|
</span><span>make menuconfig
|
|||
|
</span></code></pre>
|
|||
|
<p>在 <code>menuconfig</code> 的命令行界面中,选中 <code>Network -> inyn</code> 将其首部调整为 <code><M></code> 表示按需编译,最后选中 <code>Save -> OK -> Exit</code> 保存配置信息,然后 <code>Exit</code> 退出配置。</p>
|
|||
|
<p><strong>编译 inyn 软件包</strong></p>
|
|||
|
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>make package/inyn/compile V=s
|
|||
|
</span><span>## 如果不行则需要先编译工具链,即为 make j=4 ,j为CPU核数
|
|||
|
</span></code></pre>
|
|||
|
<h2 id="chang-yong-ming-ling">常用命令:</h2>
|
|||
|
<pre style="background-color:#151515;color:#e8e8d3;"><code><span># 更新软件列表
|
|||
|
</span><span>opkg update
|
|||
|
</span><span>
|
|||
|
</span><span># 更新所有 LUCI 插件
|
|||
|
</span><span>opkg list-upgradable | grep luci- | cut -f 1 -d ' ' | xargs opkg upgrade
|
|||
|
</span><span>
|
|||
|
</span><span># 如果要更新所有软件,包括 OpenWRT 内核、固件等
|
|||
|
</span><span>opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade
|
|||
|
</span></code></pre>
|
|||
|
<blockquote>
|
|||
|
<p>新版本的openwrt(24.10)已经改用APK包管理器。</p>
|
|||
|
</blockquote>
|
|||
|
<h2 id="can-kao">参考</h2>
|
|||
|
<ul>
|
|||
|
<li><a href="https://openwrt.org/zh/docs/start">Openwrt wiki</a></li>
|
|||
|
<li><a href="https://openwrt.ai/?target=ipq807x%2Fgeneric&id=xiaomi_ax3600">OpenWrt在线定制编译</a></li>
|
|||
|
<li><a href="https://www.cnblogs.com/tfel-ypoc/p/17226064.html">openwrt luci 页面无法访问 问题排查</a></li>
|
|||
|
<li><a href="https://post.smzdm.com/p/axz6369w/">超详细,多图,简单,OpenWRT 设置,IPV6配置</a></li>
|
|||
|
<li><a href="https://blog.csdn.net/weixin_44548582/article/details/121064734">保姆级-光猫改桥接-路由拨号-openwrt端口转发</a></li>
|
|||
|
</ul>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<div class="pagination">
|
|||
|
<div class="pagination__title">
|
|||
|
<span class="pagination__title-h">Thanks for reading! Read other posts?</span>
|
|||
|
<hr />
|
|||
|
</div>
|
|||
|
<div class="pagination__buttons">
|
|||
|
<span class="button previous">
|
|||
|
<a href="https://blog.dich.bid/awesome-pve-mcsm/">
|
|||
|
<span class="button__icon">←</span>
|
|||
|
<span class="button__text">综合工程:PVE安装与MC服务器搭建</span>
|
|||
|
</a>
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="button next">
|
|||
|
<a href="https://blog.dich.bid/awesome-android-root/">
|
|||
|
<span class="button__text">综合工程:安卓刷机与root教程</span>
|
|||
|
<span class="button__icon">→</span>
|
|||
|
</a>
|
|||
|
</span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<footer class="footer">
|
|||
|
<div class="footer__inner">
|
|||
|
<div class="copyright">
|
|||
|
<span>©
|
|||
|
2025
|
|||
|
Dichgrem</span>
|
|||
|
<span class="copyright-theme">
|
|||
|
<span class="copyright-theme-sep">:: </span>
|
|||
|
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
|
|||
|
</span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</footer>
|
|||
|
|
|||
|
|
|||
|
</div>
|
|||
|
</body>
|
|||
|
|
|||
|
</html>
|