文章

斐讯N1刷机并配置SMB

  编辑于:2024-04-28
文章目录

前言

博主入手了斐讯N1,这里记录一下斐讯N1刷机的方法。

操作

准备工作

      • 一台带HDMI接口的显示设备(显示器,电视机均可)
      • 双公头USB
      • 一台电脑

    注意:
    1.双公头的USB可以从网上买,也可以自己制作。自己制作的话,找两条不要的手机数据线,剪掉连接手机端的插头,可以看到里面有四种颜色的线,小心的去皮(可以用火先烧一下,然后用手捏掉烧焦的部分,注意不要烫到手),然后将对应颜色的线连起来,用绝缘胶布包好即可。
    2.recovery下载N1的即可,该连接里面包含N1和T1的文件,不要下错了,下载好后放在某个文件夹备用,ADB文件也解压放在同目录备用。

降级recovery

开启ADB:先启动盒子,插上网线,插上鼠标(插到远离HDMI口的那个USB口),并将盒子和显示器用HDMI线连接,盒子启动后用鼠标连点四次版本号,即可开启ADB,开启ADB后可移除鼠标。
操作步骤:
1.打开存放recovery和ADB的文件夹,在地址栏输入cmd进入,命令提示符。
2.输入adb connect 盒子IP地址
3.盒子插上USB双公头线连接电脑,尽量使用电脑原生的USB口,N1端使用靠近HDMI的USB口。
4.命令提示符中输入adb shell reboot fastboot,盒子会重启,重启后会安装驱动。
5.命令提示符中按下“ctrl+c”,恢复到终端,运行输入fastboot devices -l查看盒子是否已经正确识别未fastboot设备,若正确识别会显示盒子的序列号。
6.烧录相应的recovery,boot,bootloader分区

fastboot flash bootloader bootloader.img
fastboot flash boot boot.img
fastboot flash recovery recovery.img

7.降级完毕,重启盒子,输入fastboot reboot
自此,我们已经完成了相应的降级操作,下面就是刷入电视盒子操作系统了。

电视盒子

现在我们的N1已经回到了开启的界面。开始具体的刷机操作。
1.安装USB_Burning_Tool
2.鼠标右键点击我的电脑→管理→设备管理器→菜单栏的操作→添加过时设备→下一步→安装我手动从列表选择的硬件→下一步→libusb-win32 Usb Devices→WorldCup Device→下一步→下一步→完成。
3.连接盒子的ADB并且进入刷机界面:

adb connect 盒子IP地址
adb shell reboot update

4.打开USB_Burning_Tool,菜单栏文件,选择你需要刷入的固件,并且在右边取消擦除flash,擦除bootloader复选框,点击开始,等待刷写完成。

5.刷写完成后,可关掉USB_Burning_Tool,拔掉电源再插电重启,然后N1就可以作为电视盒子进行使用了。

自此N1已经可以作为电视盒子使用,但是我的目标是,将他作为NAS使用,所以下面介绍启动ARMBIAN,并且配置smb。

启动armbian

armbian是为arm编译的debian系统,通过它,我们可以完成很多的事情。
1.下载armbian社区支持的镜像:https://www.armbian.com/amlogic-s9xx-tv-box/(历史版本可以在:https://archive.armbian.com/aml-s9xx-box/archive下载)(也可以使用https://github.com/ophub/amlogic-s9xxx-armbian,具体安装方法看该页面)
2.将镜像写入U盘(注意,这一步操作会使U盘上所有文件被删除,注意做好备份。):
Linux:

xzcat --keep 你的镜像文件 | sudo dd of=/dev/sdX bs=1M && sync

上面的/dev/sdx中的X代表你U盘的设备文件,使用fdisk -l 查看,根据实际情况修改。
windows:
下载镜像写入软件:usbit.zip
解压XZ格式的镜像,解压出来的IMG格式镜像备用。
解压usbit.zip,并打开USB Image Tool
插入U盘,在USB Image Tool上选中U盘,先点击RESET,重置U盘,然后点击Restore,选择镜像文件写入。
注:有的U盘可能无法写入,或者写入后无法正常启动,可以换U盘试试,或者换软件(balenaEtcher,Rufus之类)试试。
3.新版本的armbian(20.08以上)的默认参数无法直接启动n1,需要修改U盘boot分区的extlinux/extlinux.conf

# aml s9xxx
#将原有的FDT行修改如下
FDT /dtb/amlogic/meson-gxl-s905d-phicomm-n1.dtb
#下面这行参数为150balbes编译镜像需要,armbian社区编译的镜像无需修改
#APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

并且复制u-boot-s905x-s912u-boot.ext
由于armbian的目录结构经常发生变化,150balbes的最新的内容可以参考:https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/,armbian社区支持可以参考:https://forum.armbian.com/topic/33676-installation-instructions-for-tv-boxes-with-amlogic-cpus
4.将写好armbian的U盘插入关机状态的n1,通电启动,armbian就运行起来了(根据U盘读写速度不同,初次启动可能需要较长时间,为观察初次启动是是否正常,可以使用HDMI接口连接到显示器)。
注:这里可能需要设置U盘启动,有两种方法可以实现这个目的,a.首先还是ADB连接盒子,输入adb shell,进入成功命令提示符会变成:p230:/$,准备好U盘,再执行reboot update,此时迅速的插上U盘到靠近HDMI口的USB口,b.如果电视盒子的系统里面自带了终端模拟器,可以直接在终端模拟器中输入reboot update,然后将U盘插入靠近HDMI口的USB口。
此时可以通过外接显示器与键盘进行操作,也可以通过putty进行操作。
putty下载:https://the.earth.li/~sgtatham/putty/latest/w32/putty.exe
打开pytty,输入盒子的IP地址,点击open,用户名“root”,初始密码:“1234”,可在路由器中为盒子分配一个固定IP,方便日后远程操作。

