अत्यधिक Pi बूट ऑप्टिमाइज़ेशन
प्रेरणा
- SolarCamPi प्रोजेक्ट एक off-grid solar WiFi camera बनाने का प्रोजेक्ट है.
- यह Raspberry Pi Zero 2 W का उपयोग करके Linux में बूट करता है, फोटो लेता है, WiFi कनेक्शन सेट करता है, फिर पावर बंद करता है, और इस प्रक्रिया को दोहराता है.
- solar device में पावर एक कीमती संसाधन है, इसलिए पावर खपत को न्यूनतम करने के लिए बूट समय कम करना महत्वपूर्ण है.
हार्डवेयर सेटअप
- embedded boot process को ऑप्टिमाइज़ करते समय छोटा cycle time महत्वपूर्ण होता है.
- कई उपयोगी टूल उपलब्ध हैं:
- Nordic Power Profiler Kit II
- USB-SD-Mux
- USB-UART converter
मापन / टेस्ट सेटअप
- Debian 12 (bookworm) arm64 Lite इमेज में /boot/firmware/cmdline.txt फ़ाइल को संशोधित करके
init=/init.sh शामिल किया गया.
init.sh स्क्रिप्ट GPIO4 को toggle करती है और सामान्य बूट फिर से शुरू करती है.
करंट में कमी
- HDMI अक्षम करना: करंट खपत 136.7mA से घटाकर 122.6mA की गई.
- activity LED अक्षम करना: 2mA की बचत.
- camera LED अक्षम करना: reflection रोकने और करंट बचाने के लिए.
- turbo mode समायोजन: turbo mode अक्षम करके 1.58As उपयोग.
समय में कमी
- बूट प्रक्रिया में HDMI probing अक्षम करना: EDID जानकारी को hardcode करके समय बचाया गया.
- HAT, PoE और LCD probing अक्षम करना: I2C response wait time कम किया गया.
- camera और display probing अक्षम करना: IMX477 sensor को manually load किया गया.
- initramfs अक्षम करना: बूट समय 5.38s से घटाकर 4.47s किया गया.
kernel load
- kernel load सबसे धीमे कार्यों में से एक है.
- GPU processor core overclock: kernel load समय में 20% की कमी.
- custom Buildroot distribution पर सिस्टम माइग्रेट करना: kernel size कम किया गया और अनावश्यक फीचर हटाए गए.
अंतिम परिणाम
- Linux user-space program को 3.5 सेकंड के भीतर बूट किया जा सकता है.
- कुल ऊर्जा खपत: 0.364 As * 5.0 V = 1.82 Ws.
- मूल Debian की तुलना में ऊर्जा खपत 5 गुना कम की गई.
GN⁺ का सार
- यह लेख Raspberry Pi के बूट समय को ऑप्टिमाइज़ करके पावर खपत कम करने के तरीकों पर केंद्रित है.
- यह solar-powered device जैसे सीमित पावर वाले वातावरण में बहुत उपयोगी है.
- समान कार्यक्षमता वाले प्रोजेक्ट्स में OpenWRT, Tiny Core Linux आदि शामिल हैं.
- बूट समय कम करने के कई तरीके बताकर यह embedded system optimization में रुचि रखने वालों के लिए उपयोगी है.
1 टिप्पणियां
Hacker News टिप्पणियाँ
rpi प्रोडक्ट लाइनअप की power समस्या एक कमजोरी है। उम्मीद है कि नया pico 2 इसे बेहतर करेगा
यह जानने की जिज्ञासा है कि custom kernel देर से क्यों आया
यह सवाल है कि CPU turbo को disable करना power consumption घटाने के लिए खराब विकल्प तो नहीं
यह जानने की जिज्ञासा है कि क्या दूसरे core इस्तेमाल किए जा सकते हैं, और तस्वीर लेकर cloud में भेजने के लिए Linux ज़रूरी है या नहीं
Pi boot time कम करने पर दो अच्छे लेखों की सिफारिश
अगर आपको Rasp Pi ecosystem पसंद है, तो Pi Pico W आज़माने लायक है
Linux distro का boot time आम तौर पर धीमा होता है
boot state बनाए रखना और low-power microcontroller इस्तेमाल करना बेहतर होगा
लगा था कि Circle kernel से तेज़ boot कर पाएगा, लेकिन यह MIPI कैमरा को support नहीं करता
Pi का इस्तेमाल करके intelligent trail camera बनाने की कोशिश की थी