HCL:OptimusBoard

跳转到:导航搜索

Merrii 的 Allwinner Optimus Board 是一款单板计算机。

技术细节

  • Allwinner A80 SoC
    • 4x ARM Cortex-A15 CPU
    • 4x ARM Cortex-A7 CPU
  • 以太网
  • HDMI
  • USB
  • UART

手动安装

从 SD 卡启动 boot0 似乎不起作用,而且 flash 中的 U-Boot 无法识别 SD 卡,也不支持 USB 或网络。作为替代方案,FEL 模式 允许现在通过 USB 加载 boot0、U-Boot 和内核。您需要在每次启动时传输它们。

进入 FEL 模式

在启动/重置设备时,按 2 键进入串口控制台,直到显示“eraly jump fel”,或者按任意键进入 U-Boot 提示符,并输入 efex 以达到相同的效果

sunxi# efex
## jump to efex ...
set next system status
de top clk 18 is already close
de top clk 30 is already close
de top clk 19 is already close
de top clk 30 is already close
de top clk 35 is already close
mod 40 is already disable
de top clk 16 is already close
mod 40 is already disable
mod 40 is already disable
de top clk 34 is already close
mod 40 is already disable
lcd 2 is not register
sunxi_board_close_source
reset cpu
HELLO! BOOT0 is starting!
boot0 version : 3.1.0
rtc 1 value 0x0001005a
rtc 2 value 0x00020000
rtc 3 value 0x00030000
eraly jump fel

将 USB 3.0 Micro USB 接口连接到您的计算机。

通过 FEL 启动 BOOT0

由于上游 U-Boot 尚未支持 SPL,您需要从 Allwinner SDK 生成的 fes1.fex。(待定

# fel write   0x12000 fes1.fex
# fel execute 0x12000

这将加载并在 SRAM 中执行 Allwinner 的 BOOT0 引导加载程序

begin init dram
INFO: dram code V2.2
dram clk=672
dram_zq = 0x0x003f3fdd!!
DDR3 used!!
dram channle 2
0x0x00100001
0x0x00100001
pmu id=0x00000062
VTC Disabled!!
Channel 0 OK!
VTC Disabled!!
Channel 1 OK!
dram size=2048MBytes!
init dram ok

接下来您需要主引导加载程序。

通过 FEL 加载内核

假设您有一个带有内置驱动程序的自行编译的内核,您可以按如下方式传输它

# fel write 0x22000000 zImage
# fel write 0x23000000 sun9i-a80-optimus.dtb

请注意,传输大型 initrd 文件(例如从我们的 kernel-lpae 使用 dracut -N 生成的)已知会失败,您可能需要将其分成多个较小的部分传输,例如,最大 8 MB。指定的 initrd 地址为 0x23300000。

通过 FEL 加载 U-Boot

下载 u-boot-merriia80optimus RPM 并提取 usr/bin/u-boot.bin(这对应于 u-boot-dtb.bin)。

# fel write   0x2a000000 u-boot.bin
# fel execute 0x2a000000

这将加载并在 SDRAM 中执行我们的 U-Boot。

截至 v2015.07,U-Boot 似乎无法识别 SD 卡,并且缺乏对 USB 或网络的支持。您可以按如下方式执行先前通过 FEL 加载的内核

sunxi# setenv bootargs 'root=...'
sunxi# bootz 0x22000000 - 0x23000000

生成可启动的 initrd

截至 U-Boot v2016.01-rc1 和 kernel-lpae 4.4.0-rc5,SD 卡似乎仍然无法工作。

要从 USB 启动 rootfs(root=/dev/sda1 rw rootwait),请在设备上添加一个配置文件,例如 /etc/dracut.conf.d/90-optimus.conf

add_drivers+=" phy-sun9i-usb sunxi"

下次生成 initrd 时(例如,zypper install -f kernel-lpae),它将包含这些驱动程序。

参见