背景

在PDD上买了一台N1盒子玩,黑色版本。客服说黑色版本和白色版本硬件是一样的,仅仅是颜色的区别。

上手

本文用到的设备:

蓝牙鼠标(手边刚好一个蓝牙的)

HDMI线

显示器

网线:刷armbian后,通过网线远程盒子。

开机,接入HDMI线连接显示器,即可发现,固件版本为 V2.22_0326_NS。

插入鼠标,连接上WIFI,可以直接连接5G WIFI。

连网成功后,mac提示可以隔空播放至“乐投U1”。试了下,确实可以投屏。

降级

打开盒子adb

鼠标点击版本号四次,即可打开盒子adb。

mac安装adb

brew cask install android-platform-tools

或者直接下载包

https://dl.google.com/android/repository/platform-tools_r29.0.5-darwin.zip

下载降级固件

N1 三个分区镜像文件是V2.19版本,实测 V2.27、V2.28降级后即可正常线刷

执行降级

# adb 连接盒子

adb connect 盒子的 IP 地址

# 进入 fastboot

adb shell reboot fastboot

# 这里需要使用USB连接盒子

# 刷入 bootloader

fastboot flash bootloader bootloader.img

# 刷入 boot

fastboot flash boot boot.img

# 刷入 recovery

fastboot flash recovery recovery.img

# 重启 fastboot

fastboot reboot

结果

note@abeffect % N1_V2.19_imgs % fastboot flash bootloader bootloader.img

Sending 'bootloader' (656 KB) OKAY [ 0.041s]

Writing 'bootloader' OKAY [ 0.038s]

Finished. Total time: 0.090s

note@abeffect % N1_V2.19_imgs % fastboot flash boot boot.img

Sending 'boot' (13858 KB) OKAY [ 0.673s]

Writing 'boot' OKAY [ 0.588s]

Finished. Total time: 1.271s

note@abeffect % N1_V2.19_imgs % fastboot flash recovery recovery.img

Sending 'recovery' (17866 KB) OKAY [ 0.864s]

Writing 'recovery' OKAY [ 0.770s]

Finished. Total time: 1.653s

note@abeffect % N1_V2.19_imgs % fastboot reboot

Rebooting OKAY [ 0.001s]

Finished. Total time: 0.001s

由于上面降级仅覆盖了boot分区,所以重启后,显示的系统版本号还是原来的版本号,不会有变化。

刷机

下载刷机镜像

稳定版本:Armbian_5.99_Aml-g12_Debian_buster_default_5.3.0_20191125。地址见本文末尾的参考中。

其中 buster 是 debian 10的代号,5.3.0是内核版本,20191125是编译日期。

制作刷机U盘

下载一个制作启动盘的工具rufus

windows下用rufus将下载好的 Armbian_5.99_Aml-g12_Debian_buster_default_5.3.0_20191125.img.xz 刻录到U盘中。

linux下用 xz -cd Armbian_5.99_Aml-g12_Debian_buster_default_5.3.0_20191125.img.xz > /dev/sda来刻录到U盘中。

成功后,U盘上会有两个分区。一个较小的BOOT分区,格式是FAT,一个较大的ROOTFS分区,格式是ext4。

编辑 BOOT分区上的 uEnv.ini 文件

修改第一行,将路径的文件名替换为meson-gxl-s905d-phicomm-n1.dtb,即指定从U盘启动。

使用U盘启动

两种方法:

方法一:

在断电的情况下,插入U盘启动到离HDMI口近的那个USB口上,然后通电。

方法二:

不断电,插入U盘启动到离HDMI口近的那个USB口上,然后在mac上执行

adb shell reboot update

成功后,可以看到重启后,直接进入了熟悉的 linux 启动页面。

在U盘系统中安装系统到盒子

在路由器中找到aml的IP地址。

第一次没有插网线,无法远程上机器。找了根网线后,在路由器页面中可以看到名为 aml的设备,即通过U盘引导的盒子。

远程连接

默认账号为 root/1234,进去后需要立即改密码,然后按 Ctrl + C跳过新建用户。

备份原系统(留一手,这样出错了还可以恢复)

ddbr -> b -> y -> y

详情如下:

root@aml:~# ddbr

DO YOU WANT TO BACKUP OR RESTORE ?

