网上介绍N1刷armbian的教程很多,我买的外贸盒子 A95XMAX,soc是比较新的S905X2,这里主要记录下在给这个盒子装Armbian的时候遇到的坑.

烧录armbian镜像

到Armbian的官方社区网盘下载目标镜像,我用的是Armbian_19.11.3_Aml-g12_stretch_legacy_5.3.0_20191126.img,选stretch即Debian9对应的OMV是4.X版本,选buster即Debian10对应的OMV是5.X Beta版,为稳定起见我选stretch且Linux核心为5.3的版本,如果选择Ubuntu对应的镜像,是直接安装不了OMV的。
armbian社区主力作者的github地址https://github.com/150balbes
armbian社区论坛TVbox版本地址https://forum.armbian.com/forum/24-tv-boxes/
在用Win32DiskImager把镜像刻录到TF卡

  • 之前我是刷进U盘,通过adb shell reboot update 重启盒子后总是进入Android recover的界面,更换USB口及更换U盘都没用,后面TF卡到货后刷入重启盒子就成功进入armbian系统了,后续研究boot分区的脚本,mmc即tf卡是优先启动,如果没tf卡必须从U盘启动,Android系统下插入U盘,在Android系统设置菜单中的备份或更新中选中 本地更新,然后选中U盘中aml_autoscript.zip开始更新,盒子会重启2次后进入Armbian
  • 中间我给盒子线刷过ATV,即把盒子的电源拔掉用USB公对公的线连接到电脑后,再用工具USB_Burning_Tool 进行烧录,结果只要勾选擦除bootloader就会报错,后来发现因为是新出的盒子,烧录软件版本太老,贴最新版的下载地址https://chinagadgetsreviews.com/download-amlogic-usb-burning-tool-v2-1-7-1.html

修改U盘boot分区中的uEnv.ini中dtb指向为 dtb_name=/dtb/amlogic/meson-g12a-x96-max.dtb
及extlinux目录中extlinux.conf对应dtb指向也做相应调整

adb连接A95X MAX

按照N1相关教程,在box的Andriod系统中连续点击版本号开启adb调试,下载adb相关文件
adb_1_0_39.zip,CMD下输入 adb connect 盒子IP 提示版本不对,更换版本对应旧版本adb后还是不行,后面网上找到个wifi-adb的apkchendx.wifiadb.main_46.apk.zip 成功连接,此种方式需要root权限,好在此盒子本身就是已root。事后总结发现之前不装apk通过局域网连接失败的原因是首先没有通过usb线连接电脑,具体总结如下

1.使用USB数据线连接Android设备; 2.在dos命令行输入adb tcpip命令(例如:adb tcpip 9999); 3.断开USB数据线(数据线和设备断开连接); 4.dos中输入adb connect [:]命令(例如:adb connect 192.168.1.188:9999)。 5.连接后,重启设备盒子就会断掉无法连接上;又要先用USB数据线连接 ———————————————— 参考链接:https://blog.csdn.net/github_2011/article/details/70738203

安装omv

adb连接上盒子后,插入已烧录镜像的TF卡,执行 adb shell reboot update 重启进入armbian系统,此间需要稍微等待一下 。root的默认密码是1234,接下来按提示修改root密码 新建个普通用户。注意此时Armbian系统是跑在tf卡中,盒子的emmc还是Android系统,运行/root/install.sh 这个脚本即可将Armbian写入Emmc中,运行完毕后 不要拔出tf卡,敲命令reboot重启,再次进入tf卡中的Armbian,敲入命令poweroff关机后,拔出tf卡,开机即可进入emmc中的系统。
默认安装源服务器都在国外,要替换成国内的镜像服务器,我选的是中科院的镜像源,还有阿里云,华为云等,修改 /etc/apt/sources.list,注意最后一个security源的url格式不一样。

  1. deb https://mirrors.ustc.edu.cn/debian stretch main contrib non-free
  2. #deb-src http://httpredir.debian.org/debian stretch main contrib non-free
  3. deb https://mirrors.ustc.edu.cn/debian stretch-updates main contrib non-free
  4. #deb-src http://httpredir.debian.org/debian stretch-updates main contrib non-free
  5. deb https://mirrors.ustc.edu.cn/debian stretch-backports main contrib non-free
  6. #deb-src http://httpredir.debian.org/debian stretch-backports main contrib non-free
  7. deb https://mirrors.ustc.edu.cn/debian-security/ stretch/updates main contribnon-free
  8. #deb-src http://security.debian.org/ stretch/updates main contrib non-free

建议不要用armbian-config命令来安装omv,直接用apt安装更可控

  1. vim /etc/apt/sources.list.d/openmediavault.list 添加omv的源地址
  2. #在此文件粘贴下面内容
  3. deb http://packages.openmediavault.org/public arrakis main
  4. #然后按Esc键 输入:wq 保存此文档
  5. 安装OMVkey
  6. wget http://packages.openmediavault.org/public/pool/main/o/openmediavault-keyring/openmediavault-keyring_1.0_all.deb
  7. dpkg -i openmediavault-keyring_1.0_all.deb
  8. apt update
  9. apt install postfix openmediavault

如果有提示缺乏一些依赖包,先用apt install 安装好即可, 安装过程有提示,选yes就好,等安装完毕后

  1. omv-initsystem #初始化omv
  2. omv-firstaid #可配置OMV比如登录账户密码

此时如果正常的话用浏览器地址栏输入盒子的IP地址访问 正常会出现OMV的登陆界面 默认账户admin,密码openmediavault,我在安装完后用浏览器访问有报错,按F12打开浏览器开发者选项 发现还有文件调用php5导致,而系统内还有php7,导致找不到,将对应文件的php5换成php 保存即可,
系统默认安装的python3.5 有个bug 会提示 weakref.py 'NoneType' object is not callable

  1. #手工修复这个bug
  2. cd /usr/lib/python3.5
  3. vim weakref.py
  4. 109 def remove(wr, selfref=ref(self)):替换成def remove(wr, selfref=ref(self), _atomic_removal=_remove_dead_weakref):
  5. 117_remove_dead_weakref(d, wr.key)替换成_atomic_removal(d, wr.key)

安装OMVExtras插件库

默认的的官方插件比较少,OMVExtras提供很多第三方插件

  1. wget -O - http://omv-extras.org/install | bash #一步即可,装好后刷新浏览器可见

启用docker

左侧菜单 系统—》OMV-Extras,选中Docker CE 后 点击工具栏的编辑启用
image.png
系统-》插件 搜索docker-gui 选中后安装
image.png
刷新浏览器,左侧菜单的服务下会多个容器,选中后启用插件
image.png
系统中用户组会多个docker组,将需要操作docker的用户添加到这个组中,在左侧菜单的访问权限管理-》用户,选中目标用户 编辑其用户组即可

参考链接:https://www.noobyy.com/992.html