HCL:VegaS95
Tronsmart Vega S95 Pro、Meta 和 Telos 都是最初配备 Android 的电视机顶盒。
技术数据
- Amlogic S905 SoC
- 4x ARM Cortex-A53 CPU
- USB
- SD
- 以太网
- SATA(仅限 Telos)
UART 引脚
移除设备(无螺丝)底座时,有四个孔,从 SD 到 SATA 依次是:GND、TX、RX、Vcc。
波特率为 115200。
手动安装
厂商 U-Boot
U-Boot 需要 MBR 分区(没有 GPT),并且只能从 FAT 分区加载。
两者usb和mmc都已实现。
Amlogic 内核
在 2015-11-04-9e845bea41 的默认配置中meson64_defconfig中dwc_otg驱动程序被编译为模块。将其编译进去会导致启动时出错。不幸的是,这排除了启动 USB rootfs 的可能性。
但是,从 MMC 启动是可行的,SD 卡显示为mmcblk0.
Amlogic 的内核没有专门针对 Vega S95 的 .dts,您应该从 eMMC 的启动分区中提取它。如果您尝试重新编译 /proc/device-tree/ 为 .dtb,将会出现一些额外的节点导致问题。
手动启动
上电时,按任意键进入 U-Boot 提示符。
setenv bootargs 'console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait ramoops.mem_address=0x20000000 ramoops.mem_size=0x100000 ramoops.record_size=0x8000 ramoops.console_size=0x4000' fatload mmc 0:1 0x1080000 Image fatload mmc 0:1 $dtb_mem_addr telos.dtb booti 0x1080000 - $dtb_mem_addr
主线内核
初始补丁可在 [1] 处获得
请注意,上游串行设备是 ttyAML0 而不是 ttyS0。
setenv bootargs 'earlycon root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait' fatload mmc 0:1 0x1080000 Image fatload mmc 0:1 $dtb_mem_addr meson-gxbb-vega-s95-telos.dtb booti 0x1080000 - $dtb_mem_addr
链式加载主线 U-Boot
供应商 U-Boot 支持 TFTP
set ethaddr $mac set serverip X.X.X.X set ipaddr X.X.X.X set gatewayip X.X.X.X tftp 0x01000000 aarch64/vega-s95/u-boot.bin go 0x01000000
0x01000000 是主线 U-Boot 构建结束时 relocate-rela 行中看到的地址。
目前,您可以重用 odroid-c2_defconfig,但正在进行一个实验性的 vega-s95 实现。
这有些脆弱,可能需要多次尝试才能成功。
请注意,主线 odroid-c2 U-Boot 将无法检测 Vega S95 上的 MAC 地址并生成一个随机地址。作为解决方法,您可以修补配置以使用上述供应商 U-Boot 的 $mac 变量中的值设置 ethaddr=...\0。
有了即将推出的 distro 启动支持,用于主线 gxbb U-Boot,就可以启动 GRUB,然后启动主线内核。
