Adakah deskripsi yang bagus tentang proses boot Raspberry Pi dan struktur partisi disk?
Apa yang disimpan di setiap partisi (dan mengapa)?
Apakah RPI boot dari kartu SD (sektor nol) atau firmware membaca dari struktur disk?
Saya berasumsi bahwa menjadi NOOBS dibuat menyalin beberapa file di bawah O / S, firmware RPI tahu tentang (tingkat tinggi) struktur disk MS-DOS dan menemukan itu jalan ke memori SD.
Saya ingin mengkloning kartu SD yang bagus ke kartu SD yang lebih besar untuk menambah ruang yang tersedia.
Bisakah saya membuat dan mempartisi SD baru dan hanya DD setiap partisi ke perangkat baru? Partisi mana yang dibutuhkan?
The 'linux'
partisi pada perangkat baru lebih besar daripada yang asli dan kemudian memperluas ruang disk?
Mungkin mengkloning ke kartu baru dan hanya memperpanjang partisi terakhir (p6) untuk menggunakan ruang yang tersedia, tapi saya tidak ingin menggunakan metode coba-coba, ingin tahu bagaimana dan mengapa.
Kenapa pertanyaanku?
Sebagian besar kartu SD RPI memiliki dua partisi (fdisk), mungkin ketika diinstal dari .img
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 2048 155647 153600 75M c W95 FAT32 (LBA)
/dev/mmcblk0p2 157696 15351807 15194112 7.3G 83 Linux
Namun saya punya satu dengan sebanyak 6 partisi, ini adalah struktur yang diwarisi dari NOOBS.
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 1675781 833795 e W95 FAT16 (LBA)
/dev/mmcblk0p2 1679360 15499263 6909952 85 Linux extended
/dev/mmcblk0p3 15499264 15564799 32768 83 Linux
/dev/mmcblk0p5 1687552 1810431 61440 c W95 FAT32 (LBA)
/dev/mmcblk0p6 1818624 15499263 6840320 83 Linux
Saya pikir ada yang salah dengan gambar ini. Dua partisi W95?
Saya hanya ingin mengkloning partisi yang tepat ke kartu baru. Saya harus banyak bekerja pada SD ini untuk memulai dari awal lagi! (BTW saya punya beberapa cadangan yang bagus).
Beberapa catatan.
Partisi p1
-rwxr-xr-x 1 root root 18K 2015-03-09 04:45 bootcode.bin
-rwxr-xr-x 1 root root 2.2K 2015-03-09 04:45 INSTRUCTIONS-README.txt
drwxr-xr-x 4 root root 32K 2015-03-09 04:45 os
...
-rwxr-xr-x 1 root root 542K 2015-03-09 04:45 recovery.elf
-rwxr-xr-x 1 root root 0 2015-03-09 04:45 RECOVERY_FILES_DO_NOT_EDIT
-rwxr-xr-x 1 root root 2.1M 2015-03-09 04:45 recovery.img
-rwxr-xr-x 1 root root 20M 2015-03-09 04:45 recovery.rfs
-rwxr-xr-x 1 root root 9.5K 2015-03-09 04:45 riscos-boot.bin
drwxr-xr-x 2 root root 8.0K 2015-12-05 18:13 System Volume Information
Partisi p2
mount: /dev/mmcblk0p2: can't read superblock
Partisi p3
-rw-r--r-- 1 root root 274 1969-12-31 19:18 installed_os.json
drwx------ 2 root root 12K 1969-12-31 19:00 lost+found
-rw-r--r-- 1 root root 86 1969-12-31 19:18 noobs.conf
Partisi p4
tidak ada.
Partisi p5
:
-rwxr-xr-x 1 root root 9.7K 2015-12-01 20:17 bcm2708-rpi-b.dtb
...
-rwxr-xr-x 1 root root 18K 2015-12-01 20:17 bootcode.bin
-rwxr-xr-x 1 root root 120 1979-12-31 19:00 cmdline.txt
-rwxr-xr-x 1 root root 1.5K 2015-11-23 09:01 config.txt
-rwxr-xr-x 1 root root 19K 2015-10-14 05:43 COPYING.linux
...
-rwxr-xr-x 1 root root 9.5K 2015-12-01 20:17 fixup_x.dat
-rwxr-xr-x 1 root root 137 2015-02-16 09:57 issue.txt
-rwxr-xr-x 1 root root 3.9M 2015-12-01 20:17 kernel7.img
...
-rwxr-xr-x 1 root root 591K 2015-12-01 20:17 start_cd.elf
...
Partisi p6
( partisi raspbian nyata )
drwxr-xr-x 2 root root 4.0K 2015-07-28 21:40 bin
drwxr-xr-x 2 root root 4.0K 2015-02-15 09:09 boot
drwxr-xr-x 119 root root 4.0K 2015-12-23 15:36 etc
drwxr-xr-x 4 root root 4.0K 2015-12-19 20:53 home
drwxr-xr-x 15 root root 4.0K 2015-12-20 22:08 lib
drwx------ 2 root root 16K 2015-02-15 06:21 lost+found
....
drwxr-xr-x 12 root root 4.0K 2015-11-04 15:18 var
p2
memiliki) partisi yang diperluas - dalam hal ini adalah partisi "Linux" dan merupakan wadah untuk sisanya yang dibutuhkan di atas 4 - dan ada lebih dari satu cara untuk mengatur partisi 'logis' di dalam partisi extended.Jawaban:
Hasil akhir saya untuk bermigrasi ke kartu SD yang lebih besar pada pengaturan noobs, adalah sebagai berikut.
Saya mencadangkan gambar hidup asli pada drive eksternal sementara, dibagikan dengan kotak windows, memory stick cadangan akan melakukannya.
Anda juga dapat membuat cadangan dengan win32DiskImager, lalu, saya membakar gambar ke kartu SD yang lebih besar (saya beralih dari 8 ke 16GB) kali ini, menggunakan win32DiskImager.
Saya mem-boot SD yang baru dibuat. Pada titik ini, SD masih menyimpan partisi yang sama, pemilihan pendahuluan, diperluas dan logis. Jadi boot seharusnya bekerja dengan lancar.
Menggunakan
Ambil tangkapan layar langsung dari tabel partisi saat ini menggunakan
p
perintah.Hapus partisi # 3 (p3) yang tidak digunakan dan tidak dibutuhkan yang terletak di akhir 'disk' fisik (setelah partisi diperluas # 2) dengan
d
.Selanjutnya, dengan berani menghapus partisi # 2 (p2), partisi logis yang bersarang juga akan menghilang.
Buat kembali partisi extended # 2, tetapi sekarang, gunakan semua ruang yang tersedia.
Untuk membuat ulang # 2, gunakan sektor awal awal yang sama persis dan biarkan
fdisk
memberi Anda sektor akhir. Gunakanp
verifikasi dan bahwa jenisnya diperluas tipe '85' dan bahwa sektor akhir baru memang lebih besar dari yang asli.Buat dua partisi logis sebelumnya: mulai dengan partisi logis # 5 (hal5); untuk sektor awal gunakan sektor yang tepat dari tangkapan layar sebelumnya, sama dengan sektor akhir (disk logis ini tidak akan tumbuh), gunakan
t
untuk mengatur id kec
(MS-DOS). Kemudian, buat kembali partisi # 6 (hal. 6) dengan sektor awal yang sama dari sebelumnya tetapi dengan sektor akhir yang dipilih olehfdisk
danp' id
83`.Verifikasi entri Anda dengan
p
dan jika dan hanya jika, kelihatannya baik saja tulis tabel partisi dengan kataw
lain ^ C dan mulai lagi.Mulai ulang dan silangkan jari Anda. Raspbian dapat reboot dua kali.
Kemudian cukup rentangkan sistem file dengan
Ini adalah hasil akhirnya, sekarang dengan 8GB ekstra!
Jadi, sekarang sektor akhir saya adalah 14.442.496 dari 6.840.320.
Boot
Saya tahu bahwa topik ini ada di tempat lain, tetapi ini bagus untuk diketahui.
Raspberry memiliki prosesor on-board dua: GPU (Graphic Processing Unit) dan ARM, masing-masing dengan tugas yang berbeda. GPU berbagi memori dengan ARM, prosesor tujuan umum RISC (Reduced Instruction Set Computer) yang sangat efisien, menjalankan set instruksi standar industri. Semua tertutup pada BCM2835 'SoC' (Sistem pada Chip)
Setelah power pada kontrol pertama kali diberikan ke GPU, hanya kernel, pada akhir proses boot, akan berjalan pada prosesor ARM.
Pada tahap pertama, GPU akan menjalankan firmware ROM on-chip untuk memuat
bootcode.bin
ke memori cache L2 dan melewati kontrol.bootcode.bin
akan mengaktifkan kartu SD, mengaktifkan SDRAM, dan menggunakan partisi MS-DOS pertama, untuk menemukan, memuat, dan menjalankan 'start.elf'.Pada titik ini, file-file berikut dipertimbangkan oleh
bootcode.bin
dari partisi MS-DOS pertama pada Kartu SD:Ada sejumlah opsi yang dapat disesuaikan
config.txt
. Anda dapat mengedit file yang memasang SD di komputer eksternal atau hanya mengedit di unit yang sedang berjalan:Perubahan khas pada config.txt terkait dengan overclock , HDMI , ukuran layar , aspek , kamera , mengatur alamat MAC Anda dll.
Seperti yang Anda lihat, partisi boot yang ditunjuk, tempat
kernel.img
boot adalah / dev / mmcblk0p6 dan ini adalah partisi kedua yang diperlukan pada kartu SD Anda, diformat sebagai 'ext4' (Linux atau Id '83' di fdisk lingo).Akhirnya,
start.elf
akan memuat dan menjalankankernel.img
, kernel linux Anda.Anda dapat (harus?) Memperbarui kernel dengan
rpi-update
; jika tidak ada sajaapt-get install rpi-update
).catatan:
sudo
awalan dihapus untuk singkatnya.sumber
Jika Anda Google untuk proses Boot Raspberry PI Anda akan menemukan banyak, termasuk Apa urutan boot? (telah ada beberapa perubahan kecil).
What is stored on each partition (and why)?
Ini bervariasi, tergantung pada bagaimana pengaturannya, dan distribusi apa yang digunakan.Does the RPI boot from the SD card (sector zero) or the firmware reads from the disk structure?
Tidak.Can I create and partition a new SD and just DD each partition to the new device?
Iya. Meskipun Anda mungkin lebih baik untuk mengkloning kartu dan memperluas partisi.Most RPI SD cards have two (fdisk) partitions, perhaps when installed from a .img
Sementara Raspbian melakukannya, partisi FAT32 biasanya dimulai pada 8192, yang ideal untuk Kartu SD. (Partisi harus diletakkan di batas Erase Block Group 4M.)However I have one with as many as 6 partitions, some overlapping other sectors, perhaps this is the structure when started/inherited from NOOBS.
Anda perlu memahami partisi yang diperluas. Coba Wiki.sumber