ฉันจะปรับปรุงเวลาเริ่มต้นระบบ Raspberry Pi ได้อย่างไร


15

ฉันกำลังสร้างเครื่องใช้ในบ้านซึ่งใช้เป็น Raspberry Pi ภายในเพื่อจัดการส่วนติดต่อผู้ใช้และการเชื่อมต่อ WiFi ที่จำเป็น เชื่อมต่อกับ R-Pi ฉันมีหน้าจอ LCD AdaFruit:

Adafruit LCD

และดองเกิล USB Wifi:

ดองเกิล USB WiFi

และยังเป็นคีย์บอร์ด ไม่มีอะไรอีกแล้ว. ระบบปฏิบัติการคือOpenElecซึ่งค่อนข้างเป็นระบบปฏิบัติการที่เพรียวบางลง

อย่างไรก็ตามเมื่อผู้ใช้เปิดอุปกรณ์ R-Pi จะใช้เวลาหลายวินาทีก่อนที่จะสามารถรับอินพุตของผู้ใช้ได้

ทำไมมันใช้เวลานานมากถ้ามันกำลังบูทแฟลช? ดูเหมือนว่าจะมีการคำนวณจำนวนมาก

มีสิ่งใดบ้างที่สามารถทำได้เพื่อให้การบูต Raspberry Pi ภายในไม่ถึง 5 วินาที? พวกเขาสามารถเข้าสู่โหมดไฮเบอร์เนตที่เขียน RAM ไปยัง FLASH แล้วอ่านมันอีกครั้งเมื่อเปิดเครื่อง

มิฉะนั้นมีทางเลือกอื่นสำหรับ Raspberry-Pi ที่มีความสามารถคล้ายกัน (หน้าจอ LCD เล็ก ๆ , USB สำหรับดองเกิล WiFi) ซึ่งสามารถบู๊ตได้ภายใน 5 วินาที?


คำถามที่ดีคุณจะสามารถวาง bin บันทึกการเชื่อมโยงและเชื่อมโยงไปยังมันได้หรือไม่ ไม่สามารถทำอะไรได้มากมายโดยไม่รู้ว่ากำลังทำอะไรอยู่ในขณะบู๊ต;)
MDMoore313

2
มันคืออะไรบูต? คุณใช้ระบบปฏิบัติการที่น้อยที่สุดและลอกไปที่กระดูกเปลือย - ไม่มีเดสก์ท็อป ฯลฯ ?
Scott Seidman

2
@ScottSeidman - เพิ่ม OpenElec ในคำถามของฉัน

1
ฉันเห็นด้วยกับ @BigHomie มันเป็นไปไม่ได้เลยที่จะแนะนำการปรับปรุงใด ๆ โดยไม่เห็นสิ่งที่เกิดขึ้นในระหว่างการบูทเครื่อง

1
@NickAlexeev - Aah ปัญหา Stackexchanges ที่ทับซ้อนกันเก่า ฉันเดาคำถาม R-Pi ทั้งหมดจะอยู่ในหัวข้อนั่น

คำตอบ:


13

ฉันไม่ได้ทำงานกับ Raspberry Pi แต่ฉันลดเวลาการบูตด้วยระบบ Linux ที่ฝังอยู่ดังนั้นฉันจึงมีคำตอบทั่วไป

1) OpenElec อาจเป็น distro แบบฝังที่สามารถใช้งานได้อย่างสมบูรณ์แบบ แต่ distros มือใหม่ / มือเริ่มมีแนวโน้มที่จะโยนลงในอ่างล้างจานเพื่อให้คุณมีความสามารถที่กว้าง แต่นั่นก็มักจะหมายความว่ามีบริการที่คุณไม่ต้องการ ดังนั้นดูในไดเรกทอรีเริ่มต้นและปิดหรือเลื่อนสิ่งที่ไม่จำเป็นสำหรับจุดประสงค์ของคุณ หากคุณไม่ต้องการสิ่งกราฟิกใด ๆ บนระบบที่ช้าลง X windows หรือกระบวนการกราฟิกอาจเป็น hogs แบบเรียลไทม์ ไม่จำเป็นเพราะมันไม่สามารถสร้างกราฟิกที่เพียงพอ แต่การโหลดไลบรารีทั้งหมดลงในหน่วยความจำต้องใช้เวลา และต้องใช้เวลาในการโหลดเมื่อทุกอย่างที่คุณต้องการกำลังโหลดหรือรอโหลด

2) การ์ด SD มีความเร็วในการอ่านต่างกันซื้อการ์ดที่เร็วที่สุดที่อุปกรณ์สามารถรองรับได้ หรืออาจดูว่าแท่ง USB จะโหลดเร็วขึ้นหรือไม่ คุณอาจไม่ต้องการการ์ด 40Mb / s แต่จากการ์ด SD ราคาถูกไปเป็นการ์ดที่สามารถจัดการการถ่ายโอน 10Mb / s สามารถสร้างความแตกต่าง - ขึ้นอยู่กับการ์ด SD ที่ Pi สามารถจัดการได้) ในฐานะที่เป็นแทนเจนต์: วิ่งออกจาก SD การ์ดหากระบบไฟล์นั้นเขียนได้ไม่ดีสำหรับความมั่นคงในระยะยาว หากคุณต้องการคุณอาจต้องพิจารณากำหนดการตั้งค่าการบูตเพื่อให้การ์ดเป็นแบบอ่านอย่างเดียวหรือทำการจัดการระบบอื่นทั้งหมด

