Jetson Nano — Run on USB Drive
MrChoke
Posted on October 25, 2019
Jetson Nano — Run on USB Drive
Boot Jetson Nano ด้วย USB ฉบับบ้านๆ
ถ้าใครใช้ Jetson Nano ก็จะรู้ว่าแค่ image เริ่มต้นก็ซัดไป 12G แล้ว แต่จริงๆ มันมาพร้อมใช้อยู่แล้ว แต่เวลาเล่นไปสักพักจับโน่นนี่นั่นมาใส่มันก็เต็มไม่รู้ตัว มีสองทางเลือกคือ
- ใช้ USB เป็นที่เก็บ Data
- ใช้ USB boot เป็นระบบหลักซะเลย แต่ยังไงก็ต้องใช้ SD เสียบไว้สำหรับ boot อยู่นะครับ
ถ้าใครสนใจ boot ด้วย USB วิธีทำแบบบ้านๆ ง่ายๆ มีดังนี้
Download SD image จาก Nvidia มา https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write
ตรวจสอบ USB
ตรงนี้ให้ Check ก่อนว่า USB ที่เสียบอยู่เป็น Device อะไร โดยใช้คำสั่ง
lsblk
ให้สังเกตง่ายๆ ถ้าเป็น SD ที่เสียบกับ Jetson Nano จะเป็น mmcblk0 ดังนั้น USB ภายนอกควรเป็น sda ซึ่ง path เต็มจะเป็น
/dev/sda
- Dump Image ลง USB
ให้ใช้ คำสั่งดังนี้
unzip -p **jetson-nano-sd-r32.2-2019-07-16.zip** | sudo dd of= **/dev/sda** bs=1M status=progress
ดูชื่อ file ให้ตรงกับที่เรา Download มาด้วยนะ เมื่อเสร็จแล้วให้ eject sda ออก
sudo eject /dev/sda
- Resize sda
เมื่อเราทำการ Dump Image ลง USB ขนาดของ Partition จะเท่ากับขนาดของ image ที่เรา download มาซึ่งของ Jetson Nano ประมาณ 12 G แต่ USB ของเราขนาดใหญ่กว่านั้น เราต้องขยายให้ใช้พื้นที่ทั้งหมดด้วยคำสั่ง
sudo resize2fs /dev/sda1
- แก้ไข Boot loader
แก้ไข boot loader ให้ boot ไปที่ USB
sudo vim /boot/extlinux/extlinux.conf
ใส่ข้อมูลดังนี้
TIMEOUT 30
DEFAULT usb
MENU TITLE L4T boot options
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet
LABEL usb
MENU LABEL usb boot
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} rootfstype=ext4 root=/dev/sda1 rw rootwait
- ฺReboot
ควรจะ Boot เข้า USB นะถ้าไม่ได้ก็ทำใหม่หรือจะถอดใจก็ได้นะ :P
- ถ้าจะสลับไปใช้ SD ให้แก้ไข /boot/extlinux/extlinux.conf ใน SD จากระบบที่กำลัง run อยู่บน USB โดยการ df ดูว่า mount อยู่ที่ไหนครับ
Posted on October 25, 2019
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.