斐讯N1探索手记#1 – 降级并刷入armbian系统

发布于 / 信息应用 / 21 条评论

文章参考来自恩山论坛《【斐讯 N1】手把手教你刷Armbian 安装博纳云,从降级开始V1.1
感谢论坛朋友们的无私分享


经过了数次刷写和翻车之后,这个#1终于是能够有信心写下去了


斐讯N1是使用的arm架构处理器,它上面所运行的armbian是由一个.dtb引导的(这方面对于我来说所知甚少,甚至说一窍不通)

我们平常在x86平台安装Linux系统都是从U盘安装镜像启动,然后通过安装引导把系统安装到硬盘。而对于盒子来说并不是这样,N1的安装思路是把提前配置好、封装好的系统写入U盘,然后从U盘启动系统,再通过脚本写入eMMC。如果你想要亲自封装系统,建议前往恩山论坛去查阅相关资料,这方面笔者也是一窍不通。

那么接下来,正式开始我的记录


I.准备工作

文章所有需要的资源集合在此,请按需拿取 

点击下载

首先选择一个合适的系统,是你愉快玩耍的基础(误)……

内核版本 系统版本 概述
3.14.29 Armbian5.44 网络稳定,可刷入eMMC,不支持bbr
5.0.2 Armbian5.77 可刷入eMMC,替换dtb后稳定,支持bbr
4.18.7 CentOS 7.4 暂时不能刷入eMMC,支持性略好,其他优缺点同上

这三个版本的系统我都尝试了一下,说简单点就是第一个最稳定,第二支持的新特性最多,第三是属于尝鲜类的一个系统(暂时不能刷进eMMC)。

对于绝大多数人来说我个人还是推荐3.14内核的系统,可以免去很多折腾,作为一个喜欢折腾的人我选择了Armbian5.60。

2019.6折腾记录:我觉得5.77替换了dtb相比之前是非常稳定的,墙裂推荐d=====( ̄▽ ̄*)b

#Google TCP-bbr算法

bbr谷歌开发的一个TCP的拥塞算法,能够通过合理化发包次序使高延时条件下链路传输稳定性大幅提升

对于玩VPS的都知道海外的VPS安装bbr后代理速度会提升很多,不过在局域网延时低链路稳定的条件下有无bbr体验差距很小。


不得不提到,4.18+的内核刷入eMMC后会改变分区,无法再通过U盘重新覆盖安装回到3.14的版本,也无法再直接刷回盒子的系统。这个问题的解决方法两种,一种是通过ddbr恢复分区备份,另一种是线刷(参考恩山论坛)。后者我并没有操作成功,因为我的盒子在翻车之后连接电脑不管是短接还是怎么都没反应。

所以当你已经向eMMC刷入了任一版本的armbian之后,再刷入其他版本发现无法从eMMC启动,请参考

斐讯N1探索手记#2 – 使用ddbr恢复官改系统

前几天在刷如3.14内核的armbian后,再刷入4.18内核的armbian发现系统无法启动,我也没有显示器也不知道发生了什么。然后再刷入什么版本的系统都没法正常启动 ...
https://luotianyi.vc/1346.html

恢复至原版安卓系统,再刷入其他版本即可


II.刷机

1.系统降级

现在买到的盒子大多数版本都比较新,需要进行降级才能够刷入第三方系统。

①打开盒子的ADB功能

将盒子正常开机,进入主界面后连接鼠标,用鼠标左键单击四下【固件版本】即可开启ADB

之前在学校没有显示器,结果到了家发现家里显示器连HDMI都没有(我哭了)。没有显示器可以在手机上安装【斐讯遥控器】这个app,通过这个app可以截图,看着截图一点一点挪动鼠标……点四下……也是可以的……

②系统降级

随后打开【斐讯T1、N1官方系统降级工具】,解压至任意摸得到的地方,双击运行【onekey】文件夹下的run.bat运行脚本

当然是选择[2]回车,随后会让你输入IP地址,之前的主页面截图上自己看就是了……填进去,如果操作正确会出现下图

如果连接失败的话,请检查ADB是否已经开启。按照提示进行后,盒子会自动重启,至此降级过程就结束了。


2.制作系统U盘

①将镜像写入U盘

选择一个自己最理想的镜像下载下来,解压获得一个.img映像文件,下载工具包中的【usbit.zip】,直接运行Usb Image Tool.exe即可

(注意此操作会格式化U盘)将一个8G以上的U盘插入电脑,在左侧选择U盘,然后再点击Restore,然后选择刚才解压出来的.img镜像,一路yes就会开始写入U盘,等着写入结束即可

②修改引导dtb

有些镜像已经修改好了引导,但是有的包并没有,检查一下总是没问题的

刻录完的U盘会有一个可读取分区和一个不可读取分区,进入可读取的那个分区(如图),用【Notepad++】编辑uEnv.ini这个文件

