|
本帖最后由 webpad 于 2018-6-20 10:07 编辑
浅谈斐讯Amlogic平台 U盘启动基于 Linux 的第三方系统
2018-5-31 by webpad
全文pdf,2018-6-16修订,下载链接:https://share.weiyun.com/5b3UsXM 密码:0wym55
喜闻乐见,又是简(扫)介(盲)帖~
本帖部分内容发自于 Armbian 上的 firefox 浏览器
0、制作U盘和启动
Amlogic S9xxx Armbian 5.44 需要U盘容量最小为4GB,
建议使用SLC闪存芯片的U盘,8GB起步!
①、制作U盘
若是Ubuntu 16.04/18 操作系统的电脑,直接点击 xxx.img.xz 写入u盘;
若是windows操作系统的电脑,先解压 xxx.img.xz 的得到 xxx.img 镜像文件;
再使用 USB Image Tool 或 Win32DiskImager(Win32磁盘映像工具)加载 .img 写入U盘;
注意,据恩山论坛网友 anisiping 前后半个月的折腾,win8/win10 写入u盘镜像后可能会弹出要求格式化u盘的对话框,请忽略请无视请勿格式化!
②、设置机型对应dtb.img
写好U盘后,访问U盘第一分区(卷标名称为BOOT),将机型对应的 dtb 文件拷贝到BOOT分区根目录并重命名为 dtb.img ;
机型选择关键字如下:
N1 ---> S905D , p230 , gxl , 2G
T1 ---> S912 , q201 , gxm , 2G
好吧, 方便小白, 送佛送到家
kernel 3.14.29 , dtb-3.14.29 目录下:
N1 ---> gxl_p230_2g.dtb
T1 ---> gxm_q201_2g.dtb
kernel 4.16.1 , dtb-4.16.1-amlogics905x 目录下:
N1 ---> meson-gxl-s905d-p230.dtb
T1 ---> meson-gxm-q201.dtb
③、启动Armbian
刷入官改固件的N1 或 T1关机状态下插入U盘,T1 最好接入USB2.0 hub,方便同时用鼠标键盘;
盒子加电后自动加载U盘上的Armbian;
若盒子加电后仍然直接进入安卓,请在盒子终端模拟器命令行中、或 adb / telnet / ssh 终端命令行中,输入运行 " reboot update " ;
首次启动后,在终端字符界面输入用户名(root)密码(1234),会立即要求更改root密码;
再次输入 1234,然后输入两遍自定义的root新密码;
接下来提示创建常用用户名和密码,用户信息可以不填写,一路回车跳过;
初始化文件系统/硬件信息/修正第二分区大小后,Armbian 重启;
重启后进入Linux桌面或终端提示符(server版),输入常用用户名和密码登录。
1、Shell/桌面/窗口管理器对比
server为没有桌面的服务器版,侧重于高效率高性能运行各种服务,也叫headless版;
桌面占用内存对比: mate > xfce > icewm
①、icewm桌面
icewm为轻量级桌面,以快速见长,内置应用较少;
操作流畅度最高,当然桌面定制功能和集成的应用就会很少,中文化较麻烦;
实测截图
测试版本 : Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_icewm_20180523.img
②、mate桌面
Ubuntu MATE 桌面继承于传统的 gnome2,内置许多实用应用;
界面美观,各种桌面主题/色彩/墙纸定制设置非常丰富 ;
Language Support 安装中文本地化很方便 ,在 T1 和 N1 上较流畅;
实测截图
测试版本 :Armbian_5.44_S9xxx_Ubuntu_xenial_4.16.1_mate_20180515.img
蓝牙不可用
测试版本 : Armbian_5.44_S9xxx_Ubuntu_bionic_4.16.1_mate_20180523.img
蓝牙不可用, 首次启动错误警告提示,详见 6、③、
③、xfce
xfce4 桌面资源占用少于mate,较mate流畅 ;
桌面预装应用没有mate丰富,中文化不方便 ;
实测截图
测试版本 : Armbian_5.44_S9xxx_Debian_stretch_4.16.1_xfce_20180515.img
2、Linux版本和内核
Ubuntu脱胎于Debian,所以两者的软件仓库相互兼容,都是pkg系统,Ubuntu适合家用办公娱乐,Debian适合工作开发;
xenial 是Ubuntu 16.04的代号,同理bionic是Ubuntu 18.04代号,stretch 是Debian 9代号;
内核就不展开说了,3.14.29和4.16.1都是稳定版本,都支持Arm(aarch64)架构,理论上高版本内核支持更多的功能和硬件设备,
具体到斐讯T1/N1 , kernel 4.16.1 不支持蓝牙;
3、U盘或SD/TF卡启动的原理
看得懂就看
setenv bootargs "root=LABEL=ROOTFS rootflags=data=writeback rw ${condev} fsck.repair=yes net.ifnames=0 mac=${mac}"
setenv boot_start booti ${kernel_loadaddr} ${initrd_loadaddr} ${dtb_mem_addr}
if fatload usb 0 ${initrd_loadaddr} uInitrd; then if fatload usb 0 ${kernel_loadaddr} zImage; then if fatload usb 0 ${dtb_mem_addr} dtb.img; then run boot_start; else store dtb read ${dtb_mem_addr}; run boot_start;fi;fi;fi;
if fatload usb 1 ${initrd_loadaddr} uInitrd; then if fatload usb 1 ${kernel_loadaddr} zImage; then if fatload usb 1 ${dtb_mem_addr} dtb.img; then run boot_start; else store dtb read ${dtb_mem_addr}; run boot_start;fi;fi;fi;
if fatload usb 2 ${initrd_loadaddr} uInitrd; then if fatload usb 2 ${kernel_loadaddr} zImage; then if fatload usb 2 ${dtb_mem_addr} dtb.img; then run boot_start; else store dtb read ${dtb_mem_addr}; run boot_start;fi;fi;fi;
if fatload usb 3 ${initrd_loadaddr} uInitrd; then if fatload usb 3 ${kernel_loadaddr} zImage; then if fatload usb 3 ${dtb_mem_addr} dtb.img; then run boot_start; else store dtb read ${dtb_mem_addr}; run boot_start;fi;fi;fi;
if fatload mmc 0 ${initrd_loadaddr} uInitrd; then if fatload mmc 0 ${kernel_loadaddr} zImage; then if fatload mmc 0 ${dtb_mem_addr} dtb.img; then run boot_start; else store dtb read ${dtb_mem_addr}; run boot_start;fi;fi;fi;
4、Armbian U盘无法启动的解决方法
①、U盘第二分区文件系统损坏
启动日志出现类似于这样的信息:
- .
- .
- .
- Begin: Will now check root file system ... fsck from util-linux 2.27.1
- .
- .
- .
- fsck exited with status code 8
- done.
- Warning: File system check failed but did not detect errors
- [ 10.844457] EXT4-fs (sda2): bad geometry: block count 913408 exeed size of device (903424 blocks)
- mount: mounting /dev/sda2 on /root failed: Invalid argument
- .
- .
- .
- No init found. Try passing init= bootarg.
复制代码 最终无法加载桌面而是直接进入了内核ash终端;
解决方法:
盒子断电,拔下U盘,盒子加电正常启动安卓系统后再插上U盘,
电脑端 telnet 或 ssh 连上盒子后在终端输入运行以下命令:
- e2fsck -f /dev/block/sda2
- resize2fs /dev/block/sda2
复制代码 如果是正常制作的Armbian镜像U盘,第二分区一般为sda2,注意运行e2fsck时若出现提示 Abort(y) 要输入n不要中断;
sda2修复完毕后即可再次尝试启动Armbian
5、安装到内部emmc
S9xxx 系列 Armbian 编译发布者为 balbes150
Armbian 5.44 kernel 4.16.1 内核版本不支持安装到内部emmc ,
这是 balbes150 的原话 :" Kernel 4.16 does not support internal eMMC memory. Do not attempt to install to the eMMC. You get problems. "
kernel 3.14.29 内核版本可以将 ROOTFS 分区(第二分区)所有文件安装到T1、N1的data分区中,
如此操作后盒子原来的安卓系统不受影响,启动到Armbian仍然需要U盘引导,
注意需要修改安装脚本 install.sh 以免破坏原厂关键分区;
详见 ---> https://www.right.com.cn/forum/thread-323194-1-1.html
6、T1、N1上运行Armbian的bug
①、kodi
经测试,运行在T1、N1上的 5.44 Armbian Bionic Mate,作者提供的 kodi(libmali:mali7)17/18 无法正常运行,
会造成画面冻结黑屏,kodi log 如下:
- 11:25:03.392 T:281473533911040 NOTICE: InitWindowSystem: Using EGL Implementation: amlogic
- 11:25:03.392 T:281473533911040 ERROR: GetString: error reading /sys/class/display/mode
- 11:25:03.426 T:281473533911040 ERROR: EGL error in InitDisplay: 3003
- 11:25:03.426 T:281473533911040 ERROR: InitWindowSystem: Could not create display
- 11:25:03.426 T:281473533911040 FATAL: CApplication::Create: Unable to init windowing system
复制代码
若安装Debian源的 kodi 15/17.6 ,会发现始终是软解模式,无法硬解,
kodi检测到的 T1 GPU硬件信息非常奇怪,也许采用了 VMware 部分技术? 截图如下:
②、和kodi一样,桌面显示和内置视频播放器也是软解,
安装 vlc player 运行异常 ;
③、原作者 balbes150 指出,5.44 Armbian Bionic Mate 有bug
(例如: Armbian_5.44_S9xxx_Ubuntu_bionic_4.16.1_mate_20180523.img ),
首次进入桌面会有 BriskMenu 错误,需要手动添加 “Mate Bar” 到面板(panel)上;
另外我还发现在T1上运行该版本,鼠标指针会不停抖动。
部分资源下载链接
不要轻易覆盖盒子emmc上的bootloader分区,注意风险!
个人推荐使用
Armbian_5.44_S9xxx_Debian_stretch_3.14.29_xfce_20180601.img ,
Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_mate_20180601.img ,
以上版本在N1 和 T1 易用性和流畅度都不错,蓝牙、wifi、有线网卡都正常。
百度盘链接: https://pan.baidu.com/s/1ux7zAF2QYoLWwTTB0Ah5ug 密码:axov
国外网盘下载:
Amlogic s9xxx Armbian AltLinux ArchLinux Yocto openSUSE --->Amlogic Linux
Armbian S9xxx (S905 S905X S912) --->https://yadi.sk/d/srrtn6kpnsKz2
.
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|