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

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

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


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


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

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

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


I.准备工作

文章所有需要的资源集合在此,请按需拿取(目录密码:N1

点击下载

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

内核版本 系统版本 概述
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修改的版本(见附件dtb补丁


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探索手记#1 - 降级并刷入armbian系统

宝塔面板配置请参考探索手记#4点击进入

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


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

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

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

  1. u盘启动armbian5.77后,输入root,1234,登录后,修改密码报错自动退出ssh,怎么解决

    1. @吹吹海风 解决了,要输入2次1234
      1. @吹吹海风 解决了就好,最近还有一个朋友问我这个问题我还真不知道问题出在哪里……
  2. 怎么把emmc 的系统,安装到u盘,发现内置到硬盘空间太小了

    1. @qqbo 在U盘中运行系统,不要写入eMMC
      1. @Luminous 为什么我的输入直接进入的安卓系统
        1. @肖小祺 检查一下U盘写入的正不正确,也可以换一个USB接口检查下
          1. @Luminous 刷人emmc进不了系统了
            1. @肖小祺 尝试ddbr回安卓系统重新刷入吧
  3. 执行dpkg –configure -a后提示dpkg: unrecoverable fatal error, aborting:
    unable to flush updated status of ‘man-db’: Read-only file system
    怎么解决啊?求大师指导
    root@aml:~# df -h
    Filesystem Size Used Avail Use% Mounted on
    udev 467M 0 467M 0% /dev
    tmpfs 184M 7.9M 177M 5% /run
    /dev/mmcblk1p2 6.4G 1.6G 4.8G 25% /
    tmpfs 920M 0 920M 0% /dev/shm
    tmpfs 5.0M 4.0K 5.0M 1% /run/lock
    tmpfs 920M 0 920M 0% /sys/fs/cgroup
    tmpfs 920M 4.0K 920M 1% /tmp
    /dev/mmcblk1p1 122M 73M 49M 60% /boot
    /dev/zram0 49M 1.8M 44M 4% /var/log
    tmpfs 184M 0 184M 0% /run/user/0

    1. @ddcc 试试重新刷如一下系统呢,看报错是缺写入权限,自己看一下目录权限是不是有问题
  4. 你好,非常感谢你的这四篇帖子,让我从琢磨了近半年成功的将N1刷成砖头的失败经历中又找回了信心。
    我现在有个想法,想请教你。
    我能否在U盘启动的系统中按照你的流程配置好宝塔后,用ddbr-B来备份系统,以后再ddbr-R+”nand-sata-install”来恢复到eMMC中?
    谢谢!

    1. @赤色信徒 ddbr -b是用于完整备份N1闪存中的系统,ddbr -r是用于将ddbr -b生成的ddbr包恢复进闪存。nand-sata-install是用于将U盘中的系统复制到闪存,这俩功能不同,你要备份恢复用ddbr即可。
  5. 想问下大佬 armbian到底刷啥版本最好?是5.77吗?我看你5.77和5.99好像都用了,我想一次到位,懒得折腾了…然后 你的5.77镜像为啥是Armbian_5.77_Aml-s905_Ubuntu_bionic_default_5.0.2_20190401.img.xz 为啥不是debian也不是desktop版?求大佬指点啊… 然后dbbr到底是干啥用的?只有需要刷回 电视盒子系统才用的上 ddbr吗?

    1. @浮生若水 ①我演示里面只有5.77和一个更古老的版本,没有用过5.99。②ARMBIAN只是一个统称,Ubuntu/Debian才是Linux发行版。③我没打算接显示器,不需要桌面,所以不是Desktop那个镜像,有需要的话请自己去查找。④ddbr是对eMMC的完整备份,现在是用来救砖用的,如果你自己ddbr备份你的eMMC以后也可以直接刷回去。
  6. Armbian5.77刷入u盘后启动失败 求指导

    1. @hahaya 没接过显示器,查看一下ssh是否正常,不正常的话检查dtb包是否已经正确替换了
  7. 感谢站主,一次成功,现在考虑要不要写入eMMC,下载用IDM贼快!!!

    1. @超人他不是本地人 23333,感谢支持
  8. 我用3。14内核的桌面版 U盘能正常使用 但是用5.44的刷入方法刷入了之后u盘和emmc加载中途就卡住了,但是ssh都正常能用命令行

    1. @耳机狗 不同的版本略有不同,我写的那个仅限于试过的那个包,其他的包建议按原版直接执行nand-sata-install安装
  9. 重启以后引导从U盘启动,屏幕一直显示是a start job is running for armbian …..,有好几个超时,有file 和 hardware的

    1. @StudyLong 没用过外接显示器,不太清楚,如果能正常启动就可以了,中间有可能有些报错吧;不能正常启动建议ddbr回原版再刷……
      1. @Luminous 换个U盘就好了。。不过后面还遇到不少坑
        1. @StudyLong 第三方的是这个样子,坑比较多……遇上的问题也是各种各样……
  10. 请问下扫描不到22端口是怎么回事?

    1. @xxmkz 系统没有正确启动,或者扫描的IP段不对
  11. 我刷入emmc后卡在斐讯开机画面了T^T

    1. @耳机狗 你是之前刷入了其他版本的armbian吧?用ddbr恢复成原版系统,再重新刷入就可以了……
      1. @Luminous 非常感谢,终于成功了 所以最后发现确实是分区的问题 我突然想起来这个n1收来就是别人破解过的
    2. @耳机狗 之前没刷过,我第一次刷的5.77然后就卡了 u盘还能进armbian 那我试试ddbr吧
  12. 我不想刷入emmc,直接用的U盘启动,功能正常,但是我再插入一个移动硬盘后,ssh登录不了了,如果登录ssh后再插入移动硬盘,会发现任何命令都找不到了,只有拔电重启才能恢复

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

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

    1. @kwan https://forum.armbian.com/topic/9559-new-files-disappear-when-restarting-power/ 找到原因了,每十分钟会commit也就是保存一下
      1. @kwan 这个还真没注意(→o←) 反正尽量避免非正常关机吧
  15. 请问,刷入ARMBIAN之后,要是想刷回盒子桌面系统,应该如何处理?是否有相关的教程,我现在能进ARM桌面,但是USB刷机线插上不认原来的刷机设备了

    1. @暴雪 请参考博客里的#2 ddbr的部分,里面提供的ddbr恢复包就是盒子的系统(´。✪ω✪。`)
  16. 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:~#

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

    1. @玩多多 执行shutdown -h now关机,拔电,拔U盘,上电,即从eMMC启动
  18. 你好,降级工具只是写入了boot.img.bl和rc IMG没有改?这样也算降级成功吗?

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

    1. @mxu 以yang大说的为准,其他的都是基于实践得来的,不一定是完全正确的。 dtb这种保证能用即可,后续不会再涉及,我个人是只是对我所尝试的四个系统版本负责。
  20. 装好armbian系统后,先有线连通,然后拔网线,无线就正常了。
    怎么解决?

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