HCL:JetsonTK1

跳转到:导航搜索

Nvidia Jetson TK1 是一款单板计算机。

技术细节

  • Tegra K1 (Tegra124) SoC
    • 4x ARM Cortex-A15 CPU
  • 以太网
  • HDMI
  • USB
  • SATA
  • 迷你 PCIe 插槽(半尺寸)
  • RS232

手动安装

烧录 U-Boot

下载 u-boot-jetson-tk1 包 并提取 u-boot、u-boot.dtb、u-boot-dtb-tegra.bin、u-boot-nodtb-tegra.bin、spl/u-boot-spl 到一个目录。

CROSS_COMPILE= tegra-uboot-flasher-scripts/build --boards jetson-tk1 import-uboot .
tegra-uboot-flasher-scripts/build --boards jetson-tk1 build-bcts-imgs
tegra-uboot-flasher-scripts/build --boards jetson-tk1 build-configs
tegra-uboot-flasher-scripts/tegra-uboot-flasher flash jetson-tk1

启动脚本

这是一个示例 boot.script,使用 U-Boot 提供的变量。根据需要调整 bootargs。

setenv bootargs 'console=ttyS0,115200 root=/dev/sda2 rootfstype=btrfs rw rootwait'
load ${devtype} ${devnum}:1 ${kernel_addr_r}  ${prefix}zImage
load ${devtype} ${devnum}:1 ${fdt_addr_r}     ${prefix}dtb/tegra124-jetson-tk1.dtb
load ${devtype} ${devnum}:1 ${ramdisk_addr_r} ${prefix}initrd
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}

boot.script 转换为 boot.scr

$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n Boot-Script -d boot.script boot.scr

boot.scr 安装到 SD 卡,如果打算使用 SATA,则安装到 ext4 分区的根目录,否则安装到 boot 子目录。

将 Tumbleweed 安装到 SATA 磁盘

U-Boot v2015.07 尚未支持 SATA,因此您的内核必须放置在 SD 卡上。

将 rootfs 提取到 SATA 磁盘

# tar xjvf openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l-*.tbz -C path/to/mount/point

待定:内核 (kernel-lpae)、dtb (dtb-tegra124)、initrd

安装 GRUB2

grub2-arm-uboot 包在 Tegra124 上未经修改无法正常工作。GRUB2 假定 RAM 从 0x00000000 开始,而 Tegra124 上 RAM 从 0x80000000 开始。

grub-core/Makefile.core.def:

  arm_uboot_ldflags       = '-Wl,-Ttext=0x88000000';

include/grub/offsets.h:

#define GRUB_KERNEL_ARM_UBOOT_LINK_ADDR		0x88000000

安装到 /boot/grub2/

# grub2-install

示例 boot.script

load ${devtype} ${devnum}:1 ${loadaddr} ${prefix}grub2/arm-uboot/core.img
bootm ${loadaddr}

u-boot-jetson-tk1 包尚未启用 CONFIG_API,这是 GRUB2 所必需的。症状是 GRUB2 在没有输出的情况下退出,并且 U-Boot 重置。

U-Boot v2015.10-rc3 在枚举存储设备时存在错误,导致只有 hd0 (eMMC) 可用,而 SD 卡不可用。症状是 GRUB2 进入其救援 shell,找不到其配置和模块。


参见