Optimasi Boot Pi Ekstrem
Motivasi
- Proyek SolarCamPi adalah proyek untuk membangun kamera WiFi bertenaga surya off-grid.
- Menggunakan Raspberry Pi Zero 2 W untuk boot ke Linux, mengambil foto, menyiapkan koneksi WiFi, lalu mematikan daya secara berulang.
- Pada perangkat tenaga surya, daya adalah sumber daya yang sangat berharga, sehingga penting untuk mengurangi waktu boot guna meminimalkan konsumsi daya.
Pengaturan perangkat keras
- Saat mengoptimalkan proses boot embedded, waktu siklus yang singkat sangat penting.
- Ada beberapa alat yang berguna:
- Nordic Power Profiler Kit II
- USB-SD-Mux
- Konverter USB-UART
Pengaturan pengukuran / pengujian
- Pada image Debian 12 (bookworm) arm64 Lite, file /boot/firmware/cmdline.txt dimodifikasi untuk menyertakan
init=/init.sh.
- Skrip
init.sh melakukan toggle pada GPIO4 lalu melanjutkan boot normal.
Pengurangan arus
- Menonaktifkan HDMI: menurunkan konsumsi arus dari 136.7mA menjadi 122.6mA.
- Menonaktifkan LED aktivitas: menghemat 2mA.
- Menonaktifkan LED kamera: mencegah pantulan dan menghemat arus.
- Menyesuaikan mode turbo: menonaktifkan mode turbo menghasilkan penggunaan 1.58As.
Pengurangan waktu
- Menonaktifkan probing HDMI saat proses boot: meng-hardcode informasi EDID untuk menghemat waktu.
- Menonaktifkan probing HAT, PoE, dan LCD: mengurangi waktu tunggu respons I2C.
- Menonaktifkan probing kamera dan layar: memuat sensor IMX477 secara manual.
- Menonaktifkan initramfs: mengurangi waktu boot dari 5.38s menjadi 4.47s.
Pemuatan kernel
- Pemuatan kernel adalah salah satu tugas yang paling lambat.
- Overclock core prosesor GPU: mengurangi waktu pemuatan kernel sebesar 20%.
- Memigrasikan sistem ke distribusi Buildroot kustom: mengurangi ukuran kernel dan menghapus fitur yang tidak perlu.
Hasil akhir
- Program user space Linux dapat dijalankan dalam waktu kurang dari 3.5 detik setelah boot.
- Total konsumsi energi: 0.364 As * 5.0 V = 1.82 Ws.
- Mengurangi konsumsi energi hingga 5 kali dibandingkan Debian bawaan.
Ringkasan GN⁺
- Artikel ini membahas cara mengoptimalkan waktu boot Raspberry Pi untuk mengurangi konsumsi daya.
- Sangat berguna di lingkungan dengan daya terbatas seperti perangkat bertenaga surya.
- Proyek dengan fungsi serupa antara lain OpenWRT dan Tiny Core Linux.
- Menyajikan berbagai cara untuk mengurangi waktu boot sehingga bermanfaat bagi mereka yang tertarik pada optimasi sistem embedded.
1 komentar
Komentar Hacker News
Masalah daya pada lini produk rpi adalah kelemahannya. Diharapkan pico 2 yang baru akan memperbaiki hal ini
Penasaran mengapa kernel kustom dirilis terlambat
Bertanya-tanya apakah menonaktifkan CPU turbo adalah pilihan yang buruk untuk mengurangi konsumsi daya
Penasaran apakah bisa menggunakan core lain, dan apakah Linux diperlukan untuk mengambil foto lalu mengirimkannya ke cloud
Merekomendasikan dua artikel bagus untuk mengurangi waktu boot Pi
Jika menyukai ekosistem Rasp Pi, Pi Pico W layak dicoba
Waktu boot distro Linux pada umumnya lambat
Lebih baik mempertahankan status boot dan menggunakan mikrokontroler berdaya rendah
Circle tampaknya bisa boot lebih cepat daripada kernel, tetapi tidak mendukung kamera MIPI
Pernah ingin membuat trail camera cerdas menggunakan Pi