BACKUP=(b) RESTORE=(r) b

AVAILABLE DEVICES: mmcblk1 sda1 sda2

YOU ARE RUNNING buster FROM sda2

INTERNAL EMMC IS: mmcblk1 SIZE:7634944

ROOT (sda2) FREE SPACE IS:13653460

DO YOU WANT COMPRESSION ?

YES=(y) NO=(n) y

SAVING AND COMPRESSING mmcblk1 TO /ddbr/BACKUP-s9xxx-emmc.img.gz...

1.67GiB 0:03:59 [4.01MiB/s] [=========> ] 22% ETA 0:13:24

7.28GiB 0:09:24 [13.2MiB/s] [==============================================================================>] 100%

15269888+0 records in

15269888+0 records out

7818182656 bytes (7.8 GB, 7.3 GiB) copied, 564.043 s, 13.9 MB/s

JOB FINISHED!

确认备份成功

root@aml:/ddbr# ls -lh /ddbr/BACKUP-s9xxx-emmc.img.gz

-rw-r--r-- 1 root root 584M Mar 28 16:58 /ddbr/BACKUP-s9xxx-emmc.img.gz

将备份文件,自行复制出来,放到一个安全的地方。如果将来需要恢复备份,则重新进入U盘,执行

ddbr -> r -> y -> y

安装armbian到盒子中

查看分区

root@aml:/ddbr# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 1 14.9G 0 disk

├─sda1 8:1 1 128M 0 part /boot

└─sda2 8:2 1 14.6G 0 part /

mmcblk1 179:0 0 7.3G 0 disk

mmcblk1boot0 179:32 0 4M 1 disk

mmcblk1boot1 179:64 0 4M 1 disk

zram0 253:0 0 50M 0 disk /var/log

zram1 253:1 0 901.1M 0 disk [SWAP]

其中可见有mmcblk1,即emmc分区,才可以安装。

安装

cd ~

./install.sh // 老版本安装命令

./install-aml.sh // 新版本安装命令

poweroff // 关机

结果

Start script create MBR and filesystem

/dev/mmcblk1

Start backup u-boot default

4+0 records in

4+0 records out

4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.14997 s, 28.0 MB/s

Start create MBR and partittion

Start restore u-boot

442+0 records in

442+0 records out

442 bytes copied, 0.00434992 s, 102 kB/s

8191+0 records in

8191+0 records out

4193792 bytes (4.2 MB, 4.0 MiB) copied, 0.368898 s, 11.4 MB/s

Done

Start copy system for eMMC.

Formatting BOOT partition...mkfs.fat 4.1 (2017-01-24)

done.

Cppying BOOT...done.

Edit init config...done.

Formatting ROOT partition...

e2fsck 1.44.5 (15-Dec-2018)

ROOT_EMMC: clean, 11/427392 files, 50723/1706240 blocks

done.

Copying ROOTFS.

Copy BIN

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

*******************************************

Complete copy OS to eMMC

*******************************************

断电,拔U盘,然后通电,从eMMC引导。

系统调优

设置时区

armbian-config --> personal --> Timezone --> Asia --> Shanghai

确认修改生效了

root@aml:~# ls -ld /etc/localtime

lrwxrwxrwx 1 root root 33 Mar 29 01:24 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai

设置软件源

armbian-config --> personal --> Mirror --> China

然后修改文件 /etc/apt/sources.list,将

deb http://httpredir.debian.org/debian buster main contrib non-free

#deb-src http://httpredir.debian.org/debian buster main contrib non-free

deb http://httpredir.debian.org/debian buster-updates main contrib non-free

#deb-src http://httpredir.debian.org/debian buster-updates main contrib non-free

deb http://httpredir.debian.org/debian buster-backports main contrib non-free

#deb-src http://httpredir.debian.org/debian buster-backports main contrib non-free

deb http://security.debian.org/ buster/updates main contrib non-free

#deb-src http://security.debian.org/ buster/updates main contrib non-free

改为

deb http://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free

deb http://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free

deb http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free

连接WIFI

用命令行直接连接WIFI

# 设置配置文件

wpa_passphrase wifi名称 wifi密码 >> /etc/wpa_supplicant/wpa_supplicant.conf

# 加载配置文件

wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

# 自动获取ip

dhclient wlan0

使用nmtui设置wifi

nmtui --> Edit a connection --> Add --> Wi-Fi --> 填写对应的设置即可

如果2不行的话,最后的方法。

我这里先使用了3,再做了2,后来把3去掉了,重启后也是可以工作的。

启动自动连接WIFI,临时解决方案:在/etc/rc.local中增加下面内容

ifconfig wlan0 up

wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

dhclient wlan0

load为2

原因为网卡驱动问题,将有线网络禁用掉 ifconfig eth0 down即可正常。

彻底解析需要修改dtb。

反编译dtb -> dts

启动时的dtb文件为/boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1.dtb

执行反编译,如下,这些Warning可以忽略 。

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

n1.dts: Warning (unit_address_vs_reg): /scpi/clocks/scpi_clocks@0: node has a unit name, but no reg property

n1.dts: Warning (unit_address_vs_reg): /soc/bus@c8100000/pinctrl@14: node has a unit name, but no reg property

n1.dts: Warning (unit_address_vs_reg): /soc/periphs@c8834000/rng: node has a reg or ranges property, but no unit name

n1.dts: Warning (unit_address_vs_reg): /soc/periphs@c8834000/pinctrl@4b0: node has a unit name, but no reg property

n1.dts: Warning (unit_address_vs_reg): /soc/periphs@c8834000/eth-phy-mux: node has a reg or ranges property, but no unit name

n1.dts: Warning (unit_address_vs_reg): /soc/usb@c9000000: node has a unit name, but no reg property

n1.dts: Warning (unit_address_vs_reg): /sound/simple-audio-card,dai-link@0: node has a unit name, but no reg property

n1.dts: Warning (unit_address_vs_reg): /gpio-keys-polled/button@0: node has a unit name, but no reg property

n1.dts: Warning (avoid_unnecessary_addr_size): /gpio-keys-polled: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property

修改dts文件

修改n1.dts文件,注释掉212行,改为如下所示:

205 interrupt-controller@9880 {

206 compatible = "amlogic,meson-gpio-intc\0amlogic,meson-gxl-gpio-intc";

207 reg = < 0x00 0x9880 0x00 0x10 >;

208 interrupt-controller;

209 #interrupt-cells = < 0x02 >;

210 amlogic,channel-interrupts = < 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 >;

211 status = "okay";

212 #phandle = < 0x21 >;

213 };

编译 dts --> dtb

按下面命令编译dtb,忽略掉Warning:

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

将dtb复制到/boot/dtb中

cp n1.dts /boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1-new.dtb

查看一下变化

root@aml:/boot# ls -ld /boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1*

-rwxr-xr-x 1 root root 27175 Mar 29 01:10 /boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1.dtb

-rwxr-xr-x 1 root root 27184 Mar 29 14:58 /boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1-new.dtb

修改uEnv.ini,重新启动。

修改uEnv.ini,指向新的dtb文件,如下:

root@aml:/boot# head uEnv.ini

dtb_name=/dtb/amlogic/meson-gxl-s905d-phicomm-n1-new.dtb

bootargs=root=LABEL=ROOT_EMMC rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

重新启动

root@aml:~# reboot

未解决的问题

emmc只读

emmc卡的读写能力不行,读写快了会变成只读系统。

桌面

安装一个桌面

armbian-config --> System --> Default

按提示,会先创建一个普通用户。

然后按提示,会安装共至少700+个软件包。

安装结束后,即可看见久违的桌面。

参考

