4 poin oleh GN⁺ 2024-09-02 | 1 komentar | Bagikan ke WhatsApp

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

 
GN⁺ 2024-09-02
Komentar Hacker News
  • Masalah daya pada lini produk rpi adalah kelemahannya. Diharapkan pico 2 yang baru akan memperbaiki hal ini

    • Pernah membuat kamera menggunakan Google Coral mini, tetapi dukungan untuk kamera HQ kurang memadai
    • Ekosistem rpi lebih matang dan ketersediaannya di masa depan juga lebih bisa diandalkan
    • Membuat versi kamera berikutnya dengan rpi dan menggunakan baterai yang lebih besar
    • Sedang mencari cara untuk memanfaatkan sisa Coral mini dan kamera
  • Penasaran mengapa kernel kustom dirilis terlambat

    • Jika ingin optimasi, sepertinya lebih baik menggunakan LFS atau distro berbasis source
    • Penasaran apakah optimasi EFI/BIOS memungkinkan
    • Waktu boot di desktop Arch Linux memakan waktu lama
  • Bertanya-tanya apakah menonaktifkan CPU turbo adalah pilihan yang buruk untuk mengurangi konsumsi daya

    • Saat frekuensi clock meningkat, konsumsi daya naik secara kuadrat
    • Perlu mengukur perbedaan daya untuk mengetahui apakah clock boost benar-benar memberi manfaat
    • Akan bagus jika CPU Pi menyediakan informasi konsumsi daya yang lebih rinci
  • Penasaran apakah bisa menggunakan core lain, dan apakah Linux diperlukan untuk mengambil foto lalu mengirimkannya ke cloud

    • Penasaran tentang cara menyelesaikan pekerjaan dengan anggaran seminimal mungkin
    • Bacaan yang menarik
  • 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

    • Terutama lebih lambat pada perangkat keras yang lemah
    • Pernah mengalami masalah serupa di MQ-Pro SBC
    • Juga terasa pada laptop (kecuali Macbooks)
  • Lebih baik mempertahankan status boot dan menggunakan mikrokontroler berdaya rendah

    • 105mA bukan konsumsi daya yang layak
  • Circle tampaknya bisa boot lebih cepat daripada kernel, tetapi tidak mendukung kamera MIPI

  • Pernah ingin membuat trail camera cerdas menggunakan Pi

    • Waktu startup itu penting
    • Sangat bagus jika penggunaan daya bisa dikurangi