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 อยู่ที่ไหนครับ
Top comments (0)