RPi 4: Boot từ ổ đĩa GPT

EEPROM được thiết kế cho partition FAT của ổ đĩa MBR.

Với những ổ đĩa dung lượng lớn hơn 3TB thì phải dùng phân vùng GPT. Khi đó để boot từ partition FAT của ổ đĩa này phải dùng chút thủ thuật.

Trước hết dùng gdisk để chia đĩa, mặc định dùng kiểu phân vùng GPT, trong đó dành một phân vùng boot khoảng 200MB.

Sau đó chuyển phân vùng boot thành phân vùng lai (Hibrid partition table), xem bài Boot từ ổ đĩa GPT

Sao chép các file khởi động /boot vào phân vùng boot, / vào phân vùng rootfs từ SD Card như bài RPi 4: Boot from USB

Cuối cùng, tháo SD card và khởi động lại.

Chú thích

Nếu RPi không khởi động được, khởi động từ SD Card như thông thường và kiểm tra theo các bước sau:

1. Cắm thiết bị lưu trữ USB vào RPi. Chạy lệnh sau đây để biết tên thiết bị:

sudo fdisk -l

Giả sử tên thiết bị là /dev/sda. Ta có phân vùng boot vào khoảng 200MB tên là /dev/sda1 và phân vùng root vào khoảng vài chục GB tên là /dev/sda2

2. Xem PARTUUID của thiết bị lưu trữ USB bằng câu lệnh:

sudo blkid /dev/sda*
# hoặc
sudo blkid

Với ổ đĩa GPT, mỗi PARTUUID bao gồm 5 nhóm số, tổng cộng 32 ký số hex.

3. Kiểm tra trong tập tin cmdline.txt ở phân vùng boot (hay /dev/sda1), trong đó PARTUUID của root thuộc về phân vùng rootfs (hay /dev/sda2)

Kiểm tra tiếp /etc/fstab ở phân vùng rootfs (hay /dev/sda2), PARTUUID của /boot thuộc về /dev/sda1 và PARTUUID của / thuộc về /dev/sda2.

4. Kiểm tra version firmware EEPROM phải sau 2020-05-15

vcgencmd bootloader_version

và cấu hình boot phải có boot từ thiết bị lưu trữ USB (BOOT_ORDER phải có số 4)

vcgencmd bootloader_config

5. Dùng gdisk để xem phân vùng boot có thuộc dạng lai (hybrid) hay không

6. Cuối cùng boot RPi có kết nối màn hình để quan sát lỗi nếu còn lỗi. Màn hình boot ghi rất rõ thông tin từ eeprom như version, kết quả boot từ SD card rồi USB với các thông báo lỗi.

Comments Off on RPi 4: Boot từ ổ đĩa GPT

Filed under Software

Comments are closed.