如图把那个.dtb替换成【meson-gxl-s905d-p230.dtb】,【Ctrl+S】保存

*armbian5.77请替换dtb为下面xiangsm大神修改的版本 点击下载


3.引导从U盘启动

进入刚才的降级工具/onekey/data目录下(就是包含adb.exe那个文件夹),按住【Shift】键并单击鼠标右键,选择【在此处打开PowerShell窗口】

在打开的PowerShell窗口先后运行这两条指令,注意IP地址可能与刚开始降级时看到的不一致,可以在盒子的截图里再看看现在的IP是多少

操作正确后,盒子会自动重启并从U盘启动


4.将系统写入U盘

盒子在重启之后IP地址又会改变,这个时候最简单的是进入路由器去查看盒子的新IP,如果不行的就只能扫端口了

下载工具包中的【ScanPort.exe】,双击打开

去网络属性里查看一下你的路由器分配的内网网段是多少,红框内填写你的网段IP,端口号22,其他如图所示,扫描可见开放了22端口(SSH端口)的设备,其中之一肯定是你的盒子

下载并打开Xshell(其他的ssh客户端也可以,大同小异),新建连接,IP填你盒子的,然后点击【用户身份验证】,用户名root,其中armbian的默认密码是1234,CentOS的默认密码是centos,保存后连接即可

