Newifi3/OpenWrt

Newifi3/OpenWrt

编译 openwrt

编译环境准备

参考 OpenWrt/Build

编译配置选项

官方 OpenWrt 19.07.3 配置选项 .config

make menuconfig 配置编译选项并生成 .config 编译配置文件。

原则:只编译基本的东西。其他软件后续通过opkg安装。因为固件ROM里的软件包会一直占用空间(即使升级了新版本)。

参考配置选项: (全部配置为 built-in * 模式,不要编译为模块)

Target System: MediaTek Ralink MIPS
Subtarget: MT7621 based boards
Target Profile: Newifi D2
Base System: 
  * ca-certificates (依赖 ca-bundle)
  blockd: 选中 (同时会自动选中上面的 block-mount) (块设备支持)
  -dnsmasq: 去掉默认的 dnsmasq (精简版), 换成下面的 dnsmasq-full
  dnsmasq-full: 选中除 "Build with HAVE_BROKEN_RTC" 以外全部子选项(默认)
LuCI --> Collections: 选中 luci (luci web界面)
Luci --> Modules:
  * luci-compat
Luci --> Applications: 选中以下app包(这些包也可以单独安装,为便利直接编译到ROM里)
  luci-app-upnp
  luci-app-wol
Kenel models --> Usb Support, 选中 kmod-usb2, kmod-usb2-pci, kmod-usb3, kmod-usb-storage (usb设备支持相关)
Kenel models --> naive language support, 选中 kmod-nls-iso8859-1, kmod-nls-cp932, kmod-nls-cp936, kmod-nls-cp950, kmod-nls-utf8 (kernel 的拉丁字符集, 日文, 简体中文, 繁体中文, utf8等支持)

Network
  * ipset
Network --> File Transfer
  * curl
Network --> Routing and Redirection
  * ip-full
Network --> Firewall
  * iptables-mod-tproxy
Utilities
  * coreutils
    * coreutils-nohup
  Compression:
    * unzip

Others
CONFIG_KERNEL_FS_POSIX_ACL
CONFIG_KERNEL_USER_NS

其他 Newifi D2 target profile 应该默认选中的编译内容:

Kernel modules - Wireless Drivers
  kmod-mt7603 2.4G 驱动
  kmod-mt76x2 : 5G 驱动

建议额外包含编译一些内核模块(内核模块用opkg安装经常会因为kernel checksum不一致报错,虽然通常 --force-depends 都能安装上,但我遇到过强行安装的内核模块加载后把系统弄挂了的情况。所以还是直接集成在ROM里省事。反正内核模块也不占多少空间)

# Kernel modules --> Netfilter Extensions
#kmod-arptables
kmod-ipt-ipset
kmod-ipt-nat6
kmod-ipt-nflog
kmod-ipt-nfqueue
kmod-ipt-tproxy
#kmod-ipt-u32

# Kernel modules --> Network Support
#kmod-gre
#kmod-ipip
kmod-tcp-bbr
kmod-tun
kmod-wireguard

# Kernel modules --> Filesystems
#kmod-fs-cifs (注意在OpenWrt里挂载cifs还需要kmod-nls-utf8)
#kmod-fs-exfat
kmod-fs-ext4
#kmod-fs-nfs-v4 (依赖 kmod-fs-nfs, kmod-fs-nfs-common, kmod-fs-nfs-common-rpcsec)
#kmod-fs-nfsd (依赖 kmod-fs-exportfs)
#kmod-fs-ntfs (只能读取ntfs分区,读写ntfs需要 ntfs-3g)
kmod-fuse

4. 编译

make download
make -j5

编译好的固件文件在 bin/targets/ramips/mt7621/openwrt-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin

刷入 OpenWrt

可以在 breed 里直接刷入固件。


Last update: 2020-08-31 05:14:55 UTC