Boot dari hard disk USB?

Jawaban:

8

Sekarang, hampir lima tahun kemudian setelah penulis mengajukan pertanyaan ini,
Raspberry Pi secara resmi mendukung booting dari perangkat penyimpanan massal USB .

Namun, ini hanya didukung untuk Raspberry Pi 3 . Inilah alasannya:

Apakah mungkin untuk boot Pi 1 atau Pi 2 menggunakan MSD?

Sayangnya tidak. Kode boot disimpan hanya di perangkat BCM2837, sehingga Pi 1, Pi 2, dan Pi Zero semuanya akan memerlukan kartu SD.

Andrejs Cainikovs
sumber
28

Tidaklah mungkin untuk mem-boot RPi dari USB secara langsung dalam arti sebenarnya. Namun tidak ada yang menghentikan seseorang membuat distro mini yang berisi / boot dan semacam boot manager. Ini kemudian dapat menerapkan booting dari USB atau bahkan lingkungan gaya PXE. Ini bisa muat pada kartu SD kecil - kartu 64MB sekarang tersedia untuk uang. Saya berharap seseorang akan menggelar distribusi untuk ini - tetapi belum menemukan satu pun yang terbaru.

Sementara itu, Anda dapat memindahkan partisi root Anda sendiri ke hard disk untuk mendapatkan waktu boot yang lebih cepat, tetapi itu agak terlibat karena Anda harus mendapatkan kernel yang mendukung penyimpanan USB. Instruksi yang baik tentang bagaimana melakukan ini dapat ditemukan di: http://mitchtech.net/raspberry-pi-root-fs-on-usb-drive/

Maria Zverina
sumber
3
Ini ide yang bagus.
Jivings
Pembaruan: sekarang ada dukungan eksperimental untuk boot langsung ke USB; tidak diperlukan sdcard setelah pengaturan awal.
Hydraxan14
21

Dari FAQ Raspberry Pi :

Anda harus boot dari SD tetapi USB HD dapat "mengambil alih" setelah boot awal. Anda tidak dapat boot tanpa kartu SD.

Darren Wilkinson
sumber
1
apakah itu berarti setelah hardisk mengambil alih maka tidak perlu lagi memori mobil?
Suhaib
5

Memang, jika Anda dapat hidup dengan hanya partisi SD MS-DOS (/ boot) tempat kernel berada, Anda dapat memiliki / root dan yang lainnya di perangkat eksternal. Kartu memori USB atau hard drive fisik baik-baik saja seperti drive sekunder. Yang bagus adalah bahwa kecuali Anda menemukan lokasi yang salah, ini adalah prosedur yang tidak merusak: satu edit dan Anda kembali ke yang asli,

Untuk mengatur konfigurasi ini cukup mudah. Anda mengkonfigurasi instalasi Anda seperti biasa dan memindahkan / menyalin partisi EXT4 ke drive eksternal.

Menggunakan ' fdisk' partisi drive sekunder yang Anda pilih, buat partisi dengan ukuran yang sama atau lebih besar dari mmcblk0p2 Anda saat ini (atau mmcblk0p5). Simpan konfigurasi baru.

Temukan nama partisi, dalam contoh ini, '/ dev / sda5', namun partisi ini akan tergantung pada konfigurasi Anda.

Salin partisi yang sedang berjalan (catatan: tidak baik untuk menyalin partisi yang sedang berjalan, beberapa file dalam keadaan 'tidak stabil' atau terbuka, namun berfungsi dengan baik):

dd if=/dev/mmcblk0p2 of=/dev/sda5 bs=10M

sekarang, edit baris berikut pada file /boot/cmdline.txt dan ubah lokasi 'root':

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Ke baris baru ini.

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda5 rootfstype=ext4 elevator=deadline rootwait

Perhatikan bahwa partisi boot adalah MS-DOS, jadi jika Anda harus memperbaikinya Anda dapat memasang SD di tempat lain dan mengedit. Jika boot gagal, loader akan memperlihatkan pada layar (HDMI) Anda titik pemasangan yang tersedia.

Pengaturan ini bergantung pada urutan pemasangan. Nomor partisi dapat berubah jika perangkat dipasang pada slot lain; Anda dapat menjadikan lokasi ini independen sebagai berikut.

Temukan perangkat 'UUID'

blkid /dev/sda5
/dev/sda5: UUID="13d368bf-6dbf-4751-8ba1-88bed06bef77" TYPE="ext4"

atau buat yang baru

tune2fs -U random /dev/sda5

dan dapatkan nama yang baru ditugaskan

blkid /dev/sda5
/dev/sda5: UUID="25b6aa72-ddc4-485e-8044-900ac24d662b" TYPE="ext4"

kemudian edit cmdline.txt yang diubah sebelumnya mengubah lokasi root ke:

root=UUID=25b6aa72-ddc4-485e-8044-900ac24d662b

Setelah mem-boot konfigurasi baru, edit fstab, hapus catatan lama / mmcblk0p2: Ini adalah file yang ada di 'new' / root device
Ganti / dev / mmcblk0p% (% adalah partisi linux)

nano /etc/fstab
UUID=25b6aa72-ddc4-485e-8044-900ac24d662b ...
fcm
sumber
1

Saya malah menggunakan windows untuk 100% dari kreasi.

Saya menggunakan (gratis) 'manajer partisi MiniTool' dan baru saja mentransfer boot ke kartu SD terkecil saya, yang secara otomatis dapat diperluas dengan manajer partisi. Buka cmdline.txtdan ubah ke root=/dev/sda5.

Manajer partisi yang sama biarkan saya menyalin ext4 ke 1TB portabel saya (FYI menghapus semua partisi dari drive terlebih dahulu sehingga Anda memiliki ruang yang tidak dipartisi sebelum mentransfer). Vala - boot. Saya memperhatikan dengan HDD standar waktu akses agak kurang meskipun mereka memiliki kecepatan R / W yang sangat cepat dibandingkan dengan kebanyakan kartu SD.

Satu-satunya masalah yang saya alami sekarang adalah memperluas partisi ext4 (root) dari 32GB asli (dari kartu SD asli saya). Jadi saya hanya memiliki 32GB 1TB saat ini. Hmm. Saya hanya seorang pemula dengan terminal dan perintah-perintahnya sehingga mempartisi di linux agak membingungkan, tetapi panduan ini sangat membantu.

Dave
sumber
Maaf panduan apa?
Bex
Maaf, forum ini.
Dave