Saya membuat aplikasi jarak jauh yang dapat disematkan yang tidak akan diaktifkan secara permanen. Saya telah bermain-main dengan distribusi OS yang berbeda dan dapat mengurangi waktu untuk boot secara substansial dengan menggunakan kartu SD yang lebih baik dengan kecepatan baca yang lebih cepat. Saya tidak terpaku pada distribusi tertentu, jadi saya bisa menghapus sebanyak yang diperlukan untuk menggunakan distribusi Linux minimal.
(Saya telah berusaha mencari tolok ukur yang telah dijalankan orang untuk meningkatkan waktu boot, tetapi saya belum menemukan apa pun dengan angka yang sulit.)
Saya juga bisa menggunakan build root (lihat juga video YouTube Raspberry Pi - Waktu Booting Super Cepat - Sistem Hiburan Marshmallow ) ...
Jawaban:
Jika Anda menggabungkan Arch Linux dengan fitur yang disarankan Fred, Anda seharusnya mendapatkan OS booting yang cepat.
Yang memperlambat waktu boot OS adalah
Kecepatan baca / tulis (I / O) lambat.
Jadi, Anda menggunakan kartu SD yang lebih cepat akan membantu,
kartu Kelas 10 akan jauh lebih cepat daripada kartu Kelas 4. Saya salah mengerti bagaimana kelas kartu SD bekerja, dan itu telah ditunjukkan dengan sangat jelas di komentar, saya buruk. Sebenarnya, kartu Kelas 10 akan lebih cepat daripada kartu Kelas 4 untuk transfer file besar seperti video HD dan yang lainnya. Rupanya Kelas 4 berkinerja sama dengan file yang lebih kecil. Sekali lagi, salahku, tapi hei, kita semua belajar sekarang dan lagi.Urutan init yang macet.
Jika Anda memiliki banyak perangkat lunak yang menyala selama fase boot, waktu boot akan menjadi lebih lambat. Mulai lebih banyak perangkat lunak == Waktu boot yang lebih lama.
Jadi, jika Anda memerlukan boot cepat, potong sebanyak mungkin perangkat lunak dari urutan init. Anda dapat membuat skrip sederhana (atau saya yakin ada satu di luar sana) yang akan meluncurkan perangkat lunak setelah urutan boot utama selesai, menyebarkan beban lebih sedikit.
Pada dasarnya itu. Arch Linux mungkin adalah cara untuk pergi, dikombinasikan dengan fitur yang disebutkan Fred, seperti yang saya katakan sebelumnya. Arch adalah OS yang sangat minim dan mungkin bukan yang terbaik bagi pemula untuk digunakan, tetapi jika Anda memiliki pengalaman di Linux, maka lakukanlah. Hanya perlu sedikit pengaturan, karena ia datang dengan minimal untuk menginstal dan hanya itu .
Semoga proyek Anda berjalan dengan baik!
sumber
Saya sarankan menggunakan Arch Linux.
Saya mendapatkan waktu boot normal 5s (kernel) + 5s (ke userspace) dan tidak memerlukan banyak usaha, karena menggunakan
systemd
untuk init.sumber
systemd
membuat banyak perbedaan, dibandingkan dengansysvinit
. Lihat jawaban saya .Saya menulis artikel di sini tentang hal itu.
Singkatnya: gunakan
systemd
.Anda dapat dengan mudah menjalankan aplikasi RaspberryPi Anda kurang dari 8 detik setelah Anda menyambungkan kabel daya, atau kurang dari 3 detik setelah boot Linux dimulai.
Contoh di sini, layanan saya disebut
samplerbox.service
:Catatan: Saya belum mencoba untuk mengoptimalkan waktu userspace karena saya tidak membutuhkannya: Aplikasi saya mulai lebih awal, jadi saya tidak keberatan jika atribusi jaringan DHCP / IP membutuhkan waktu 8 detik setelah aplikasi saya diluncurkan.
sumber
Solusi optimal mungkin untuk membangun distribusi yang hanya melakukan apa yang Anda inginkan saat boot, dengan cara ini Anda dijamin minimal kali (menggunakan sistem init minimalis seperti sinit ). Sebagai alternatif, Anda dapat mempertimbangkan untuk menggunakan fitur suspend to disk ( hibernation ) dari kernel Linux. Setelah di-boot, penundaan dan melanjutkan operasi nanti cukup cepat, dan sistemnya sepenuhnya mati sementara itu.
sumber
Menggunakan kernel yang terhubung secara statis alih-alih driver modprobing juga dapat secara dramatis meningkatkan kinerja. Ada optimasi lain yang harus dilakukan dengan mengkonfigurasi dan mengkompilasi ulang kernel dengan hati-hati.
sumber
1) Do this in command line, 2) Do this and this 3) Modify this and this in config.txt 4) Boot, it will take 3.2 seconds! 5) Here is the result of my benchmarks: ...
)Gunakan TinyCoreLinux . Itu dibuat untuk memuat cepat dan untuk bertahan hidup dari kegagalan daya.
sumber
1) Download an image here: +link 2) Flash it on your microSD 3) Modify this and this in config.txt 4) Boot, it will take 3.2 seconds!
)Anda dapat mencoba menggunakan eINIT untuk mempercepat proses boot:: http://sourceforge.net/projects/einit/
Sayangnya saat ini (Oktober 2016) homepage eINIT mencatat:
sumber
Hapus semua modul kernel yang tidak akan Anda gunakan.
sumber