正文

1.安装ubuntu 16

2.安装编译环境

使用root登陆ssh
然后运行

apt update && apt-get upgrade -y
sudo apt-get install -y gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev gawk asciidoc libz-dev git git-man liberror-perl libsigsegv2 vim build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 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 device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync

3.拉取openwrt源码

git clone https://github.com/coolsnowwolf/lede
cd lede
./scripts/feeds update -a
./scripts/feeds install -a

4.安装宝塔

Linux面板7.4.5安装命令:(推荐使用价格厚道,高性能v4的尊云zun.comKVM云服务器安装)使用SSH 连接工具(查看使用方法),挂载磁盘后(查看),根据系统执行框内命令开始安装(大约2分钟完成面板安装)
Centos安装命令:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

试验性Centos/Ubuntu/Debian安装命令 独立运行环境(py3.7) 可能存在少量兼容性问题 不断优化中

curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh

Ubuntu/Deepin安装命令:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

Debian安装命令:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

Fedora安装命令:

wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

Linux面板7.4.5升级命令:

curl http://download.bt.cn/install/update6.sh|bash

以上节点无法使用的情况下,请使用下面的备用节点:
备用节点【江苏】:(宝塔推荐使用4核8G 100G BGP高防的尊云zun.com云服务器安装)

yum install -y wget && wget -O install.sh http://180.101.160.68:5880/install/install_6.0.sh && sh install.sh

备用节点【香港】:(宝塔推荐使用CN2 双程GIA高品质,免备案的尊云zun.com香港云服务器安装)

yum install -y wget && wget -O install.sh http://103.224.251.67:5880/install/install_6.0.sh && sh install.sh

备用节点【美国】:(宝塔推荐使用价格厚道,高性能v4的尊云zun.comKVM云服务器安装)

yum install -y wget && wget -O install.sh http://128.1.164.196:5880/install/install_6.0.sh && sh install.sh

若点击更新后没生效,请尝试重启面板服务:

bt restart

宝塔面板特色:
面板特色功能:
一键配置服务器环境(LAMP/LNMP)
一键安全重启
一键创建管理网站、ftp、数据库
一键部署SSL证书
一键部署源码(discuz、wordpress、dedecms、z-blog、微擎等等)
一键配置(定期备份、数据导入、伪静态、301、SSL、子目录、反向代理、切换PHP版本)
一键安装常用PHP扩展(fileinfo、intl、opcache、imap、memcache、apc、redis、ioncube、imagick)
数据库一键导入导出
系统监控(CPU、内存、磁盘IO、网络IO)
防火墙端口放行
SSH开启与关闭及SSH端口更改
禁PING开启或关闭
方便高效的文件管理器(上传、下载、压缩、解压、查看、编辑等等)
计划任务(定期备份、日志切割、shell脚本)
软件管理(一键安装、卸载、版本切换)

面板管理常用命令:https://www.bt.cn/btcode.html

5.手动适配新机型

参考教程

这里以手动适配小米路由3C为例

增加DTS文件

/lede/target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts
mt7628an_xiaomi_miwifi-3c.dts
修改/lede/target/linux/ramips/image/mt76x8.mk
mt76x8.mk

修改默认网关地址

文件在/package/base-files/files/bin/config_generate

大概第103行的位置


原始文件:

    lan) ipad=${ipaddr:-"192.168.1.1"} ;;
    *) ipad=${ipaddr:-"192.168.$((addr_offset++)).1"} ;;
esac

netm=${netmask:-"255.255.255.0"}

修改文件:

    lan) ipad=${ipaddr:-"10.32.0.1"} ;;
    *) ipad=${ipaddr:-"10.32.$((addr_offset++)).1"} ;;
esac

netm=${netmask:-"255.255.254.0"}

配置端口

修改/lede/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
/lede/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
:
02_network
修正:
02_network

花式操作

因为以前适配过Padavan,所以对于网口问题,我有一个大胆的猜想
padavan xiaomi-mini 网口源码:

# CONFIG_RAETH_ESW_IGMP_SNOOP_HW is not set
CONFIG_RAETH_ESW_PORT_WAN=4
CONFIG_RAETH_ESW_PORT_LAN1=1
CONFIG_RAETH_ESW_PORT_LAN2=0
CONFIG_RAETH_ESW_PORT_LAN3=3
CONFIG_RAETH_ESW_PORT_LAN4=2
# CONFIG_RAETH_SNMPD is not set
CONFIG_RAETH_READ_MAC_FROM_MTD=y
# CONFIG_RAETH_MEMORY_OPTIMIZATION is not set
# CONFIG_RAETH_DEBUG is not set

