配套视频教程
《【视频教程】制作支持无线的N1 OpenWRT镜像》
支持无线的固件下载
链接:https://www.maxlicheng.com/openwrt/216.html
天线安装过程视频
《给斐讯N1盒子加装外置天线》
【以下教程笔记】
编译支持斐讯N1盒子的OpenWRT固件
Target System (Broadcom BCM27xx) —>
Subtarget (BCM2710 64 bit based boards) —>
Target Profile (Raspberry Pi 3B/3B+) —>
新建一个文件夹
mkdir works
通过文件传输软件(FileZilla)上传 Armbian和博主本人的355M镜像到新建的works文件夹
Armbian_5.60_Aml-s9xxx_Debian_stretch_default_4.18.7_20180922.img (1.33G)
2019.05.26-openwrt-on-phicomm-n1-bycheng.img (355M)
进入新建的文件夹,并再建一个openwrt文件夹
cd works
mkdir openwrt
拷贝树莓派镜像到works目录
cp /home/cheng/openwrt/lede/bin/targets/brcm2708/bcm2710/openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz
解压树莓派镜像
gunzip openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz
挂载树莓派镜像到系统,提示输入密码,完成后出现/dev/loop0,则挂载成功
(注意:show前面是两条英文的一杠)
sudo losetup -P -f –show openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img
挂载镜像分区到文件夹
sudo mount /dev/loop0p2 /media
拷贝所有文件到新建的openwrt文件夹
sudo mv /media/* openwrt
取消文件夹及镜像挂载
sudo umount /media
sudo losetup -d /dev/loop0
删除树莓派镜像
sudo rm openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img
挂载Armbian镜像,提示输入密码,完成后出现/dev/loop0,则挂载成功
为了避免每次制作都要上传Armbian,我们复制一份再挂载
cp Armbian_5.60_Aml-s9xxx_Debian_stretch_default_4.18.7_20180922.img Armbian_test.img
(注意:show前面是两条英文的一杠)
sudo losetup -P -f –show Armbian_test.img
挂载到 /media 文件夹
sudo mount /dev/loop0p2 /media
删除openwrt文件夹中的相关文件夹及文件
sudo rm -rf openwrt/lib/firmware/
sudo rm -rf openwrt/lib/modules/
复制Armbian的文件到openwrt文件夹
sudo mv /media/lib/modules/ openwrt/lib/
sudo mv /media/lib/firmware/ openwrt/lib/
sudo mv /media/etc/modprobe.d/ openwrt/etc/
sudo mv /media/etc/fstab openwrt/etc/
进入到openwrt的4.18.7-aml-s9xxx文件夹
cd openwrt/lib/modules/4.18.7-aml-s9xxx
建立一个.ko后缀驱动文件拷贝脚本
sudo vi link-ko.sh
文本内容
for x in `find -name *.ko` do ln -s $x . done
设置脚本权限
sudo chmod +x link-ko.sh
执行脚本
sudo ./link-ko.sh
返回works目录
cd /home/cheng/works
设置boot进程所占资源大小
sudo vi openwrt/etc/init.d/boot
在第38行插入(:set nu)
ulimit -n 51200
添加开启wifi的文件
将制作好的启动文件放到OpenWRT对应的文件夹
(注,启动文件千万不要转存到windows系统,否则文件的格式和权限会被windows修改,而导致无线开启失败,别问我为什么知道,问就爆炸,心累)
git clone https://github.com/maxlicheng/phicomm-n1-wireless.git
sudo mv phicomm-n1-wireless/wireless_enable openwrt/etc/modules.d/wireless_enable
sudo rm -rf phicomm-n1-wireless
取消Armbian的挂载
sudo umount /media
sudo losetup -d /dev/loop0
删除使用后的Armbian镜像
sudo rm Armbian_test.img
挂载355M openwrt镜像及分区
(注意:show前面是两条英文的一杠)
sudo losetup -P -f 2019.05.26-openwrt-on-phicomm-n1-bycheng.img
sudo mount /dev/loop0p2 /media
删除openwrt镜像的所有文件
sudo rm -rf /media/*
将openwrt中的所有文件移动到media文件夹
sudo mv openwrt/* /media/
同步刷新一下
sync
卸载挂载的镜像
sudo umount /media
sudo losetup -d /dev/loop0
此时的openwrt镜像文件即为我们制作好的OpenWRT镜像
2019.05.26-openwrt-on-phicomm-n1-bycheng.img
通过文件传输软件,下载到我们的宿主机即可
如果你觉得教程不错的话,可以通过点击下方的打赏按钮来支持博主。
如果文章对您有帮助,欢迎移至上方按钮打赏博主;
博主,用你制作好的img,把firmware,modules,modprobe.d,fstab复制到新编译的rootfs下相对应的文件夹下,然后再挂载复制回你的img,这样就制作成新的img了吧?
是的,按教程来就可以了。
博主,用你制作好的N1 img合成,.ko后缀驱动文件脚本那几步是不是能不用操作?
你自己研究哦,我怕我自己弄糊涂,所以我是重新来的。
sudo losetup -P -f --show openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img
losetup: invalid option -- 'P'
ubuntu 1404和1606都报了找不到这个参数,这个要怎么解决呢。我是在PVE下安装的虚拟机。
是show,前面的两条杠,你换成英文的没?- - show,没有空格,你手动输试试。
Ubuntu 里没有 -P 这个参数,我在debian里找到了这个参数。
我把 -P 这个参数去掉就能正常挂载,我试下后面的会不会出问题。
好
没有加 -P 这个参数,没有出现/dev/loop0p2这个设备,你用的是什么系统呢。ubuntu 16.04 server吗?
ubuntu 16.04,设备是/dev/loop0, /dev/loop0p2是镜像的其中一个分区来的。
2019.05.26-openwrt-on-phicomm-n1-bycheng.img 这个文件是怎么来的呢,是可以自己编译出来的吗。那个分区的问题我在1604上已经挂载成功了。
Armbian修改而成的,你看一下视频教程吧。
ubuntu 14是没有这个P参数,到16版本才能用
很不错的文章,谢谢楼主
将openwrt中的所有文件移动到media文件夹
sudo mv openwrt/* /media/
在这一步提示设备没有空间了,我看了下openwrt有500多兆呢,要如何可以解决?
那就只能用armbian ,别用355m的镜像
可否提供一份你使用的.config给我,我不清楚选了些什么导致镜像那么大,用armbian的镜像,启动有问题,日志里面一堆问题,看不懂。armbian是否只能用你提到的版本,我使用的是5.77,谢谢
配置文件在这里下载 https://www.right.com.cn/forum/thread-679040-1-1.html,不是openwrt额问题,是你armbian版本太高,目前高版本不能正常运行的。
可以给个Armbian_5.60_Aml-s9xxx_Debian_stretch_default_4.18.7_20180922.img的下载链接吗?作者网站没有这个了
看6月6号的文章
armbian版本太高,目前高版本不能正常运行的,我想问一下能正常运行的armbian版本最高能支持到什么版本?谢谢您的支持
另外,FLOW 加速状态 未运行,FULLCONE NAT加速 未运行,刷了你的5.26的固件,这2个启动不起来呢?你的n1可以吗?
硬件关系,这个N1不能正常使用的。
抱歉,您没有权限在该版块回帖.
我不能在恩山回帖。
需要就注册一个呗。不过我觉得没必要,问题不在openwrt,而在你的Armbian。
楼主你好,我使用armvirt编译,勾选3455,按照你的方法开启wifi,ifconfig可以看到wlan0,luci显示”无线未开启或未关联“,但是能扫描到wifi,请问这种情况如何解决??
你对比一下正常的和不正常的两个wireless文件(/etc/config),或者直接将正常的wireless文件上传到/etc/config文件夹试试。
为什么V2ray 不能运行
嗯,不能用的,可能是这v2ray在windows上转存过,文件权限被windows修改了,导致运行不起来。你到/etc/init.d/中,给v2ray一个可执行权限,看看能不能跑起来。目前只能这样,等我有空再编译新版本。
请问命令怎么写
不好用啊,我花了好长一段时间才发现v2ray会影响其他功能,我的固件以后都不会加这个了。权限的命令就chmod +x v2ray_pro,名称要自己核对一下。
感谢楼主,固件链接挂了,求补发
看新的博客文章。
楼主你好,我也遇到楼上的问题,照着你的视频编译的n1固件,只要重启n1就会出现无线不可用的情况,显示未启用或未关联,需要手动改信道才可用。。我对比了你的固件和我自己编译固件的wireless文件,两者是一样的,同时把你固件的wireless上传到我的固件里面,还是同样的问题,麻烦分析下问题在哪里。感谢楼主的付出
评论发一下就好了,首次发评论要审核。通过了就直接可以显示了。
收到,我以为没评论上。不好意思
楼主你好,我也遇到楼上的问题,照着你的视频编译的n1固件,只要重启n1就会出现无线不可用的情况,显示未启用或未关联,需要手动改信道才可用。。我对比了你的固件和我自己编译固件的wireless文件,两者是一样的,同时把你固件的wireless上传到我的固件里面,还是同样的问题,麻烦分析下问题在哪里。感谢楼主的付出
自己制作固件的话尽量少加入其他插件,我遇到过插件问题引起的一些功能异常。wireless就尽量不要转存到Windows系统。你可以去我恩山帖子上下载我的配置文件编译试试。具体什么原因导致无线重启无法正常启动这个也没有结论,大家一起排查一下。
我之前是用debian编译的,现在我用ubuntu编译,走到sudo mount /dev/loop0p2 /media,提示mount: special device /dev/loop0p2 does not exist,这个是什么问题,谷歌不到。。
镜像没挂载,重新挂载镜像试试。
又挂载了一次,已经显示
/dev/loop1,走下一步还是提示mount: special device /dev/loop0p2 does not exist
。。。这时候就应该换成 loop1p2 了。
还是那个提示,一样的
挂的是哪个镜像?先把之前的镜像都卸载掉。
sudo umount /media
sudo losetup -d /dev/loop0
sudo losetup -d /dev/loop1
在执行挂载
sudo losetup -P -f --show openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img
完成后查看一下这个镜像有多少个分区。
sudo fdisk -l /dev/loop0
这是完整提示
Disk /dev/loop0: 119 MB, 119537664 bytes
255 heads, 63 sectors/track, 14 cylinders, total 233472 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5452574f
Device Boot Start End Blocks Id System
/dev/loop0p1 * 8192 40959 16384 c W95 FAT32 (LBA)
/dev/loop0p2 49152 233471 92160 83 Linux
sudo mount /dev/loop0p2 /media
执行sudo losetup -P -f --show openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img报错,提示没有-p ,去掉-p就可以执行挂载了。。提示/dev/loop0
嗯
sudo mount /dev/loop0p2 /media
执行sudo mount /dev/loop0p2 /media 报错,提示不存在
那就不清楚了,正常都是可以挂载的。
好的,多谢。。
昨晚问题已找到所在,无法挂载和无法执行-p是因为ubuntu版本的问题,14极其以下的会有这个问题,我用的就是14.04.6,换了16没问题了,但是无线断电重启就不管用的问题还存在,只能通过手动更改信道解决,已放弃治疗。看看其他大神吧
编译出来的固件都.img.gz的,是不是一定要按你的方法处理才能用?我不需要WIFI
需不需wifi都是这样子制作,只是少了git clone wireless_enable这个步骤。需要就git clone,不需要就不用git。
好的,明白了,明天继续弄
想问下,怎么制作自己定制的n1固件呢,想自己编译一个,但是貌似并没有在openwrt找到相关的信息。
看本文说的视频教程,根据笔记步骤来就可以了。
大佬,我重新编译了9.61的源码,但是制作成N1固件后,还是9.51的,请问这是什么问题?
制作的固件运行后显示的是armbian 的版本号?或者新的没运行起来?你检查一下。
armbian是4.18,L大不是更新了源码吗,修复了一个漏洞,我重新编译了,然后制作成N1固件,别的地方的改动都生效了,就是这个版本号没变
。。。git pull了嘛?
做了的,不知道是什么原因
我制作固件的时候,原始的IMG文件是用上次生成好的,没有重新导入你提供的,这个应该是没有影响的吧
不确定,反正我没这样操作过,我都是重新来的。
我试试重新导入你的固件来制作
还是不行,版本号还是9.51,大佬有时间的话看看怎么解决,谢谢了
我试试重新导入你的固件来制作,还是不行,版本号还是9.51,大佬有时间的话看看怎么解决,谢谢了
按照博主的方法编译了N1的openwrt固件,刷好以后,作为旁路由的时候,有线连接可以科学上网,但是连接N1 wifi的时候不能科学上网,求解,谢谢了!
在防火墙规则中加这语句试试:ptables -t nat -I POSTROUTING -j MASQUERADE
树莓派镜像openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz 这个没有放出来。我自己在网上找了一个 openwrt-18.06.4-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz 。按教程整出来了。但2019.05.26-openwrt-on-phicomm-n1-bycheng.img里边的主题、软件都不见了~~能不能将05.28的镜像上传到onedrive?直接提供下载吧~!~ 谢谢了~~ 支持up主~~
用5.26版本就可以了。目前OneDrive上的就是。
最新的L大的openwrt源码,Target Profile 里面只有 Default 一个选项,没有 Raspberry Pi 3B/3B+。请问怎么配置呢?
用qemu也可以,不一定要树莓派。
你好楼主,我使用armvirt编译,勾选了43455,编译好后按你的方法制作固件移植进了wireless_enable文件,openwrt里ifconfig可以看到wlan0,luci面板了找不到无线的选项,请问是编译前漏了勾选什么选项吗,还是需要什么额外的操作?
您好,楼主。问一下如何usb的剩余空间。
找不到fdisk,使用opkg update && opkg install fdisk安装,提示But that file is already provided by package * libuuid。
谢谢。
,大佬,多久编译一个支持ipv6的固件可以吗
UP主,我只想用U盘启动opwrt,编译的步骤帮忙简单描述下,谢谢!
博主,这样编译出来的固件和恩山那个一键制作脚本是一样的吗?
还有就是你提供的355M的镜像到底是怎么得来的,我看到有个视频是直接用armbian和树梅派镜像做出来的,是一样的吗????
我自己编译的固件只有openwrt-brcm2708-bcm2710-rpi-3-squashfs-sysupgrade.img.gz这个文件解压之后里面有300多M的文件!
不是很清楚,希望博主能够解答,谢谢了

我这个教程已经很旧了,恩山那个一键制作脚本原理类似的,参考那脚本就行。原理就是自己生成一个与固件大小相当的镜像文件,相当于光盘,再把固件内容拷贝到光盘中。
那么那个355M的脚本是从哪里来的,是编译出来的吗?
博主,按照你的教程我用github编译出来的固件是openwrt-bcm27xx-bcm2710-rpi-3-squashfs-factory.img.gz和openwrt-bcm27xx-bcm2710-rpi-3-squashfs-sysupgrade.img.gz,并没有openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz,是不是哪里设置的不对?
追加一下,我自己vps搭建了ubantu编译出来和github actions编译出来都是一样的,然后我用这个openwrt-bcm27xx-bcm2710-rpi-3-squashfs-factory.img.gz加压出来的img挂载报错,请问下知道如何解决么?谢谢
你这个是在make menuconfig 一步少选了一个生成固件的类型,可以看下这个视频https://www.bilibili.com/video/av85046804/
第1分38秒时Target Images的设置
原来和树莓派的平台一样的啊。。。感谢感谢。。。
有个问题想咨询一下,按照你的步骤制作了N1的固件,armbian用的是新的Armbian_20.02.0-rc1.037_Aml-s9xxx_buster_current_5.5.0-rc6_20200205和Armbian_20.02.0-rc1.037_Aml-s9xxx_bionic_current_5.5.0-rc6_20200205.img两个版本,但是两个版本制作出来的固件使用U盘启动时,连接hdmi显示器启动都能成功,但是一旦不接显示器就启动不了,报错代码貌似如下:
meson-drm d0100000.vpu:HDMI-A-1:EDID is invalid:
……
具体我有截图,但是粘不上来,希望大佬能够给予帮助
问一下,如果不借用armbian,直接用编译出来的openwrt固件可以启动吗?wifi是否正常?
视频演示的这个过程是不是把openwrt的内核替换为armbian的内核?如果是这样的话,难怪有时候安装软件总是提示内核版本不对。