家用服务器折腾日记 – 二、OpenWrt的编译、安装与基本设置

OpenWrt 简介

OpenWrt项目是一个针对嵌入式设备的Linux操作系统。OpenWrt不是一个单一且不可更改的固件,而是提供了具有软件包管理功能的完全可写的文件系统。这使您可以从供应商提供的应用范围和配置中解脱出来,并且让您通过使用适配任何应用的软件包来定制设备。对于开发人员来说,OpenWrt是一个无需围绕它构建完整固件就能开发应用程序的框架; 对于普通用户来说,这意味着拥有了完全定制的能力,能以意想不到的方式使用该设备。

以下是OpenWrt项目链接

OpenWrt 功能

OpenWrt的强大开发团队与社区支持使得OpenWrt的插件基本可以覆盖所需的各个方面了。常用的有

  • Docker (拥有Docker基本等于拥有了一切)
  • 拥抱世界
  • DDNS 动态域名解析
  • Frps/Frpc 内网穿透
  • Zerotier 内网穿透
  • AD Guard Home 去广告
  • Smart DNS
  • Samba 文件共享
  • Home Assistant
  • Syncdial 多拨
  • MWAN3 均衡负载
  • ...

OpenWrt下载&编译

下载

如果不想自己编译专属固件,可以直接去下载大佬们编译好的固件:

编译 (以LEDE为例)

编译时需要有科学网络环境

安装依赖

sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 aria2 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 libglib2.0-dev libgmp3-dev libltdl-dev \
libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip libpython3-dev 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

添加第三方插件库(可选)

sed -i '$a src-git kenzo https://github.com/kenzok8/openwrt-packages' feeds.conf.default
sed -i '$a src-git small https://github.com/kenzok8/small' feeds.conf.default
git pull

添加额外插件(可选)

mkdir ./package/myaddons
git clone [addon_url_1] ./package/myaddons/
git clone [addon_url_2] ./package/myaddons/
git clone [addon_url_3] ./package/myaddons/
...

更新feeds

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

选择所需要的配置

make menuconfig
  1. Target System 选择目标平台
  2. Subtarget 选择目标机型
  3. Target Profile 选择对应的默认编译配置文件
  4. Target Images 配置镜像的分区大小、镜像文件的格式等
  5. LuCI->Applications 选择需要的插件

下载dl库并编译

第一次编译建议使用单线程编译并添加V=s参数,便于出错时排查问题

make download V=s -j1
make V=s -j1

编译完成后在 ./bin/targets 目录下可以找到生成的固件

OpenWrt安装

TF卡版

使用 balenaEtcher 等工具将镜像烧录到TF卡中即可 (balenaEtcher官网)

file

硬盘安装(通常为x86平台)

硬盘安装通常是在x86平台上。当然也有部分arm板子没有使用TF卡而是使用了emmc存储(如r68s),此处以更常见的x86平台为例演示安装步骤

制作PE盘

准备一个WindowsPE盘,这里使用的是微PE,也可以自行选择其他的PE(如雷电PE、Edgeless等)

  1. 下载微PE
    微PE下载链接
  2. 安装微PE至U盘
    1. 右下角选择安装PE到U盘
      file
    2. 选择准备好的U盘(注意:会抹除U盘里之前的数据,请提前做好备份
      file
  3. 下载写盘工具
    physdiskwrite下载链接
    file

    选命令行版本,下载解压后得到 physdiskwrite.exe 文件
  4. 将写盘工具和OpenWrt镜像放入U盘
    file

安装OpenWrt

  1. 进入BIOS将USB启动调到第一位
  2. 进入PE系统后以管理员身份打开cmd
    file
  3. 写盘
    注意:physdiskwrite.exeopenwrt.img.gz 的路径和名称要根据自己情况进行修改

    C:\OpenWrt\physdiskwrite.exe -u C:\OpenWrt\openwrt-N5105-P.img.gz

    file

    选择对应的磁盘:输入需要写入的磁盘编号(一般为0号盘)回车,等待写入完成
    file

  4. 写盘完成后关机、拔掉U盘、开机
    file

    OpenWrt基本设置

版权声明:本作品采用CC BY 4.0 许可协议,转载请注明来源
上一篇
下一篇