3) หากคุณต้องการกราฟิกจริง ๆ ภาพลวงตาของการบู๊ตบางครั้งง่ายกว่าที่จะได้รับจริง 100% พร้อมสำหรับอินพุตใด ๆ มีโปรแกรมหน้าจอเริ่มระบบสำหรับบู๊ตที่สามารถแสดงกราฟิกได้อย่างรวดเร็วในขณะที่บริการอื่น ๆ ทั้งหมดที่คุณต้องการเริ่มต้นใช้งาน ฉันเคยเห็นอินสแตนซ์ที่มีการใช้กราฟิกแผงควบคุมเริ่มต้นเป็นหน้าจอบูตแบบสแตติกซึ่งได้รับการสับเปลี่ยนสำหรับการทำงานสดเมื่อระบบพร้อมใช้งาน - ผู้ใช้ไม่ค่อยต้องการป้อนข้อมูลภายใน 2-3 วินาทีของการแสดงหน้าจอ ขึ้น

หากคุณยังคงมองหาเวลาบูตเร็วขึ้นให้ดูที่นี่เพื่อดูรายการพื้นที่ที่ต้องค้นหา


2
โดยเฉพาะอย่างยิ่งการจดจ่อที่ประเด็นที่ 2 การบูตเคอร์เนลและสคริปต์เริ่มต้นใช้เวลาในการบูตประมาณ 30: 70% ตามลำดับ เคอร์เนลแบบกำหนดเองจะเริ่มเร็วขึ้น 40% สคริปต์เริ่มทำงานแบบกำหนดเองสามารถปรับปรุง 90% ตามต้นฉบับซึ่งหมายความว่าคุณสามารถลดเวลาเริ่มต้นลงครึ่งหนึ่งได้อย่างง่ายดาย
เอสเอฟ

คุณพูดถูกฉันเปลี่ยน # 1 และ # 2 เพราะฉันใช้เวลากับสคริปต์เริ่มต้นก่อนสิ่งอื่นใด

8

ทำไมมันใช้เวลานานมากถ้ามันกำลังบูทแฟลช?

ส่วนหนึ่งของคำตอบอาจเป็นปัญหาของปริมาณงานที่แท้จริง ในขณะที่การ์ด SD ใช้ที่เก็บข้อมูลแฟลช NAND พวกเขาสามารถส่งข้อมูลได้อย่างเป็นลำดับเท่านั้น เปรียบเทียบกับพูดว่าชิปแฟลช NAND ที่ถูกบัดกรีให้กับบอร์ดซึ่งสามารถสื่อสารกับ CPU โดยตรงด้วยบัสแบบขนาน อัตราการถ่ายโอนโดยรวมนั้นขึ้นอยู่กับบางสิ่งเช่นความเร็วสัญญาณนาฬิกาของบัสและขนาดของไฟล์ที่คุณถ่ายโอน

อัตราการถ่ายโอนของการ์ด SD นั้นค่อนข้างต่ำเมื่อเทียบกับฮาร์ดไดรฟ์ SATA III ที่ทันสมัยหรือแม้แต่ฮาร์ดไดรฟ์ SATA II สั้นของพอร์ต SATA, USB 3.0 เป็นอีกทางเลือกหนึ่งซึ่งมีอัตราการถ่ายโอนค่อนข้างสูงสำหรับค่าใช้จ่ายค่อนข้างต่ำ

ข้อมูลเพิ่มเติมสามารถพบได้ที่นี่ , ที่นี่และที่นี่

มีสิ่งใดบ้างที่สามารถทำได้เพื่อให้การบูต Raspberry Pi ภายในไม่ถึง 5 วินาที?

ซีพียูที่ Pi ใช้นั้นค่อนข้างต่ำ (ดังนั้นราคา) ซึ่งหมายความว่าขาดอินเทอร์เฟซความเร็วสูงเช่น SATA หรือ USB 3.0 ขาดการจำลองซอฟต์แวร์ของโปรโตคอลเหล่านี้ (ซึ่งอาจมีปัญหาจากการรับส่งข้อมูลที่สำคัญ) มีไม่มากที่สามารถทำได้นอกเหนือจากการตัดแต่งไขมันจากระบบปฏิบัติการ

พวกเขาสามารถเข้าสู่โหมดไฮเบอร์เนตที่เขียน RAM ไปยัง FLASH แล้วอ่านมันอีกครั้งเมื่อเปิดเครื่อง

ตาม OpenElec, พี่ไม่สนับสนุนการจำศีลแต่ถ้าคุณอ่านลงอีกเล็ก ๆ น้อย ๆ ที่พวกเขามีคำแนะนำเกี่ยวกับวิธีการเพิ่มความเร็วของคุณพี่


3

โดยทั่วไปการอ่านจาก SD ช้ามากดังนั้นมันจึงส่งผลกระทบอย่างมาก

ลองบูทชาร์ตและลองคิดดูว่ามีประเด็นใดบ้างที่จะต้องปรับปรุงเวลาบูต

หรือคุณอาจกำหนดค่าเคอร์เนลของคุณเองเพื่อให้มีขนาดเล็กมาก หรือการข้ามการกำหนดค่าเริ่มต้นที่ไม่จำเป็น (ดูแปลก ๆ หรือบางอย่าง) อาจช่วยได้


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.