Як покращити час завантаження Raspberry Pi?


15

Я створюю домашній прилад, який використовує як Raspberry Pi внутрішньо для обробки користувальницького інтерфейсу та необхідного підключення Wi-Fi. Підключений до R-Pi У мене є РК-екран AdaFruit:

Adafruit LCD

і USB-мережу Wi-Fi:

USB WiFi ключ

А також клавіатура. Більш нічого. Операційна система - OpenElec , що є досить скороченою операційною системою.

Однак, коли користувач вмикає пристрій, R-Pi проходить багато секунд, перш ніж він може прийняти введення користувача.

Чому це потрібно так довго, якщо він завантажується спалахом? Десятки секунд здаються великою кількістю обчислень.

Чи можна щось зробити, щоб зробити завантаження програми Raspberry Pi за 5 секунд? Чи можуть вони перейти в якийсь сплячий режим, коли він записує свою оперативну пам'ять на FLASH, а потім знову читає її після включення живлення?

Інакше, чи є альтернатива Raspberry-Pi, яка має подібні можливості (маленький РК-екран, USB для WiFi-ключа), яка може завантажуватися за 5 секунд?


Чудове запитання, чи зможете ви вставити журнал завантаження та посилання на нього? Не можу багато що робити, знаючи, що це робить під час завантаження;)
MDMoore313

2
Що це за завантаження? Ви працюєте з мінімальною ОС і знімаєте її до голих кісток - немає робочого столу тощо?
Скотт Сейдман

2
@ScottSeidman - Додав OpenElec до мого запитання.

1
Я згоден з @BigHomie. Неможливо запропонувати будь-які покращення, не бачачи, що відбувається під час завантаження.

1
@NickAlexeev - Ааа, стара проблема, що перекривається Stackexchanges. Я здогадуюсь, що всі питання R-Pi там будуть на тему.

Відповіді:


13

Я не працював з Raspberry Pi, але я скоротив час завантаження із вбудованими системами Linux, тому маю деякі загальні відповіді.

1) OpenElec може бути ідеально працездатним вбудованим дистрибутивом, але початківці / демонстраційні дистрибутори, як правило, кидають у кухонну раковину, щоб надати вам широкі можливості, але це часто означає, що там починаються послуги, які вам не потрібні. Тому загляньте в каталоги init і вимкніть або відкладіть що-небудь не суттєве для ваших цілей. Якщо вам не потрібна якась графічна річ, у повільних системах X вікон чи графічних процесів можуть бути свинями в режимі реального часу. Це не обов'язково, оскільки воно не може генерувати графіку адекватно, але завантаження всіх бібліотек в пам'ять вимагає часу. І потрібен час від завантаження, коли все, що ви хочете, також завантажується або чекає завантаження.

2) SD-карти мають різну швидкість читання, купуйте найшвидший, з яким може працювати пристрій. Або, можливо, подивіться, чи швидше завантажиться USB-накопичувач. Можливо, вам не знадобляться карти 40 Мбіт / с, але перехід від більш дешевої SD-картки до такої, яка може працювати з передачею 10 Мбіт / с, може змінити значення - знову ж таки, залежно від того, з якими SD-картами може працювати Pi. Як дотична ситуація: запуск SD-карти, якщо файлова система піддається запису, не підходить для довгострокової стабільності. Якщо вам це потрібно, можливо, вам доведеться розглянути можливість налаштування параметрів завантаження для того, щоб картка ставилася до картки лише для читання, або повністю виготовити інші системні пристрої.

3) Якщо вам дійсно потрібна графіка, ілюзію завантаження іноді легше дістатись, ніж насправді бути готовим до будь-якого введення. Існують програми заставки для завантаження на консолі, які дозволяють швидко викидати графіку, в той час як усі інші сервіси, необхідні для запуску. Я бачив випадки, коли початкова графіка панелі управління використовується як статичний завантажувальний екран, який заміняється на робочий, який працює в реальному часі, коли система готова - користувач рідко хоче по-справжньому вводити дані протягом 2-3 секунд після екрана, що показує вгору

Якщо ви все ще шукаєте швидшого часу завантаження, перегляньте тут список областей, на який слід звернути увагу.


2
Особливо зосередьтесь на точці 2. Запуск завантаження ядра та сценаріїв init займають приблизно 30: 70% часу завантаження відповідно. Спеціальне ядро ​​запуститься на 40% швидше, спеціальні сценарії запуску можуть покращити 90% після оригіналів, тобто ви можете легко вдвічі зменшити час запуску.
СФ.

Ви абсолютно праві, я поміняв місцями №1 і №2, тому що я провів час зі сценаріями init раніше, ніж будь-що інше.

8

Чому це потрібно так довго, якщо він завантажується спалахом?

Частиною відповіді може бути питання про пропускну здатність. У той час як SD-карти використовують флеш-пам’ять NAND, вони можуть передавати дані лише послідовно. У порівнянні, скажімо, з флеш-чіпом NAND, який був припаяний до плати, який міг спілкуватися з процесором безпосередньо паралельною шиною. Загальна швидкість передачі буде приблизно залежати від кількох речей, таких як тактова частота шини та розмір файлів, які ви передаєте.

Швидкість передачі SD-карти фактично досить низька порівняно із сучасним жорстким диском SATA III або навіть SATA II. Окрім SATA-порту, USB 3.0 - це ще одна альтернатива, яка має досить високу швидкість передачі даних за відносно низьку вартість.

Більше інформації можна знайти тут , тут і тут .

Чи можна щось зробити, щоб зробити завантаження програми Raspberry Pi за 5 секунд?

Процесор, який використовує Pi, досить низький (звідси і ціна). Це означає, що йому бракує високошвидкісних інтерфейсів, таких як SATA або USB 3.0. Окрім емуляції програмного забезпечення цих протоколів (які, ймовірно, також будуть страждати від основних проблем з пропускною здатністю), нічого іншого, крім обрізки жиру в ОС, не можна зробити.

Чи можуть вони перейти в якийсь сплячий режим, коли він записує свою оперативну пам'ять на FLASH, а потім знову читає її після включення живлення?

За словами OpenElec, Pi не підтримує сплячку , але якщо ви читаєте трохи далі, у них є поради, як пришвидшити ваш Pi .


3

Взагалі кажучи, читання з SD дуже повільне, тому це різко впливає.

Спробуйте запустити завантажувальну схему і з’ясуйте , чи є якийсь сенс покращити час завантаження.

Або ви можете налаштувати власне ядро, щоб воно мало дуже маленький розмір. Або пропустити якусь непотрібну ініціалізацію (виглядати непарною чи щось) може допомогти.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.