为斐讯K2P编译OpenWRT固件

为斐讯K2P编译OpenWRT固件

因为原作者推荐使用Ubuntu 14 LTS x64但是DigitalOcean最低只有Ubuntu 16 x64,所以这里选择16吧,应该差别不大,内存选择4G,因为在编译的过程中有个阶段会占用很大的内存,第一次编译的时候我选择了1G内存,后来出错了,索性选4G内存吧。

前期准备

SSH 登录 VPS,修改远程端口,安装 vimscreen

apt-get update
apt-get install vim screen -y

原作者推荐不要使用root用户git和编译,所以先使用root权限创建一个用户 openwrt

# 添加用户
adduser openwrt
# 设置密码
passwd openwrt
# 为该用户指定命令解释程序(通常为/bin/bash)
usermod -s /bin/bash openwrt
# 为该用户添加sudo权限
# /etc/sudoers文件默认是只读的,对root来说也是,因此需先添加sudoers文件的写权限
chmod u+w /etc/sudoers
# 编辑sudoers文件
vim /etc/sudoers 
# 找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)
youruser ALL=(ALL:ALL) ALL
# 撤销sudoers文件写权限
chmod u-w /etc/sudoers
# 为新用户添加工作目录的读写权限
chown openwrt:openwrt -R /home/openwrt/

因为这里不需要使用openwrt用户远程登录,所有没有为openwrt配置SSH权限。

使用root用户登录vps,开启一个新会话,避免网络断线后正在执行的任务被取消

screen -S dev

切换到openwrt用户

su openwrt

输入密码

开始编译

sudo apt-get update

sudo apt-get -y install build-essential 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
# lede 源码
git clone https://github.com/coolsnowwolf/lede
# MTK wifi 闭源驱动
git clone https://github.com/MeIsReallyBa/k2p-openwrt-mt7615_5.0.2.0.git
# 把 mtk 目录移动到 lede 源码中的 package 目录中
cd k2p-openwrt-mt7615_5.0.2.0
mv mtk/ /home/openwrt/lede/package/
# 编译前的配置
cd /home/openwrt/lede/
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

Target System 选择 MediaTek Ralink MIPS,Subtarget 选择 MT7621 based boards,Target Profile 选择 Phicomm K2P,另外,建议勾选Build the Openwrt SDK ,方便日后交叉编译,我编译的时候没选,因为暂时用不到

Alt text

选择 wifi 驱动

在主菜单,找到MTK,回车进入

Alt text

选中driver,回车进入

Alt text

先按Y选中KMOD-MT_WIFI,再回车进入

Alt text

将First Wifi Interface选为MT7615E,其他两个选为NONE,按Y保证MT WIFI DRIVER被勾选。接着选择Wifi Operation Mode,回车进入

Alt text

按Y勾选AP,接着一直按EXIT返回到Driver目录,选中Wifi-L1profile回车进入

Alt text

Alt text

保证1st card被勾选,按N取消对2nd 3rd card的勾选。这时候wifi驱动的勾选已经完成

Alt text

openwrt的自带无线配置不支持mtk驱动,需要勾选mtk插件进行配置。按EXIT回到MTK目录,回车进入MISC,勾选MTK-Luci-plugin

Alt text

Alt text

选择save保存配置

编译

make -j1 V=s

如果一切正常,你最终可以在 bin/targets/ramips/mt7621 下找到编译好的固件

openwrt-ramips-mt7621-k2p-squashfs-sysupgrade.bin

Alt text

刷机后如果无法使用无线,如下图所示:

Alt text

解决步骤:网络-接口-lan里的物理设置勾选ra0保存设置后5g出现,再勾选rax0会有2.4g。


参考资料:

Ubuntu16.04系统中创建新用户

解决linux下sudo更改文件权限报错xxxis not in the sudoers file. This incident will be reported.

新建用户 没有文件操作权限

GitHub-coolsnowwolf/lede

GitHub-MeIsReallyBa/k2p-openwrt-mt7615_5.0.2.0

图解如何给k2p的openwrt18.06编译mtk闭源5.0.2.0驱动

为斐讯K2P编译OpenWRT LEDE,并启用mtk闭源wifi驱动及H3C认证(谷歌快照,可能会失效)