HCL:Khadas Vim
Khadas VIM 由 深圳世野 提供,是一个单板计算机。
技术参数
- 晶晨 S905X SoC
- 4x ARM Cortex-A53 CPU
- ARM Mali-450 GPU
- 2 GB RAM
- 8/16 GB eMMC
- 40-pin GPIO 连接器 (非 Raspberry Pi 兼容)
手动安装
U-Boot 安装
Khadas VIM 开发板从 v2018.01-rc1 版本被官方 U-Boot 支持。当前版本 (v2019.01) 支持从 eMMC 和 SD 卡启动。
一个可用的 u-boot-khadas-vim 软件包。
为了 OBS 可以创建可启动镜像,aml_encrypt_gxb 工具 (通过 GitHub 下载) 可以修改支持 S905X SoC。
请参考 此处 README ,来生成一个 U-Boot 镜像。一个 GitHub 上的工具可用于简化 U-Boot 编译生成。
请确保您的 SD 卡或者 eMMC 必须使用 MBR 分区 (而非 GPT)。
GRUB2 结合 EFI 启动管理栈,目前在 U-Boot 中可用。
使用标准 DEV 安装 openSUSE Tumbleweed
使用 TW 以及 U-Boot 中实现的 EFI 启动协议, 可以直接从 DVD 镜像安装到 Khadas VIM。
注意指南假设:
- 您已经在 PC 安装了 Leap/Tumbleweed 操作系统
- 您非常熟悉 openSUSE 安装过程
为了 DVD 启动,有多种方式:
- 通过 U盘烧录 ISO 镜像
- 通过网络 (PXE) 启动 ISO 镜像
对于任何一种方式,仍然需要使用 SD 卡或者 U盘 加载 U-Boot (SD 卡是首选方式)。
这里将使用 U盘 方法安装 (而 U-Boot 通过 SD 卡加载)。
图形/文本模式安装通过 HDMI 都可行,但是会出现一些问题,因此建议,如果可行的话,使用文本模式 ssh 安装。并且,此时 U-Boot 交互仅支持串口访问。
Note: 为了可以从 eMMC 执行 U-Boot,您需要使用 MBR 磁盘分区表,而不是 GPT 。因此,您需要 "简单" 的定制磁盘配置。或者,您可以使用一个小的 SD 卡,然后将 U-Boot 烧录进去,如果在 SPI/eMMC 中未发现引导管理器,S905X 芯片将会进入 SD 卡。这样的话,您就可以保持默认的 GPT 分区格式。To
- 下载 Tumbleweed ISO 。然后 "烧录" 到 U盘 - WARNING 所有该设备上的数据将会丢失!
# dd if=[image].iso of=/dev/<usb_key> bs=4M iflag=direct,fullblock oflag=direct
- 在开发板中插入 SD 卡和 U 盘。
- 通过串口将开发板连接到 PC (建议; 使用 USB-TTL 串口线)
- 连接开发板到显示器 (通过 DVI/HDMI, 可选,如果您使用串口)
- 开发板上电
- 任意按键停止 U-boot 启动流程
- 强制 U盘 启动
Hit any key to stop autoboot: 0 => run usb_boot
- 为了安装,需要设置一些参数,因此您需要编辑 GRUB 启动选项,然后添加如下选项:
earlycon=meson,0xc81004c0 console=ttyAML0,115200 ssh=1 sshpassword=linux
- 下面参数也很有用:
elevator=noop # complex scheduling is not needed on flash drive splash=verbose # can be useful to have all systemd messages on the console
- 现在板子启动进入安装 DVD !
- 通过 SSH 连接开发板,然后执行安装程序 (DISPLAY= 在这里强制使用文本模式 YaST):
# DISPLAY= yast.ssh
- 如果需要 (GPT 和 MBR),匹配磁盘配置,这里执行常规安装流程!
- 如果您希望 eMMC 安装 U-Boot,请在最后,重启前(Stop 选项)暂停安装,然后遵循 U-Boot 安装到 eMMC 流程
Note: 安装完成后,串口默认重新设置为 ttyAMA0, 因此您需要再次在 /etc/defaut/grub 将其设置为 ttyAML0 (之后,不要忘记重新生成 grub.cfg 文件)。
U-Boot 安装到 eMMC
在操作系统安装完成后,如果您希望安装 U-Boot 到 eMMC,您只需要在 "MBR 空间" 内烧录 u-boot.bin 文件:
dd if=u-boot.bin of=/dev/mmcblk1 bs=512 seek=1
之后,去掉 SD卡/U盘,重启开发板。 U-Boot 将会直接从 eMMC 加载。在此之后,将不再可以通过 SD 卡启动!
如果您希望擦除之前安装的 U-Boot,或者您希望强制从 SD 卡启动,您需要擦除 "MBR 空间":
dd if=/dev/zero of=/dev/mmcblk1 bs=512 seek=1 count=2047