openwrt xiaomi-mini 网口源码:

lenovo,newifi-y1|\
    xiaomi,miwifi-mini)
        ucidef_add_switch "switch0" \
            "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
        ;;

通过对比得知,网口参数一致,于是以前适配的Padavan参数完全可以移植过来。

Openwrt Mac地址总结


通过测试,该语句的意思应该是从mtd3: 00010000 00010000 "Factory" 也就是eeprom/art 中读取mac地址 Factory也就是我们的 art/eeprom 分区里面有mac地址、sn、无线功率校准等参数
具体可以看


也就是说,不论我们怎么在Openwrt系统里改Mac参数都是无效的,要想生效很简单,就是在配置文件中删除你要编译的型号即可,
例如:

/home/oprenwrt/lede/target/linux/ramips/mt76x8/base-files/etc/board.d
ramips_setup_macs()
{
    local board="$1"
    local lan_mac=""
    local wan_mac=""
    local label_mac=""

    case $board in
    aigale,ai-br100|\
    asus,rt-n12p|\
    asus,rt-n14u|\
    bdcom,wap2100-sk|\
    edimax,ew-7478apc|\
    fon,fon2601|\
    head-weblink,hdrm200|\
    nexx,wt3020-4m|\
    nexx,wt3020-8m|\
    phicomm,psg1208|\
    planex,db-wrt01|\
    planex,mzk-750dhp|\
    sanlinking,d240|\
    vonets,var11n-300|\
    wrtnode,wrtnode|\
    youku,yk1|\
    zbtlink,zbt-ape522ii|\
    zbtlink,zbt-wa05|\
    zbtlink,zbt-we2026|\
    zbtlink,zbt-we826-16m|\
    zbtlink,zbt-we826-32m|\
    zbtlink,zbt-we826-e|\
    zbtlink,zbt-wr8305rt)
        wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
        ;;

如果不需要youku,yk1|\则从上诉参数中删除youku,yk1|\保存生效即可开始编译

然后ssh进入目录

cd /lede
make menuconfig
/*选择配置*/
make V=s -j4

[collapse status="false" title="来自源码作者的话:"]make -j8 download V=s下载dl库(国内请尽量全局科学上网)
输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。
本套代码保证肯定可以编译成功。里面包括了 R20 所有源代码,包括 IPK 的。

6.开始编译

开始编译
编译结果在
/lede/bin/targets/ramips/mt76x8/openwrt-ramips-mt76x8-xiaomi_miwifi-3c-squashfs-sysupgrade.bin


固件网关:192.168.1.1
固件默认web账号:admin
固件默认web密码:password
固件默认ssh账号:root
固件默认ssh密码:password

7.添加其他主题或插件

以编译minieap为
在解压后到sdk文件夹中clone,输入

git clone https://github.com/ysc3839/openwrt-minieap.git package/minieap
git clone https://github.com/kongfl888/minieap.git package/minieap
git clone https://github.com/ysc3839/luci-proto-minieap.git package/luci-proto-minieap
git clone https://github.com/kongfl888/luci-app-minieap.git

编译 po2lmo

(如果有po2lmo可跳过)

git clone https://github.com/openwrt-dev/po2lmo.git
pushd po2lmo
make && sudo make install
popd

更新,安装软件包,输入

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

然后再输入make menuconfig V=sc
在LuCI里输入M选择luci-app-minieap``luci-proto-minieapNetwork里输入M选择minieap

先选择LuCI


在luci-proto-minieap前的括号里填上M后回到首页选择Network

minieap前的括号里填上M

最后,打包ipk,输入,

make package/minieap/compile V=s
make package/luci-proto-minieap/compile V=s
make package/luci-app-minieap/compile V=s


这时,我们的minieap就编译好了,一般可以在bin/packages/架构名/base中找到,再用之前的方法scp上传到路由器的openwrt即可使用啦~
同样的,可以用这个方法编译openwrt其他的软件,主题等等.........

8.固件下载

小渔网盘
蓝奏云盘

Last modification:March 7th, 2021 at 08:03 pm
如果觉得我的文章对你有用,请随意赞赏