Migrate to U-Boot

Материал из Toshiba AC100 wiki
Версия от 22:41, 22 декабря 2016; Zombah (обсуждение | вклад) (add first part of migration to uboot guide)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Variants of migration


  1. Sosuboot-tegra
    1. With prebuilt sosuboot-tegra binary (require PC)
    2. With prebuilt sosuboot-tegra archive or sdcard image (PC not required)
    3. With self-compiled sosuboot-tegra
  2. Manual
    1. With PC
    2. Without PC


With prebuilt sosuboot-tegra binary (require PC)


Requirements

$ git clone https://github.com/NVIDIA/tegrarcm.git
$ cd tegrarcm
$ ./autogen.sh
$ ./configure
$ make
$ make install
# zypper ar -f http://download.opensuse.org/repositories/hardware/openSUSE_Leap_42.2/ Hardware
# zypper in tegrarcm
  • Connect AC100 miniUSB port to PC
  • Enter RCM aka APX mode on AC100
    • Press CTRL+ESC+Power button

Syslog on PC which shows that RCM/APX mode started

[12060.106270] usb 1-1.2.5.2: new high-speed USB device number 15 using ehci-pci
[12060.200163] usb 1-1.2.5.2: New USB device found, idVendor=0955, idProduct=7820
[12060.200170] usb 1-1.2.5.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[12060.200173] usb 1-1.2.5.2: Product: APX
[12060.200175] usb 1-1.2.5.2: Manufacturer: NVIDIA Corp.

Load sosuboot-tegra

  • Read current bct from AC100 with tegrarcm
# tegrarcm readbct --bct=ac100.bct
  • Load sosuboot-tegra into AC100 RAM
# tegrarcm --bct=ac100.bct --bootloader=sos-uboot-2017.02-git-00562-g60ea164.bin --loadaddr=0x108000

PC Output:

bct file: ac100.bct
booloader file: sos-uboot-2017.02-git-00562-g60ea164.bin
load addr 0x108000
entry addr 0x108000
device id: 0x7820
Chip UID:                0x0000000000000000161c10c742e09257
Chip ID:                 0x20
Chip ID Major Version:   0x1
Chip ID Minor Version:   0x2
Chip SKU:                0x8 (t20)
Boot ROM Version:        0x1
Boot Device:             0x2 (EMMC)
Operating Mode:          0x3 (developer mode)
Device Config Strap:     0x1
Device Config Fuse:      0x0
SDRAM Config Strap:      0x0
sending file: ac100.bct
- 4080/4080 bytes sent
ac100.bct sent successfully
sending file: sos-uboot-2017.02-git-00562-g60ea164.bin
- 33587434/33587434 bytes sent
sos-uboot-2017.02-git-00562-g60ea164.bin sent successfully

AC100 will boot into Linux.

Replace factory bootloader with U-Boot

  • Write U-Boot bootloader binary bundled with sosuboot-tegra into AC100 eMMC
# cd /boot
# getbct.sh
# mkbct.sh
# uploadbct.sh

U-Boot written to eMMC you can reboot AC100 now.

With prebuilt sosuboot-tegra archive or sdcard image (PC not required)


With self-compiled sosuboot-tegra


Manual with crosscompilation on PC


Manual with compilation on AC100