A20机顶盒主板刷debian

  • A+
所属分类:未分类

全志A20很多人应该都用过,几年前的机顶盒里经常见到,双核1GHz, 1G+16G的EMMC。 接口很丰富,基本能用到的都引出来了,百兆网口(硬伤,如果是千兆就好了),USB WiFi模块、3.5mm音频、USB、SATA、UART、LVDS、CSI、VGA、HDMI、GPIO都有了。

一、系统篇
由于A20配置太低,跑Android很吃力,于是开始折腾装Linux系统,当时没有做记录,所以就凭记忆大致写下过程:

板子自带了SD卡槽,所以考虑先用TF卡启动,这样不会影响到原机的系统。待系统制作完成以后再写入EMMC。

  1. u-boot、Linux内核和dtb
    全志很多东西都有开源,而且有一个网站:http://linux-sunxi.org 上边有讲如何在新的设备上运行Linux,所以主线的u-boot和Linux kernel都是支持A20的,于是直接下载了当时最新的稳定版u-boot和Linux kernel源码。(说句题外话,晶晨方案也有这样的网站:http://www.linux-meson.com 和 http://openlinux.amlogic.com/, 玩S905,S912等方案的板子可以去那里看看)
    言归正转,编译过程其实挺顺利的,基本上没多难,这里要感谢前人的努力和分享,不然靠我自己肯定搞不定这块板子。

dtb:因为u-boot和内核都需要使用dtb所以先折腾dtb,由于这块板子没有正式的被u-boot和Kernel支持,所以主线源码中是没有对应的设备树dts的,好在全志A20的BSP使用了fex文件来描述硬件IO,因此参照linux-sunxi里边提供的方法,提取了原机的fex文件,然后在u-boot源码中找了硬件相近设备的dts, 根据原机的fex修改dts,进而得到了dtb

u-boot:编译U-boot可以使用源码中默认的配置。

Kernel:Linux内核也是在sunxi默认的配置文件基础上,裁剪掉不需要的驱动和模块。

完成前边的工作,我已经得到了u-boot、kernel和dtb,将u-boot、dtb 和内核写入TF卡,上电正常启动,在串口中可以看到启动信息,当然这不是一次就成功了,折腾了好多次,于是u-boot和dtb的就解决了。

  1. 制作Debian系统
    接下来就是制作根文件系统了。由于A20性能有限,而且很多东西我并不需要,而busybox又太简陋了,所以我没有使用别人的镜像,而是使用Bootstrap工具自己制作了一个最小的Debian镜像。到这里就可以启动一个完整的Linux系统了, 因为我不需要使用桌面环境,所以就没有安装桌面,直接通过串口和SSH来连接。
  2. 写入EMMC
    要做改动之前先备份原机的系统,以后还可以救砖用。 备份系统我是直接用的dd命令把整个EMMC都备份了下来,然后手动将EMMC分区,把u-boot、dtb、内核、根文件系统写入到EMMC。这样就不需要再使用TF卡了。

二、用途
基础环境搭建完成以后自然就是使用了,因为安装的是Debian,所以后续安装软件可以直接apt install安装。玩过N1的都知道。不得不说这个板子硬件还是挺稳定的,自带SATA口,我挂了一个3.5的硬盘上去,一直稳定运行。目前安装了transmission来挂PT,Aria2下载,FRP端口映射,SAMBA服务。对了,我还插了一个小音箱上去,每天早上定时播放蜻蜓FM的新闻。

A20机顶盒主板刷debian
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: