Jetson/L4T/Boot From External Device

From eLinux.org
< Jetson‎ | L4T
Jump to: navigation, search

Introduction

  • Flash device with rootfs on external devices.
  • With new releases >= rel-32, external (USB, SATA, MMC) is being used as identification is solely on UUID based and not type of media.

Steps

1. Create GPT and partiton using gdisk on external device:

  $sudo gdisk /dev/sdx
  "o" -> clear all current partition data
  "n" -> create new partition
  "1" -> partition number /dev/sdx1
  "40M"first sectors -> Press enter or "+32G" last sectors
  "Linux filsystem" -> using default type
  "c" -> partition's name "PARTLABEL"
  "w" -> write to disk and exit. 

2. Check partition UUID:

  $ sudo blkid /dev/sdx1

3. Copy PARTUUID to bootloader/l4t-rootfs-uuid.txt

4. Copy rootfs to SDcard:

  $ sudo mkfs.ext4 /dev/sdx1  (check PARTUUID again)
  $ sudo mount /dev/sdx1 /mnt
  $ cd rootfs/
  $ sudo tar -cpf - * | ( cd /mnt/ ; sudo tar -xpf - )
  $ sudo umount /mnt

5. Flash the board with rootfs device (external is for sdcard, usb, sata and mmc):

  $ sudo ./flash jetson-tx2 external

Check

After boot up, the u-boot logs will like below:

TEGRA186
Model: NVIDIA P2771-0000-500
DRAM:  7.8 GiB
MC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
*** Warning - bad CRC, using default environment
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@2490000
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
733 bytes read in 127 ms (4.9 KiB/s)
L4T boot options
1:	primary kernel
Enter choice: 1:	primary kernel
Retrieving file: /boot/initrd
5564673 bytes read in 697 ms (7.6 MiB/s)
Retrieving file: /boot/Image
34179080 bytes read in 3848 ms (8.5 MiB/s)
append: root=PARTUUID=ec27c846-88af-41f6-bd4b-fd46c54bb5ce rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 
video=tegrafb no_console_suspend=1 earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x2772e0000 gpt tegra_fbmem2=0x800000@0x9607b000 
lut_mem2=0x2008@0x96078000 usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 boot.slot_suffix= boot.ratchetvalues=0.2031647.1 
bl_prof_dataptr=0x10000@0x275840000 sdhci_tegra.en_boot_part_access=1 quiet