Raspberry Pi thiết kế chạy từ thẻ SD/MicroSD. Với OS như PIXEL, nghĩa là partition "root" và "Home" đều nằm trên thẻ SD - hơi giới hạn vì dung lượng nhỏ. Nếu định chạy home storage server trên Pi, tốt nhất chuyển OS sang ổ cứng ngoài để có không gian lưu trữ khổng lồ.
Hướng dẫn này cho boot và chạy Raspberry Pi 3 từ ổ cứng ngoài.
Lưu ý: Dùng Pi 3 vì nó không cần nguồn thêm cho ổ cứng ngoài. Nguồn Pi 3 đủ cấp cho ổ cứng qua cổng USB. Đảm bảo dùng adapter chính hãng Pi hoặc cắm nguồn xuất 2.5A (tối thiểu).
Trước khi bắt đầu, yêu cầu:
- Raspberry Pi 3
- Thẻ microSD (tối thiểu 4GB) cài sẵn PIXEL. (Giả định đã có PIXEL chạy được. Xem tutorial setup image Pi chi tiết khác.)
- Ổ cứng ngoài format Ext4. (Dùng GParted hoặc fdisk format Ext4.)
Thiết Lập Ổ Cứng Ngoài
- Gắn microSD vào Pi 3. Cắm ổ cứng ngoài vào cổng USB Pi 3. Cấp nguồn Pi.
- Ra desktop, mở terminal. Đăng nhập root, mount ổ cứng ngoài.
sudo su mount /dev/sda /mnt
- Cài Rsync (nếu chưa có):
apt-get install rsync
- Copy toàn bộ file từ microSD sang ổ cứng ngoài. Dùng
rsyncgiữ nguyên permission và ownership.
sudo rsync -axv / /mnt
- File boot đã có trên ổ cứng, sửa file startup trỏ ổ cứng ngoài để boot.
cp /boot/cmdline.txt /boot/cmdline.txt.bak nano /boot/cmdline.txt
Sửa 2 phần: đổi root= thành /dev/sda, cuối dòng thêm rootdelay=5.
Kết quả:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait rootdelay=5
- Thêm entry ổ cứng vào "/mnt/etc/fstab" để root folder ổ cứng tự mount khi boot.
nano /mnt/etc/fstab
Thêm dòng này vào dòng 2:
/dev/sda1 / ext4 defaults,noatime 0 1
Thêm "#" đầu dòng cuối để disable boot từ microSD:
#/dev/mmcblk0p7 / ext4 defaults,noatime 0 1
Lưu ý: /dev/mmcblk0p7 trỏ slot microSD, giá trị có thể khác tùy trường hợp.
Sau sửa, trông như sau:
proc /proc proc defaults 0 0 /dev/sda1 / ext4 defaults,noatime 0 1 /dev/mmcblk0p6 /boot vfat defaults 0 2 #/dev/mmcblk0p7 / ext4 defaults,noatime 0 1
Xong. Reboot Pi, nó sẽ boot và chạy từ ổ cứng ngoài. Lưu ý: microSD vẫn phải ở khe, vì Pi cần đọc file startup từ đó trước khi boot từ ổ cứng.
Tùy Chọn: Tăng Kích Thước Swapfile
Giả sử ổ cứng ngoài dung lượng lớn, có thể tăng swapfile để Pi chạy nhanh hơn.
- Mở terminal, login root.
sudo su
- Sửa swapfile.
nano /etc/dphys-swapfile
Đổi CONF_SWAPSIZE từ 100 thành 512. Lưu thoát.
- Restart service cập nhật thay đổi.
sudo dphys-swapfile setup sudo /etc/init.d/dphys-swapfile stop sudo /etc/init.d/dphys-swapfile start
Kết Luận
Raspberry Pi 3 cải tiến hữu ích: RAM cao hơn, module WiFi, nguồn đủ cho ổ cứng ngoài. Hữu ích cho dự án nặng hơn. microSD dung lượng nhỏ là giới hạn, không kể đọc/ghi chậm và dễ corrupt dữ liệu. Với hướng dẫn trên, bạn giờ boot Pi từ ổ cứng ngoài, nâng cao hiệu năng.