2015年1月21日水曜日

cl20

Nvidia jetson tk1 R21.2でSDカードのイメージを作成

放置していたjetson tk1 いくつかのサイトを参考にSDカードから起動する様にしようとしたけど
うまく起動しなかった
シリアルを繋げて見てみるとu-bootになってた
U-Boot SPL 2014.10-rc2-00001-g9f88c9e (Dec 01 2014 - 14:29:15)


U-Boot 2014.10-rc2-00001-g9f88c9e (Dec 01 2014 - 14:29:15)

TEGRA124
Board: NVIDIA Jetson TK1
I2C:   ready
DRAM:  2 GiB
MMC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
*** Warning - bad CRC, using default environment

tegra-pcie: PCI regions:
tegra-pcie:   I/O: 0x12000000-0x12010000
tegra-pcie:   non-prefetchable memory: 0x13000000-0x20000000
tegra-pcie:   prefetchable memory: 0x20000000-0x40000000
tegra-pcie: 2x1, 1x1 configuration
W�֖��pcie: probing port 0, using 2 lanes
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, ignoring
tegra-pcie: probing port 1, using 1 lanes
In:    serial
Out:   serial
Err:   serial
Net:   RTL8169#0
Warning: RTL8169#0 using MAC address from net device

Hit any key to stop autoboot:  0 
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0...
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

持ってきたR21.2ではデフォルトのブートローダがfastbootからu-bootになった様
Jetson TK1 board fails to boot
以下のサイトの通りの方法で起動するようになった。
参考:Jetson TK1でu-bootを使用する

違う点はdtbファイルの名前くらい
リンク先の人はR19.3だけどR21.2でできた

以下手順:
Linux For Tegra R21.2から必要なファイルをダウンロードする。
ファイルを展開
# tar xpf Tegra124_Linux_R21.2.0_armhf.tbz2
# cd Linux_for_Tegra/rootfs
# tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R21.2.0_armhf.tbz2
# cd ..
# ./apply_binaries.sh
パーティションの準備
# fdisk /dev/sdd
~略~
Device     Boot  Start      End  Sectors  Size Id Type
/dev/sdd1         2048   526335   524288  256M  b W95 FAT32
/dev/sdd2       526336 30228479 29702144 14.2G 83 Linux
~略~

# mkfs.vfat -v -c -F 32 /dev/sdd1
# mkfs.ext4 /dev/sdd2
rootfsをコピー
# mount /dev/sdd2 /mnt/sdcard
# cp -a Linux_for_Tegra/rootfs/* /mnt/sdcard
# umount /mnt/sdcard
vfat側
# mount /dev/sdd1 /mnt/sdcard
# cp Linux_for_Tegra/kernel/zImage /mnt/sdcard/
# cp Linux_for_Tegra/kernel/dtb/tegra124-jetson_tk1-pm375-000-c00-00.dtb  /mnt/sdcard/
# cd /mnt/sdcard
# cat > boot.txt
load mmc 1:1 ${kernel_addr_r} zImage
load mmc 1:1 ${fdt_addr_r} tegra124-jetson_tk1-pm375-000-c00-00.dtb
setenv bootargs console=ttyS0,115200n8 debug_uartport=lsport,3 console=tty1 rw rootwait root=/dev/mmcblk1p2
bootz ${kernel_addr_r} - ${fdt_addr_r}

# apt-get install u-boot-tools
# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "jetson-tk1" -d boot.txt boot.scr
microUSBでPCと繋ぐ。
リカバリボタンを押しながらリセットボタンを押しリカバリモードにする。
認識されている事を確認
#lsusb
....
Bus 002 Device 014: ID 0955:7140 NVidia Corp. 
....
bootローダを書き換える
# ./flash.sh -L bootloader/ardbeg/u-boot.bin jetson-tk1 mmcblk1p2

0 件のコメント:

コメントを投稿