Saya ingin membuat gambar Raspberry Pi internal yang didasarkan pada Raspbian Lite yang sudah dikonfigurasi dengan lokal yang tepat, zona waktu, dll. Sayangnya bagi saya, rilis gambar Raspbian saat ini secara otomatis mengubah ukuran sistem file, kemudian reboot.
Saya ingin menghindari kerepotan perampingan filesystem dengan mencegah pengubahan ukuran dari yang pernah terjadi. Bagaimana saya mengedit gambar setelah pembakaran seperti untuk sementara menonaktifkan ukuran sistem file otomatis?
Diedit untuk memperjelas efek harus dapat dibalik; yaitu, saya ingin gambar khusus saya untuk diperluas saat boot pertama.
raspbian
raspi-config
patricktokeeffe
sumber
sumber
raspi-config
dijalankan pada boot pertama, dan akan mudah untuk menonaktifkan. Saya dapat melihat tetapi saya harus mengunduh gambar baru, yang terakhir saya miliki adalah dari bulan Mei. Periksa kembali dalam beberapa jam.Jawaban:
Ada dua bagian mekanisme yang bertanggung jawab untuk ini pada Raspbian; kemungkinan ide terbaik adalah merawat kedua bagian jika diaktifkan.
Yang pertama adalah bahwa yang asli
/boot/cmdline.txt
termasuk ini:Mengacu pada skrip dengan path tersebut pada partisi root, yang akan digunakan sebagai proses init saat boot. Tanpa bit itu, itu akan default ke nilai yang dibangun ke dalam kernel
/sbin/init
, yang pada Raspbian adalah tautan simbolis/lib/systemd/systemd
.Dengan menghapus bagian itu
cmdline.txt
, sistem kemudian harus boot secara normal.Apa yang sebenarnya dilakukan skrip itu adalah mengubah ukuran partisi pada kartu SD. Ini adalah proses yang berbeda dari mengubah ukuran sistem file di partisi, 1 yang adalah apa yang terjadi selanjutnya.
Cara yang terjadi adalah sistem segera reboot secara normal (yaitu, melalui systemd) dan
init.d
skrip diatur untuk memicu sejak awal, yang harus dihapus dari partisi kedua:Dan tautan simbolis ke sana, yang juga harus dihapus:
Anda dapat menyimpan salinan untuk digunakan nanti jika ingin, tetapi
raspi-config
dapat membuatnya lagi untuk Anda (tertanam diraspi-config
skrip shell). Jika ini benar-benar berjalan, itu menghapus dirinya sendiri, jadi itu tidak akan terjadi lagi.Yang juga dilakukannya adalah mengubah ukuran sistem file di partisi yang baru diubah ukurannya.
Tidak ada salahnya dilakukan jika hanya satu atau bagian lainnya terjadi; dalam kasus pertama Anda berakhir dengan filesystem yang tidak mengisi partisi yang diperbesar, dalam kedua tidak ada yang terjadi, karena filesystem sudah mengisi partisi.
Jika nanti Anda gunakan
raspi-config
untuk memperbesar sistem file, itu mengubah ukuran partisi segera, kemudian mengatur skrip init (seperti yang telah disebutkan).Mengedit
cmdline.txt
partisi pertama adalah sederhana di komputer mana pun karena merupakan partisi VFAT. Menghapusinit.d
file memerlukan sistem yang dapat mengakses dan mengedit filesystem ext4.Kedua tugas tersebut dapat dilakukan untuk file gambar itu sendiri sebelum membakar kartu; untuk memasang dan memodifikasi gambar Raspbian pada sistem GNU / Linux, lihat di sini . Ada T&J paralel untuk Windows .
Ini juga dapat dibalik, tetapi Anda harus mengembalikan kedua bagian mekanisme seperti yang baru saja dijelaskan, karena yang pertama tidak termasuk pementasan yang otomatis.
sumber
init=/usr/lib/raspi-config/init_resize.sh
dari/boot/cmdline.txt
karya di mate ubuntu juga dan tampaknya cukup dengan sendirinya. Saya memiliki gambar ubuntu mate 4GB yang dipasangkan ke kartu sd 32 GB dan memegang ukuran partisi pada ukuran gambar aslinya. Juga/etc/init.d/resizefs_once
dan/etc/rc3.d/S01resizefs_once
jangan ada setelah boot pertama di mate ubuntu.cmdline.txt
daninit.d
danrc3.d
berkas dan link yang memungkinkan boot berikutnya untuk mengubah ukuran dengan sendirinya atau akan aku untuk menjalankanraspi-config
dan menjalankannya secara manual?cmdline.txt
. Saya mem-boot gambar Raspbian menggunakansystemd-nspawn
dan masih mendapat log kesalahan yang mencoba mengubah ukuran setelah menghapuscmdline.txt
sesuatu.