Hướng dẫn cách khởi động Raspberry Pi từ USB

Từ phiên bản Raspberry Pi 3, đã có rất nhiều người dùng thử rồi chuyển hẳn sang khởi động Raspberry Pi từ USB thay vì từ thẻ nhớ như trước kia. Đặc biệt ở phiên bản Raspberry Pi 4, việc hỗ trợ cổng USB 3.0 đã giúp tăng tốc độ sử dụng Raspberry Pi lên rất nhiều.

Khởi động Raspberry Pi từ USB

Bài viết này sẽ hướng dẫn các bạn cách để có thể boot Raspberry Pi trên USB thay vì thẻ nhớ thông thường.

Chuẩn bị hệ điều hành

Trước hết, bạn cần cài hệ điều hành thông qua bất cứ phần mềm thông dụng nào như Win 32 Disk Imager hoặc balena Etcher. Nếu chưa có kinh nghiệm cài, bạn có thể xem qua bài viết Hướng dẫn chọn và cài đặt hệ điều hành của chúng tôi. Chỉ có một lưu ý, khi chọn bộ nhớ để ghi hệ điều hành thì bạn chọn ổ USB.

Sau khi tạo xong USB chứa hệ điều hành, trên máy tính sẽ hiện 1 hoặc 2 phân vùng mới. Trong đó có 1 phân vùng mà bạn cần quan tâm là boot.

Phân vùng boot raspberry pi hiện trên windows
Phân vùng boot hiện trên windows

Mở phân vùng boot lên bạn sẽ thấy 2 file cần thiết là bootcode.bin, config.txt. Thiếu file bootcode thì USB sẽ không thể boot trên Raspberry Pi được.

Bước tiếp theo, tùy vào việc bạn sử dụng phiên bản Pi nào mà sẽ có cách làm khác nhau.

Cách khởi động bằng USB với Raspberry Pi 2B, 3A+, 3B, CM3

Mở file config.txt bằng bất kỳ text editor nào, như Notepad chẳng hạn.
Thêm dòng lệnh này vào dòng cuối của file
program_usb_boot_mode=1

Mẹo! Cách để thêm dòng lệnh trên vào file mà không cần mở file, bằng Terminal hoặc CMD:

Ví dụ: trên linux usb được gắn vào và hiện dường dẫn /mnt/sdb. Còn trên windows hiện là ổ E.

Đối với linux, trên Terminal, bạn điều hướng đến USB bằng lệnh cd /mnt/sdb. Nhập lệnh ls sẽ thấy 2 thư mục, một thu mục với tên là boot. Bạn chỉ cần nhập lệnh echo program_usb_boot_mode=1 | sudo tee -a boot/config.txt. Như vậy là đã xong.

Đối với windows, trên CMD bạn nhập lệnh cd e:  bạn nhập echo program_usb_boot_mode=1 >> config.txt   Như vậy dòng lệnh sẽ tự thêm vào cuối của file config.txt  Nhưng cần lưu ý, trên CMD dấu >> là thêm string tiếp vào cuối của file. Còn dấu > là thay thế toàn bộ nội dung trong file config.txt thành string trên này, việc nhập thiếu dấu sẽ làm hỏng file của bạn.

Thêm program_usb_boot_mode=1
Thêm program_usb_boot_mode=1 vào cuối file

Sau đó, bạn chỉ cần lưu lại và rút USB ra, cắm vào Raspberry Pi (không có thẻ nhớ) rồi bật nguồn.
Bạn sẽ thấy Raspberry Pi tự động khởi động bằng USB mà không cần phải thực hiện thao tác gì nữa.

Cách khởi động bằng USB với Raspberry Pi 3B+, CM3+

Thật tuyệt vì ở trên 2 phiên bản Raspberry Pi 3 B+ và Computer Module 3+ thì bạn không cần làm gì cả. Chỉ cần ghi hệ điều hành vào thẻ nhớ rồi cắm vào mạch Pi. Sau đó cắm nguồn khởi động và tận hưởng thành quả. Ở 2 phiên bản này, mạch Pi sẽ tự nhận diện và khởi động từ USB.

Lưu ý: Nếu trên mạch vẫn có gắn thẻ nhớ, nó sẽ ưu tiên khởi động Raspberry Pi từ thẻ nhớ trước. Vì vậy, hãy chỉ cắm mình ổ USB thôi nhé.

Cách khởi động bằng USB với Raspberry Pi 4