armbian n1 桌面_N1盒子初体验(降级+刷armbian)相关推荐

  1. armbian ubuntu 桌面_N1盒子10分钟一键刷入OMV、HomeAssistant(站内首发)

    N1盒子10分钟一键刷入OMV.HomeAssistant(站内首发) 2020-04-10 13:42:21 81点赞 974收藏 120评论 创作立场声明:一个年轻人,这次是个机智的年轻人哟 更新 ...

  2. linux三大桌面,三大特性!Linux 7桌面正式版初体验(组图)

    三大特性!Linux 7桌面正式版初体验(组图) 作者: 51cto CNETNews.com.cn 2010-03-26 01:05:14 经过一段时间的测试,中科红旗Linux终于发布了正式版,并 ...

  3. armbian n1 桌面_斐讯N1折腾记:运行 Linux 及优化 | 米V米

    最后更新时间:2019年03月25日 此教程同样适用于斐讯 P1 咳咳咳,上篇教程教大家给斐讯 N1 降级并且刷了官改系统,可以当作一个电视盒子和下载机来使用. 有些小伙伴可能不想把它当作电视盒子,就 ...

  4. .net core WinFrom桌面应用程序 初体验

    1..net Core 创建WinFrom桌面应用程序 前提是安装好.netCore开发环境,以及最新的.netCore3.0以上 使用命令创建,打开CMD,输入:dotnet new winform ...

  5. wpf xaml突然不能自动补齐代码_Xaml+C#桌面客户端跨平台初体验

    (给DotNet加星标,提升.Net技能) 转自:大头BigHeadcnblogs.com/Big-Head/p/12614118.html 前言 随着 .NET 5的到来,微软在 .NET跨平台路上 ...

  6. 玩客云刷armbian安装php环境_玩客云刷armbian记录

    参考 写在前面 主要参考了玩客云内置 eMMC 存储刷入 armbian帖子, 本文的很多配图(水印:知乎@梨数码)也来自这个帖子,会额外补充一些注意事项. 工具 USB公对公 用于刷入带uboot的 ...

  7. armbian 斐讯n1_记录一下斐讯N1盒子刷Armbian的各种坑

    最近搞了一个斐讯N1盒子,准备拿来刷Armbian,也就是linux. armbian使用了AArch64架构,也就是说,是armv8,安装nodejs时注意下载armv8的版本. 斐讯N1盒子自带的 ...

  8. 桌面环境选择_Ubuntu 18.04 桌面环境初体验

    04 Ubuntu 18.04 桌面环境初体验 我前面的文章有介绍怎么在物理机上安装 Ubuntu Desktop 18.04 操作系统,当时安装完重启进入系统后就没有接着介绍了.今天就一起来看看 U ...

  9. w ndows7中桌面图标,七仔教你学习Windows 7:桌面初体验

    [IT168 软件技巧]朋友,你还在坚守"XP"吗?你还在忍受"Vista"吗?为什么不试试Windows 7?只要你曾领略她卓越的性能.华丽的外表,就一定会为 ...

最新文章

  1. 阿里云发布第四代神龙架构云计算首次进入5微秒时延时代
  2. 报错解决 :Couldn't find any package by regex 'g++-8'
  3. matlab simulink数据导出到变量区
  4. Special Numbers 进制(1100)
  5. Python教程分享之Python基础知识点梳理
  6. [转]XNA 3.1 转换到 XNA4.0 的备忘录
  7. 黄文俊:Serverless小程序后端技术分享
  8. 在VS上部署OpenGL
  9. Android编程之SparseArrayE详解 Android编程之SparseArrayE详解
  10. 挪威议会的内部邮件系统遭攻击,信息被盗
  11. vscode调试html文件,vscode调试html文件
  12. iOS 9检测QQ、微信是否安装
  13. 彼得.泰尔:认知未来是投资人的谋生之道
  14. Java中的方法重载(overload)
  15. 计量单位报错:消息号BM302 “未使用语言 ZH 创建单位 XXX”
  16. openwrt 使用自定义 DNS
  17. Word学习笔记:P6-文档封面、页眉、页脚设置
  18. Word 2013难搞的页眉,如何把单独一页的页眉去掉?
  19. echarts 柱状图,分别给每个柱子设置不同的颜色
  20. opencv遍历像素的方式

热门文章

  1. mysql在原有的字段添加字符串(用逗号分隔)
  2. cad旋转命令_CAD制图初学入门教程:CAD软件中旋转命令的使用技巧
  3. Pyqt5+Yolov5+Mss实现一个实时桌面检测软件
  4. vscode 解决 无法打开 chrome
  5. open edx_Open edX入门以托管您的课程
  6. 完整版 :数据分析师的一天
  7. 淘宝网页显示不正常,其它网站正常显示---解决办法
  8. easyui01人门基础
  9. java仙侠回合制单机游戏_2019回合仙侠手游排行榜 好玩的回合制单机仙侠手游推荐...
  10. 心率检测仪的设计与实现