初次运行时会提示修改root密码和创建一个常规用户,初始root密码为:1234,如果不想新建普通用户可按ctrl+c跳过。
5.解决系统负载过高的问题,在Putty终端中操作(armbian社区支持镜像无需修改)
反编译原始n1 dtb文件为n1.dts

dtc -I dtb -O dts -o n1.dts /boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1.dtb

如果出现错误,根据dtb文件所在的实际位置修改上面的命令。
编辑n1.dts,将第183行注释掉(5.9以上版本可能不是这个,是第212行的phandle = <0x21>,为interrupt-controller这段里面的配置)。修改前:phandle = <0x1e>修改后: #phandle = <0x1e>

nano n1.dts

编译新的n1.dtb

dtc -I dts -O dtb -o n1.dtb n1.dts

复制n1.dtb到/boot/dtb中并修改相应extlinux.conf文件

sudo cp -av n1.dtb /boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1-zorz.dtb
sudo sed -i -e 's/-n1/-n1-zorz/' /boot/extlinux/extlinux.conf

如果出现错误,则根据dtb文件夹所在的实际位置修改上面的命令。
重启系统

sudo reboot

6.修改armbian的源
自带的源连接速度很慢,这里修改为国内的源地址。
具体可以参考:https://mirrors.tuna.tsinghua.edu.cn/help/
修改可以在putty终端中进行。
7.安装samba

apt-get update
apt-get install samba

8.添加用户,如果你在初次启动的时候已经添加了一个普通用户,可以不用进行这一步。

adduser n1

按照相应的提示输入即可。
9.挂载移动硬盘,你可以直接使用U盘作为NAS的储存,也可以外接一个移动硬盘。
如果你直接使用U盘进行SMB,那么可以不用进行挂载,直接编辑samba配置即可。
使用fdisk -l查看硬盘信息。根据大小等信息判断分区信息,查看/dev/sdX与你移动硬盘分区的对应关系。
建立挂载目录,有几个分区就建立几个目录,可以1,2,3,4依次递加。

mkdir /home/n1/1

查看分区的UUID,并记下相应的UUID

sudo blkid

实现开机自动挂载移动硬盘

nano /etc/fstab

添加以下内容,有几个则添加几个

UUID=你的UUID /home/n1/1 ntfs(文件系统类型,可能是ntfs,fat32等,按照实际情况填写) defaults 0 0

当然你也可以手动挂载

mount /dev/你的硬盘 /home/n1/1

挂载完成后设置权限,实现对移动硬盘文件的可读可写。

chmod -R 777 /home/n1

配置samba。

nano /etc/samba/smb.conf

添加以下内容

[n1]
   path = /home/n1
   available = yes
   browseable = yes
   public = yes
   writable = yes

为SMB用户添加密码,该用户必须是系统已有用户,按照提示输入密码即可。

smbpasswd -a n1

重启smb服务

service smbd restart

在Windows下面,同时按下windows+R键,输入\\盒子的IP,输入用户名密码,即可查看已经通过网络共享的文件。
补充:
有的时候用的有线连接,不想使用无线,可以关闭无线

nmcli radio wifi off

如果想要再次开启,使用

nmcli radio wifi on

syslog中每10s出现一次ttyS2服务启动失败的日志。不理它也没关系(armbian社区支持镜像无此问题),也可以通过以下方式解决:

sudo systemctl disable serial-getty@ttyS2

安装docker

curl -fsSL https://get.docker.com | bash

如果想要换个电视盒子系统,直接adb进入shell update即可,前提是,你没有把ARMBIAN刷入EMMC。

备份与还原

armbian中带有ddbr工具,根据提示输入b进行系统备份,输入r进行系统恢复。
备份的文件可以放到本地电脑上,以备后用

刷入EMMC

N1使用install-aml.sh而非install-aml-s905-emmc.sh
如果需要还原到电视盒子系统使用ddbr还原备份即可,部分armbian系统安装到EMMC时会删除ddbr工具,此时可以使用dd工具。
首先使用fdisk查看当前分区的情况,将备份还原到emmc。
以下仅为示例,参数错误将会导致设备变砖。

zcat --keep 备份文件 | sudo dd of=/dev/mmcblk1 bs=1M 

备份文件如果是xxx.img.gz使用zcat,备份文件如果是xxx.img.xz使用xzcatmmcblk1是emmc设备。

参考连接:
https://www.right.com.cn/forum/thread-322223-1-1.html
https://www.right.com.cn/forum/thread-338759-1-1.html
https://www.right.com.cn/forum/thread-510423-1-1.html
https://www.right.com.cn/forum/thread-430903-1-1.html
https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/

评论加载中