Như hướng dẫn trên trang chủ của Raspberry Pi Foundation, hiện cách khởi động từ USB mới đang trong quá trình thử nghiệm với Raspberry Pi 4. Trong tương lai khi tính năng này được hoàn thiện thì bạn chỉ cần nạp OS lên USB như với Pi 3 B+ là sử dụng được luôn.
Còn hiện tại nếu bạn muốn dùng thử khởi động Raspberry Pi từ USB trên phiên bản 4 thì có thể làm theo hướng dẫn bên dưới.
Bước 1: Bạn cần phải có Raspberry Pi 4 và thẻ nhớ nạp sẵn hệ điều hành (xem lại cách cài hệ điều hành ở phía trên). Khởi động Pi 4 lên và nhập lệnh update phiên bản mới nhất:
sudo apt update
sudo apt full-upgrade
Bước 2: mở file /etc/default/rpi-eeprom-update để sửa dòng  FIRMWARE_RELEASE_STATUS="critical" thành "beta". Bạn có thể dùng nano để sửa file
sudo nano /etc/default/rpi-eeprom-update
Sửa file rpi-eeprom-update
Sửa file rpi-eeprom-update
Sau khi sửa xong, bạn nhấn CTRL + X, rồi bấm nút Y để lưu lại file.
Bước 3: Cài đặt phiên bản bootloader thử nghiệm
Bạn nhập lệnh ls /lib/firmware/raspberrypi/bootloader/beta/
Kiểm tra xem có file pieeprom-XXXX-XX-XX.bin, hãy tìm file có số hiệu mới nhất. Trên máy mình hiện giờ là file pieeprom-2020-05-27.bin
file ep-rom
file ep-rom

Bạn nhập tiếp lệnh:

sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-05-27.bin
Và reboot bằng lệnh:
sudo reboot
Bây giờ cần kiểm tra xem pi 4 hiện tại có đang dùng đúng cấu hình không bằng cách nhập lệnh:
vcgencmd bootloader_version
Kiểm tra version xem có đúng với ngày 27 tháng 5 là được
Kiểm tra phiên bản Bootloader
Kiểm tra phiên bản Bootloader
Bước 4: Tạo USB Raspberry Pi OS
Ở bước này bạn cần tạo một USB mới chứa hệ điều hành thông qua các phần mềm cài hệ điều hành như chúng tôi đã nói ở phía trên. Hoặc bạn cũng có thể dùng ứng dụng SD Card Copier trong Raspbian (Raspberry Pi OS). Bạn có thể tìm thấy ứng dụng này ở menu Accessories.
Ứng dụng này cho phép bạn copy y nguyên thẻ nhớ hiện tại sang USB. Sẽ rất tiện dụng nếu thẻ nhớ của bạn có nhiều dữ liệu cần chuyển sang USB.
Ứng dụng SD Card Copier cho phép bạn sao lưu toàn bộ dữ liệu sang USB
Bước 5:
Bạn copy đè (replace) toàn bộ các file đuôi *.dat*.elf trong folder /boot của firmware ngày 22/05/2020 của Raspberry Pi vào trong phân vùng boot của USB mới cài ở bước 4 trên kia. Lưu ý, các firmware mới hơn gần đây đã bị fix nên không thể khởi động được từ USB. Bạn bắt buộc phải chọn firmware từ ngày 22/05/2020 trở về trước.
Nếu bạn không có lưu firmware này, hãy tải về từ link lưu trữ firmware này của chúng tôi.
Cuối cùng bạn tắt Raspberry Pi, tháo thẻ nhớ ra ngoài, cắm USB và dùng thử nhé.
Lưu ý cuối cùng!
  • Khi dùng USB để thay cho thẻ nhớ thì bạn hãy lưu ý đến vấn đề này. Việc dùng USB sẽ tốn điện hơn một chút so với dùng thẻ nhớ nên cần dùng bộ nguồn tiêu chuẩn. Nếu bộ nguồn không ổn đinh bạn sẽ thấy thông báo overvoltage hiện lên thường xuyên.
  • Những USB chuẩn 2.0 hay 3.0 giá rẻ tốc độ thường thấp hơn thẻ nhớ SD Card chuẩn Class 10. Nến nếu bạn định dùng USB thường xuyên thì nên kiểm tra tốc độ USB trước khi cài OS lên đó.
Cảm ơn bạn đã đọc bài viết, chúc bạn thành công!

Raspberry Pi Việt Nam