连接之后会提示你输入现在的密码并再输入新密码,输入即可(密码并不会在ssh界面显示,不要以为没输进去

设置完又会提示加新用户,直接【Ctrl+C】跳过,重新连接。CentOS登录则直接完成,如果修改密码请用passwd指令。


三个镜像写入方式有一点差别,这里分开来写……

①Armbian_5.44

按顺序如下一条一条执行即可,按提示输入y一步一步整起走

最后显示Complete即可拔掉电源,然后拔掉U盘,再插上电源即从eMMC中的系统启动

②Armbian_5.77

一定要先替换成上面提供的补丁版dtb,然后直接执行如下条目即可

Complete界面参考如上图,一样的

③CentOS-7-aarch64-n1-7.5.1804_4.18.7_20180922

CentOS7目前并不能安装到eMMC,但是默认又是从eMMC启动,所以上面俩系统可以选一个刷进eMMC里,然后插上U盘就会默认引导从U盘启动


其他系统的配置请参考探索手记#3

斐讯N1探索手记#3 – 部署环境及实用程序

经过了#1和#2,我们已经成功在斐讯N1上安装了比较满意的armbian系统,接下来就是正经的玩机环节了。 前排提醒:以下操作可能需要一定的Linux基础,并且配图 ...
https://luotianyi.vc/1389.html

*armbian及其他镜像和工具均转载自恩山论坛,在此表示感谢

*半原创教程,转载请注明出处(包含本站及恩山论坛的方案源)

转载原创文章请注明,转载自: Luminous' Home » 斐讯N1探索手记#1 – 降级并刷入armbian系统
  1. 死性不改

    我不想刷入emmc,直接用的U盘启动,功能正常,但是我再插入一个移动硬盘后,ssh登录不了了,如果登录ssh后再插入移动硬盘,会发现任何命令都找不到了,只有拔电重启才能恢复

    1. Luminous
      @死性不改 你这个是挂载有问题导致系统卡死了吧,用ntfs-3g重新挂载试一下?(⊙o⊙)
      1. 死性不改
        @Luminous 直接插入就执行不了任何命令了,移动硬盘现在是ntfs的,明天我把硬盘格式化成ext4试下
        1. Luminous
          @死性不改 我感觉是你的移动硬盘插入后挂载陷入死循环导致系统死机了…… 建议挨个排除下原因,理论上你刷入emmc和用U盘启动是一样的
          1. 死性不改
            @Luminous 好的,我排除下,多谢拉
  2. Steven

    安装教程刷入 emmc的时候 ,卡在开机画面了

    1. Luminous
      @Steven 拔电重启或者重新刷入一次,我也遇到过一次
  3. kwan

    感谢,很详细的教程,成功刷了5.77的。只是断电之后文件会消失,用命令关机或者重启就没事,不知道有什么命令能保存emmc里的改动呢?每次都要重启有点烦。。

    1. kwan
      @kwan https://forum.armbian.com/topic/9559-new-files-disappear-when-restarting-power/ 找到原因了,每十分钟会commit也就是保存一下
      1. Luminous
        @kwan 这个还真没注意(→o←) 反正尽量避免非正常关机吧
  4. 暴雪

    请问,刷入ARMBIAN之后,要是想刷回盒子桌面系统,应该如何处理?是否有相关的教程,我现在能进ARM桌面,但是USB刷机线插上不认原来的刷机设备了

    1. Luminous
      @暴雪 请参考博客里的#2 ddbr的部分,里面提供的ddbr恢复包就是盒子的系统(´。✪ω✪。`)
  5. 玩多多

    root@aml:~# nand-sata-install
    Start copy system for DATA partition.
    resize2fs 1.44.1 (24-Mar-2018)
    open: No such file or directory while opening /dev/data
    tune2fs 1.44.1 (24-Mar-2018)
    /sbin/tune2fs: No such file or directory while trying to open /dev/data
    Couldn’t find valid filesystem superblock.
    e2fsck 1.44.1 (24-Mar-2018)
    e2fsck: No such file or directory while trying to open /dev/data
    Possibly non-existent device?
    Copying ROOTFS.
    mount: /ddbr/install: special device /dev/data does not exist.
    Copy BIN
    Copy BOOT
    Create DEV
    Copy ETC
    Copy HOME
    Copy LIB
    Create MEDIA
    Create MNT
    Copy OPT
    Create PROC
    Copy ROOT
    Create RUN
    Copy SBIN
    Copy SELINUX
    Copy SRV
    Create SYS
    Create TMP
    Copy USR
    Copy VAR
    Copy fstab
    /usr/sbin/nand-sata-install: 99: /usr/sbin/nand-sata-install: /usr/sbin/fw_printenv: not found
    export ARCH=’arm64′
    export HOME=’/root’
    export LANG=’en_US.UTF-8′
    export LANGUAGE=’en_US.UTF-8′
    export LC_ALL=’C’
    export LC_MESSAGES=’en_US.UTF-8′
    export LESSCLOSE=’/usr/bin/lesspipe %s %s’
    export LESSOPEN=’| /usr/bin/lesspipe %s’
    export LOGNAME=’root’
    export LS_COLORS=’rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:’
    export MAIL=’/var/mail/root’
    export OLDPWD=’/root’
    export PATH=’/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games’
    export PWD=’/’
    export SHELL=’/bin/bash’
    export SHLVL=’1′
    export SSH_CLIENT=’192.168.50.15 51154 22′
    export SSH_CONNECTION=’192.168.50.15 51154 192.168.50.234 22′
    export SSH_TTY=’/dev/pts/0′
    export S_COLORS=’auto’
    export TERM=’xterm’
    export USER=’root’
    export XDG_RUNTIME_DIR=’/run/user/0′
    export XDG_SESSION_ID=’1′
    export _=’/usr/sbin/nand-sata-install’
    Modify files for N1 emmc boot
    Image Name:
    Created: Mon Jul 1 01:04:15 2019
    Image Type: ARM Linux Script (uncompressed)
    Data Size: 1125 Bytes = 1.10 KiB = 0.00 MiB
    Load Address: 00000000
    Entry Point: 00000000
    Contents:
    Image 0: 1117 Bytes = 1.09 KiB = 0.00 MiB
    Emmc boot fixed end
    umount: /ddbr/install: not mounted.
    *******************************************
    Done copy ROOTFS
    *******************************************
    Write env bootargs
    /usr/sbin/nand-sata-install: 144: /usr/sbin/nand-sata-install: /usr/sbin/fw_setenv: not found
    *******************************************
    Complete copy OS to eMMC parted DATA
    *******************************************
    root@aml:~#

  6. 玩多多

    最后一步,执行结束拔电拔U盘,插电还是进入原来的系统????

    1. Luminous
      @玩多多 执行shutdown -h now关机,拔电,拔U盘,上电,即从eMMC启动
  7. uaoke

    你好,降级工具只是写入了boot.img.bl和rc IMG没有改?这样也算降级成功吗?

    1. Luminous
      @uaoke 所谓降级并没降系统版本,只是让引导恢复到之前的版本,降完直接开刷就可以了
  8. mxu

    博主的资源集合里,dbt 补丁分两个版本:4.18.x 和 4.20.x
    后来我又去 yangxuan8282 大佬的 N1 仓库翻了一下,找到一个据称是“适用于 4.18 内核的 armbian”的 dtb,然后我算了一下 sha1 值,发现和博主资源集合中 4.20.x 文件夹里的 dtb 文件是一致的。
    不过我还记得另一个博主在他的文章里写到:“dtb 文件据称可以修复内核高负载和有线断网的 Bug,经过测试发现大多数的 Armbian 版本适用,只要替换了 dtb 文件就能解决这两个问题,没必要选择特定的内核版本”。
    所以我现在蛮困惑的。

    1. Luminous
      @mxu 以yang大说的为准,其他的都是基于实践得来的,不一定是完全正确的。 dtb这种保证能用即可,后续不会再涉及,我个人是只是对我所尝试的四个系统版本负责。
  9. bitcha

    装好armbian系统后,先有线连通,然后拔网线,无线就正常了。
    怎么解决?

    1. Luminous
      @bitcha 并没有遇到你这种问题,不过wifi即使接通后其优先级也比有线低的