自编译OpenWRT固件,支持NanoPi NEO2(环境搭建/基本编译)

原文转载自 「周海棠啦」 ( https://www.wygdbb.com/archives/self-compiled-openwrt-firmware-supporting-nanopi-neo2-environment-building-basic-compilation.html ) By hang

预计阅读时间 0 分钟(共 0 个字, 0 张图片, 0 个链接)

主要这次为自己的需求重新编译一遍OpenWRT,记录一下以后方便复制复制

环境要求

# 本地一台Ubuntu主机
Ubuntu 20.04
4G 内存
双核处理器
40G硬盘空间
需要自己添加虚拟内存,防止编译时内存不够

安装编译依赖

sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint

apt 报错解决

这个是我之前的报错造成的,这里修复一下

在运行sudo dpkg --configure -a时出现如下错误提示:

dpkg: 错误: 正在解析文件 '/var/lib/dpkg/updates/0001' 第 0 行附近:
 在字段名 #padding 中有换行符


# 修复

sudo rm /var/lib/dpkg/updates/*

下载源码

git clone https://github.com/coolsnowwolf/lede

echo "src-git lienol https://github.com/Lienol/openwrt-package" >> feeds.conf.default

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

修改默认IP地址

由于我的二级路由IP:192.168.1.1 ,不想之后连接电脑后再修改,因为更新了环境macOS没有网口,索性修改为:192.168.1.2 ,就可以直接访问了

sudo nano package/base-files/files/bin/config_generate

# 修改192.168.1.1  可以用Ctrl+w 搜索

编译

make defconfig
make menuconfig
make download V=s
make -j1 V=s   # 推荐单线程

make -j$(($(nproc) + 1)) V=s # 自信多线程

编译完成的NEO2固件分享

# 儿童节定制版NEO2轻NAS固件已经发布啦
https://github.com/Wygdbb/OpenWRT-For-Pi/releases/tag/v0.4.1

LuCI - Applications 菜单

LuCI - Applications 菜单即为 LuCI APP 集合,此菜单中的项目即为 LuCI 控制面板中各种各样的功能。

以下是全部:注:应用后面标记 “ * ” 为最近新添加
LuCI ---> Applications ---> luci-app-accesscontrol #访问时间控制
LuCI ---> Applications ---> luci-app-acme #ACME 自动化证书管理环境
LuCI ---> Applications ---> luci-app-adblock #ADB广告过滤
LuCI ---> Applications ---> luci-app-adbyby-plus #广告屏蔽大师Plus +
LuCI ---> Applications ---> luci-app-adbyby #广告过滤大师(已弃)
LuCI ---> Applications ---> luci-app-adkill #广告过滤(已弃)
LuCI ---> Applications ---> luci-app-advanced-reboot #Linksys高级重启
LuCI ---> Applications ---> luci-app-ahcp #支持AHCPd
LuCI ---> Applications ---> luci-app-aliddns #阿里DDNS客户端(已弃,集成至ddns)
LuCI ---> Applications ---> luci-app-amule #aMule下载工具
LuCI ---> Applications ---> luci-app-aria2 # Aria2下载工具
LuCI ---> Applications ---> luci-app-arpbind #IP/MAC绑定
LuCI ---> Applications ---> luci-app-asterisk #支持Asterisk电话服务器
LuCI ---> Applications ---> luci-app-attendedsysupgrade #固件更新升级相关
LuCI ---> Applications ---> luci-app-autoreboot #支持计划重启
LuCI ---> Applications ---> luci-app-baidupcs-web #百度网盘管理 *
LuCI ---> Applications ---> luci-app-bcp38 #BCP38网络入口过滤(不确定)
LuCI ---> Applications ---> luci-app-bird1-ipv4 #对Bird1-ipv4的支持
LuCI ---> Applications ---> luci-app-bird1-ipv6 #对Bird1-ipv6的支持
LuCI ---> Applications ---> luci-app-bird4 #Bird 4(未知)(已弃)
LuCI ---> Applications ---> luci-app-bird6 #Bird 6(未知)(已弃)
LuCI ---> Applications ---> luci-app-bmx6 #BMX6路由协议
LuCI ---> Applications ---> luci-app-bmx7 #BMX7路由协议
LuCI ---> Applications ---> luci-app-caldav #联系人(已弃)
LuCI ---> Applications ---> luci-app-cifsd #网络共享CIFS/SMB服务器 *
LuCI ---> Applications ---> luci-app-cjdns #加密IPV6网络相关
LuCI ---> Applications ---> luci-app-clamav #ClamAV杀毒软件
LuCI ---> Applications ---> luci-app-commands #Shell命令模块
LuCI ---> Applications ---> luci-app-cshark #CloudShark捕获工具
LuCI ---> Applications ---> luci-app-ddns #动态域名 DNS(集成阿里DDNS客户端)
LuCI ---> Applications ---> luci-app-diag-core #core诊断工具
LuCI ---> Applications ---> luci-app-dnscrypt-proxy #DNSCrypt解决DNS污染
LuCI ---> Applications ---> luci-app-dnsforwarder #DNSForwarder防DNS污染
LuCI ---> Applications ---> luci-app-dnspod #DNSPod动态域名解析
LuCI ---> Applications ---> luci-app-dockerman #Docker容器 *
LuCI ---> Applications ---> luci-app-dump1090 #民航无线频率(不确定)
LuCI ---> Applications ---> luci-app-dynapoint #DynaPoint(未知)
LuCI ---> Applications ---> luci-app-e2guardian #Web内容过滤器
LuCI ---> Applications ---> luci-app-familycloud #家庭云盘
LuCI ---> Applications ---> luci-app-filetransfer #文件传输(可web安装ipk包)
LuCI ---> Applications ---> luci-app-firewall #添加防火墙
LuCI ---> Applications ---> luci-app-flowoffload #Turbo ACC网络加速(集成FLOW,BBR,NAT,DNS...
LuCI ---> Applications ---> luci-app-freifunk-diagnostics #freifunk组件 诊断(未知)
LuCI ---> Applications ---> luci-app-freifunk-policyrouting #freifunk组件 策略路由(未知)
LuCI ---> Applications ---> luci-app-freifunk-widgets #freifunk组件 索引(未知)
LuCI ---> Applications ---> luci-app-frpc #内网穿透 Frp
LuCI ---> Applications ---> luci-app-fwknopd #Firewall Knock Operator服务器
LuCI ---> Applications ---> luci-app-guest-wifi #WiFi访客网络
LuCI ---> Applications ---> luci-app-haproxy-tcp #HAProxy负载均衡-TCP
LuCI ---> Applications ---> luci-app-hd-idle #硬盘休眠
LuCI ---> Applications ---> luci-app-hnet #Homenet Status家庭网络控制协议
LuCI ---> Applications ---> luci-app-ipsec-virtuald #virtual服务器 IPSec
LuCI ---> Applications ---> luci-app-kodexplorer #KOD可道云私人网盘
LuCI ---> Applications ---> luci-app-kooldns #virtual**服务器 ddns替代方案(已弃)
LuCI ---> Applications ---> luci-app-koolproxy #KP去广告(已弃)
LuCI ---> Applications ---> luci-app-lxc #LXC容器管理
LuCI ---> Applications ---> luci-app-meshwizard #网络设置向导
LuCI ---> Applications ---> luci-app-minidlna #完全兼容DLNA / UPnP-AV客户端的服务器软件
LuCI ---> Applications ---> luci-app-mjpg-streamer #兼容Linux-UVC的摄像头程序
LuCI ---> Applications ---> luci-app-mtwifi #MTWiFi驱动的支持 *
LuCI ---> Applications ---> luci-app-mmc-over-gpio #添加SD卡操作界面(已弃)
LuCI ---> Applications ---> luci-app-multiwan #多拨虚拟网卡(已弃,移至syncdial)
LuCI ---> Applications ---> luci-app-mwan #MWAN负载均衡(已弃)
LuCI ---> Applications ---> luci-app-mwan3 #MWAN3负载均衡
LuCI ---> Applications ---> luci-app-mwan3helper #MWAN3分流助手
LuCI ---> Applications ---> luci-app-n2n_v2 #N2N内网穿透 N2N v2 virtual**服务
LuCI ---> Applications ---> luci-app-netdata #Netdata实时监控(图表) *
LuCI ---> Applications ---> luci-app-nft-qos #QOS流控 Nftables版
LuCI ---> Applications ---> luci-app-ngrokc #Ngrok 内网穿透(已弃)
LuCI ---> Applications ---> luci-app-nlbwmon #网络带宽监视器
LuCI ---> Applications ---> luci-app-noddos #NodDOS Clients 阻止DDoS攻击
LuCI ---> Applications ---> luci-app-nps #内网穿透nps *
LuCI ---> Applications ---> luci-app-ntpc #NTP时间同步服务器
LuCI ---> Applications ---> luci-app-olsr #OLSR配置和状态模块
LuCI ---> Applications ---> luci-app-olsr-services #OLSR服务器
LuCI ---> Applications ---> luci-app-olsr-viz #OLSR可视化
LuCI ---> Applications ---> luci-app-oscam #OSCAM服务器(已弃)
LuCI ---> Applications ---> luci-app-p910nd #打印服务器模块
LuCI ---> Applications ---> luci-app-pagekitec #Pagekite内网穿透客户端
LuCI ---> Applications ---> luci-app-polipo #Polipo代理(是一个小型且快速的网页缓存代理)
LuCI ---> Applications ---> luci-app-pppoe-relay #PPPoE NAT穿透 点对点协议(PPP)
LuCI ---> Applications ---> luci-app-privoxy #Privoxy网络代理(带过滤无缓存)
LuCI ---> Applications ---> luci-app-qbittorrent #BT下载工具(qBittorrent)
LuCI ---> Applications ---> luci-app-qos #流量服务质量(QoS)流控
LuCI ---> Applications ---> luci-app-radicale #CalDAV/CardDAV同步工具
LuCI ---> Applications ---> luci-app-ramfree #释放内存
LuCI ---> Applications ---> luci-app-rp-pppoe-server #Roaring Penguin PPPoE Server 服务器
LuCI ---> Applications ---> luci-app-samba #网络共享(Samba)
LuCI ---> Applications ---> luci-app-samba4 #网络共享(Samba4)
LuCI ---> Applications ---> luci-app-sfe #Turbo ACC网络加速(flowoffload二选一)
LuCI ---> Applications ---> luci-app-shairplay #支持AirPlay功能
LuCI ---> Applications ---> luci-app-siitwizard #SIIT配置向导 SIIT-Wizzard
LuCI ---> Applications ---> luci-app-simple-adblock #简单的广告拦截
LuCI ---> Applications ---> luci-app-smartdns #SmartDNS本地服务器 *
LuCI ---> Applications ---> luci-app-splash #Client-Splash是无线MESH网络的一个热点认证系统
LuCI ---> Applications ---> luci-app-sqm #流量智能队列管理(QOS)
LuCI ---> Applications ---> luci-app-squid #Squid代理服务器
LuCI ---> Applications ---> luci-app-statistics #流量监控工具
LuCI ---> Applications ---> luci-app-syncdial #多拨虚拟网卡(原macvlan)
LuCI ---> Applications ---> luci-app-tinyproxy #Tinyproxy是 HTTP(S)代理服务器
LuCI ---> Applications ---> luci-app-transmission #BT下载工具
LuCI ---> Applications ---> luci-app-travelmate #旅行路由器
LuCI ---> Applications ---> luci-app-ttyd #网页终端命令行
LuCI ---> Applications ---> luci-app-udpxy #udpxy做组播服务器
LuCI ---> Applications ---> luci-app-uhttpd #uHTTPd Web服务器
LuCI ---> Applications ---> luci-app-unblockmusic #解锁网易云灰色歌曲
LuCI ---> Applications ---> luci-app-unblockneteasemusic-go #解锁网易云歌曲 *
LuCI ---> Applications ---> luci-app-unbound #Unbound DNS解析器
LuCI ---> Applications ---> luci-app-upnp #通用即插即用UPnP(端口自动转发)
LuCI ---> Applications ---> luci-app-usb-printer #USB 打印服务器
LuCI ---> Applications ---> luci-app-verysync #微力同步 *
LuCI ---> Applications ---> luci-app-vlmcsd #KMS服务器设置
LuCI ---> Applications ---> luci-app-vnstat #vnStat网络监控(图表)
LuCI ---> Applications ---> luci-app-vsftpd #FTP服务器
LuCI ---> Applications ---> luci-app-watchcat #断网检测功能与定时重启
LuCI ---> Applications ---> luci-app-webadmin #Web管理页面设置
LuCI ---> Applications ---> luci-app-webshell #网页命令行终端(已弃)
LuCI ---> Applications ---> luci-app-wifischedule #WiFi 计划
LuCI ---> Applications ---> luci-app-wireguard #virtual**服务器 WireGuard状态
LuCI ---> Applications ---> luci-app-wol #WOL网络唤醒
LuCI ---> Applications ---> luci-app-wrtbwmon #实时流量监测
LuCI ---> Applications ---> luci-app-xlnetacc #迅雷快鸟
LuCI ---> Applications ---> luci-app-zerotier #ZeroTier内网穿透

支持iPv6:

Extra packages ---> ipv6helper (选定这个后下面几项自动选择了)
Network ---> odhcp6c
Network ---> odhcpd-ipv6only
LuCI ---> Protocols ---> luci-proto-ipv6
LuCI ---> Protocols ---> luci-proto-ppp

第二次编译

cd lede # 进入LEDE目录
git pull # 同步更新大雕源码
./scripts/feeds update -a && ./scripts/feeds install -a # 更新Feeds
rm -rf ./tmp && rm -rf .config # 清除编译配置和缓存
make menuconfig # 进入编译配置菜单
more_vert