From 10d1b7935722e9dbf40c1415d505c6af5bb5d1db Mon Sep 17 00:00:00 2001 From: Vladislav Shapovalov Date: Thu, 9 Mar 2023 16:19:31 +0200 Subject: [PATCH] add testing version of faq.uk.md --- site/faq.md | 10 +- site/faq.uk.md | 1103 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1108 insertions(+), 5 deletions(-) create mode 100644 site/faq.uk.md diff --git a/site/faq.md b/site/faq.md index d4f4869..8d365fa 100644 --- a/site/faq.md +++ b/site/faq.md @@ -145,7 +145,7 @@ the target (`target$`): `source# tgtip="192.168.1.2"` change this -3. Create netconsole logging target on the source machine: +4. Create netconsole logging target on the source machine: `source# modprobe netconsole` @@ -165,15 +165,15 @@ the target (`target$`): `source# echo 1 > enabled` -4. Change console loglevel to debugging: +5. Change console loglevel to debugging: `source# dmesg -n debug` -5. Test if the logging works by e.g. inserting or removing an USB +6. Test if the logging works by e.g. inserting or removing an USB device on the source. There should be a few lines appearing in the terminal, in which you started netcat (nc), on the target host. -6. Try to reproduce the kernel panic. +7. Try to reproduce the kernel panic. Hardware compatibility ====================== @@ -196,7 +196,7 @@ targets that it supports, on both Intel and AMD. NOTE: The information below is slightly out of date. Nowadays, Intel ME does not run on an ARC coprocessor, but instead runs on a modified Intel 486 based -architecture, with the ME firware written for x86 based on the Minix operating +architecture, with the ME firmware written for x86 based on the Minix operating system. However, the overall design philosophy and operation is mostly the same. diff --git a/site/faq.uk.md b/site/faq.uk.md new file mode 100644 index 0000000..a35523e --- /dev/null +++ b/site/faq.uk.md @@ -0,0 +1,1103 @@ +--- +title: Часті питання +x-toc-enable: true +... + +Також відомо як Відповіді на часті питання + +Важливі питання +================ + +Як скомпілювати libreboot з джерельного коду +------------------------------------ + +Зверніться до [інструкцій зі збірки lbmk](docs/build/). + +Як працює система збірки? +------------------------------- + +Зверніться до [посібника з обслуговування lbmk](docs/maintain/). + +Не використовуйте CH341A! +------------------ + +Цей програматор SPI пошкодить ваш чіп і материнську плату, до якої він +підключений. + +Прочитайте примітки щодо CH341A на [docs/install/spi.md](docs/install/spi.md), щоб +вивчити більше. + +Flashrom скаржиться на доступ DEVMEM +-------------------------------------- + +Якщо запущено `flashrom -p internal` для програмної перепрошивки та +ви отримуєте помилку, пов'язану з доступом до /dev/mem, вам слід перезавантажити систему з +параметром ядра `iomem=relaxed` перед виконанням flashrom, або використовуйте ядро, +для якого не ввімкнено `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM`. + +Приклад виводу flashrom з обома `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM` ввімкненими: +``` +flashrom v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64) +flashrom is free software, get the source code at https://flashrom.org + +Calibrating delay loop... OK. +Error accessing high tables, 0x100000 bytes at 0x000000007fb5d000 +/dev/mem mmap failed: Operation not permitted +Failed getting access to coreboot high tables. +Error accessing DMI Table, 0x1000 bytes at 0x000000007fb27000 +/dev/mem mmap failed: Operation not permitted +``` + +Підсвічування в лівій частині екрана стає темнішим, якщо зменшити яскравість мого ноутбука ThinkPad X200/X200S/X200T, T400, T500, R400, W500, R500 та інших ноутбуків Intel +--------------------------------------------------------------------------------------------------------------- + +Ми не знаємо, як визначити правильне значення ШІМ для використання в +coreboot, тому ми просто використовуємо стандартне в coreboot, який має +цю проблему на деяких CCFL панелях, але не LED панелях. + +Ви можете вирішити цю проблему у своєму дистрибутиві, дотримуючись приміток на +[документація: контроль підсвічуванням](../docs/misc/#finetune-backlight-control-on-intel-gpus). + +Ethernet не працює на моєму X200/T400/X60/T60, коли я його підключаю +------------------------------------------------------------------- + +Це спостерігалося в деяких системах, які використовують network-manager. Таке буває +як в оригінальному BIOS, так і в libreboot. Це примха в +обладнанні. У системах debian обхідним шляхом є перезапуск сервіса +мережі, коли ви підключаєте кабель ethernet: + + sudo service network-manager restart + +На Parabola ви можете спробувати: + + sudo systemctl restart network-manager + +(назва служби може відрізнятися для вас, залежно від вашої +конфігурації) + +Мій KCMA-D8 або KGPE-D16 не завантажується з встановленим модулем PIKE2008 +----------------------------------------------------------------------- + +**Материнські плати KGPE-D16, KCMA-D8 та KFSN4-DRE ASUS було видалено 19 +листопада 2022. Ви все ще можете використовувати старіші версії Libreboot, і випуски +старіших версій.** + +Завантаження Option ROM з модуля PIKE2008 на ASUS KCMA-D8 +або KGPE-D16 викликає зависання системи під час завантаження. Можна використовувати +це в корисному навантаженні (якщо ви використовуєте корисне навантаження ядра linux, таке як linuxboot), +або завантажитись (з SeaGRUB та/або SeaBIOS) зі звичайного SATA, а потім використовувати +це в GNU+Linux. Ядро Linux здатне використовувати PIKE2008 +модуль без завантаження Option ROM. + +Зверніться до [веб-сайту linuxboot](https://www.linuxboot.org/). Це є особливою +busybox+linux системою, яка вміщується у завантажувальній флеш-пам'яті, як корисне навантаження coreboot. +Ви можете вставити його у ваш образ libreboot, використовуючи cbfstool, якщо він достатньо великий. +На KCMA-D8/KGPE-D16 просто оновити завантажувальну флеш-пам'ять до 16МБ, тобто +більш ніж достатньо, щоб вмістити Linuxboot. Подивіться:\ +[Посібник із зовнішнього прошивання](docs/install/spi.md) + +LinuxBoot має багато додаткових функцій. Він надає завантажувач під назвою uroot, +який може завантажувати інші ядра Linux, використовуючи kexec. Він може аналізувати конфігурації GNU GRUB, +і він також може надавати деякі основні функції UEFI. Тому що він використовує ядро Linux, +це означає, що LinuxBoot може використовувати модуль PIKE2008. + +ЗРОБИТИ: інтегрувати це в libreboot, як опцію корисного навантаження, а також: + +ЗРОБИТИ: зробити розгалудження LinuxBoot і створити його версію, використовуючу linux-libre. Забезпечити, +щоб це був повністю вільний дистрибутив, щоб FSF міг його схвалити. + +LinuxBoot *ідеальний*, особливо якщо ви налаштовуєте одну з цих систем +для використання в якості сервера. LinuxBoot є *набагато* більш гнучким і налаштовуваним, ніж +GNU GRUB, який зараз є корисним навантаженням, якому надає перевагу libreboot. + +Як зберегти журнали паніки ядра на ноутбуках Thinkpad? +-------------------------------------------------- + +Найпростіший спосіб зробити це за допомогою netconsole ядра +і відтворення паніки. Netconsole вимагає двох машин, тієї, що є +панічною (джерело) і той, яка отримуватиме журнали збоїв (ціль). Джерело +має бути підключеним кабелем ethernet, а ціль також бути доступною +під час паніки. Щоб налаштувати цю систему, виконайте +наступні команди як root на джерелі (`джерело#`) і звичайний користувач +на цілі (`ціль$`): + +1. Запустіть сервер слухача на цільовій машині (netcat працює добре): + + `ціль$ nc -u -l -p 6666` + +2. Монтуйте configfs (тільки один раз на завантаження, ви можете перевірити, чи він уже змонтований + з `mount | grep /sys/kernel/config`. Це не поверне результат, + якщо це не так). + + `джерело# modprobe configfs` + + `джерело# mkdir -p /sys/kernel/config` + + `джерело# mount none -t configfs /sys/kernel/config` + +3. знайдіть назву інтерфейсу ethernet джерела, вона має мати форму `enp*` або + `eth*`, дивіться вивід `ip address` або `ifconfig`. + + `джерело# iface="enp0s29f8u1"` змініть це + + Заповніть адресу IPv4 цільової машини тут: + + `джерело# tgtip="192.168.1.2"` змініть це + + +4. Створіть ціль журналювання netconsole на вихідній машині: + + `джерело# modprobe netconsole` + + `джерело# cd /sys/kernel/config/netconsole` + + `джерело# mkdir target1; cd target1` + + `джерело# srcip=$(ip -4 addr show dev "$iface" | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')` + + `джерело# echo "$srcip" > local_ip` + + `джерело# echo "$tgtip" > remote_ip` + + `джерело# echo "$iface" > dev_name` + + `джерело# arping -I "$iface" "$tgtip" -f | grep -o '..:..:..:..:..:..' > remote_mac` + + `джерело# echo 1 > enabled` + +5. Змініть рівень журналу консолі на налагодження: + + `джерело# dmesg -n debug` + +6. Перевірте, чи працює журнал, наприклад, вставленням або вийманням USB- + пристроїв на джерелі. + Має з'явитись кілька рядків в терміналі, у якому ви запустили netcat (nc), на цільовому хості. + +7. Спробуйте відтворити паніку ядра. + +Апаратна сумісність +====================== + +Які системи сумісні з libreboot? +----------------------------------------------------------------------------------- + +Будь-яку систему можна легко додати, тому *сумісність* посилається до будь-якої +інтегрованої до системи побудови `lbmk` плати, яку libreboot використовує. + +Прочитайте [список сумісного обладнання](docs/hardware/). + +Пастки свободи з сучасним обладнанням Intel {#intel} +---------------------------------------------------- + +Coreboot номінально є вільним програмним забезпеченням, але для більшості x86 +цілей, які він підтримує, потрібні двійкові блоби, як на Intel, так і на AMD. + +### Intel Management Engine (ME) {#intelme} + +ПРИМІТКА: Інформація нижче трохи застаріла. Зараз Intel ME не +працює на співпроцесорі ARC, а працює на архітектурі модифікованого процесора Intel 486, +з прошивкою ME, написаною для x86 на основі операційної системи Minix. +Однак загальна філософія дизайну та функціонування в основному є тою +самою. + +На *більшості* сучасних платформ Intel, які мають Intel ME, зараз можливо відключити +Intel ME після BringUp. Дивіться: + +\ + +На всіх ноутбуках GM45+ICH9M, які мають Intel ME (крім того, це означає настільні комп'ютери +X4X+ICH10), прошивка ME не потрібна у завантажувальній флеш-пам'яті. Або використовується +модифікований дескриптор, який вимикає ME та видаляє регіон для нього +в завантажувальній флеш-пам'яті, або використовується налаштування без дескрипторів. Проте всі сучасні +платформи Intel в іншому випадку вимагають наявності образа Intel ME в основній завантажувальній +флеш-пам'яті. + +Тепер до основної теми: + +Представлений в червні 2006 року в сімействі чіпсетів Intel 965 Express контролерів- +концентраторів (графіки та) пам'яті, або (G)MCH, і сімейство контролерів ICH8 I/O, +Intel Management Engine (ME) є окремим +обчислювальним середовищем, фізично розташованим в чіпі (G)MCH. У третьому кварталі 2009 року, +перше покоління процесорів Intel Core i3/i5/i7 (Nehalem) і п'ята серія +сімейства чіпсетів концентраторів-контролерів платформи, або PCH, принесли +більш тісно інтегрований ME (зараз версії 6.0) всередині чіпа PCH, +який сам по собі замінив ICH. Таким чином, ME ***присутній на всіх настільних, +мобільних (ноутбуки) та серверних системах з середини 2006 року***. + +ME складається з ядра процесора ARC (замінено іншими ядрами процесора +в наступних поколіннях ME), кеша коду та даних, таймера +і безпечної внутрішньої шини, до якої підключаються додаткові пристрої, +включаючи механізм криптографії, внутрішні ROM та RAM, контролери +пам'яті та ***механізм прямого доступу до пам'яті (DMA)*** для доступу до +пам'яті операційної системи хоста, також щоб зарезервувати регіон +захищеної зовнішньої пам'яті для доповнення обмеженої внутрішньої оперативної пам'яті ME. +ME також має ***доступ до мережі*** з власною MAC-адресою через +контролер Intel Gigabit Ethernet. Його програма завантаження, збережена на внутрішній +ROM, завантажує "маніфест" прошивки з чіпа флеш-пам'яті SPI ПК. +Цей маніфест ***підписано надійним криптографічним ключем***, +який відрізняється між версіями мікропрограми ME. Якщо маніфест +не підписано певним ключем Intel, завантажувальна ROM не завантажиться і не +виконається прошивка, і ядро процесора ME буде зупинено. + +Прошивка ME стиснена та складається з модулів, перелічених в +маніфесті, разом із безпечними криптографічними хешами їх змісту. +Одним модулем є ядро операційної системи, яке базується на +***пропрієтарному ядрі операційної системи реального часу (RTOS)***, під назвою +"ThreadX". Розробник, Express Logic, продає ліцензії і джерельний +код для ThreadX. Клієнтам, таким як Intel, заборонено розголошувати +або виконувати субліцензіювання джерельного кода ThreadX. Іншим модулем є +Dynamic Application Loader (DAL), який складається з ***віртуальної машини Java*** +та набора передвстановлених класів Java для криптографії, безпечного зберігання і +так далі. Модуль DAL може завантажувати та виконувати додаткові модулі ME з +HDD або SSD ПК. Прошивка ME також містить ряд нативних +модулів додатків у своєму просторі флеш-пам'яті, включаючи Intel +Active Management Technology (AMT), реалізації Trusted +Platform Module (TPM), Intel Boot Guard, аудіо та відео DRM +системи. + +Програма Active Management Technology (AMT), частина бренда Intel +"vPro", є веб-сервером і програмним кодом, що дозволяє віддаленим +користувачам вмикать, вимикать, дивиться інформацію та тощо +керувати ПК. Це може ***використовуватись дистанційно, навіть коли ПК +вимкнено*** (через Wake-on-Lan). Трафік зашифровано з використанням бібліотек SSL/TLS, +але пам'ятайте, що всі основні реалізації SSL/TLS мали дуже +оприлюднені вразливості. Сама програма AMT має ***[відомі +вразливості](https://uk.wikipedia.org/wiki/Active_Management_Technology#Проблеми_безпеки)***, +які використовувалися для розробки руткітів і кейлоггерів, а також таємного +отримання зашифрованого доступа до функцій керування ПК. +Пам'ятайте, що ME має повний доступ до оперативної пам'яті ПК. Це означає, що +зловмисник, який використовує будь-яку з цих вразливостей, може отримати доступ до +всього на ПК: усі відкриті файли, усі працюючи +програми, усі натиснуті клавіши, тощо. + +[Intel Boot Guard](https://mjg59.dreamwidth.org/33981.md) є застосунком ME, +представленим у другому кварталі 2013 року з мікропрограмою ME, версії 9.0 на четвертому +поколінні процесорів Intel Core i3/i5/i7 (Haswell). Це дозволяє виробникам комплектного обладнання для ПК +згенерувати асиметричну криптографічну пару ключів, встановити публічний ключ +в ЦП і запобігти ЦП від запуску завантажувальної мікропрограми, яка не підписана +з їх приватним ключем. Це означає, що ***coreboot та libreboot +неможливо перенести*** на такі ПК, без приватного ключа підпису +OEM. Зверніть увагу, що системи, зібрані з придбаних окремо материнської плати +та ЦП залишаються незмінними, оскільки постачальник материнської +плати (на якій зберігається завантажувальна прошивка) не може вплинути на +публічний ключ, що зберігається в ЦП. + +Прошивка ME версій 4.0 та пізніше (Intel серії 4 та пізніші чіпсети) +включає програму ME для ***аудіо та відео +[DRM](https://defectivebydesign.org/what_is_drm_digital_restrictions_management)*** +під назвою "Захищений аудіо-відеошлях" (PAVP). ME отримує від операційної системи хоста +зашифрований медіа-потік і зашифрований ключ, +розшифровує ключ і надсилає розшифрований ключ до +GPU, яка потім розшифровує медіа. PAVP також використовується іншим ME +застосунком, щоб намалювати розкладку PIN-код аутентифікації прямо на екрані. +У цьому випадку програма PAVP безпосередньо керує графікою, що +з'являється на екрані ПК, таким чином, що хостова ОС не може виявити. Версія прошивки ME +7.0 на PCH з процесорами Intel Core i3/i5/i7 +(Sandy Bridge) 2-го покоління замінює PAVP подібним застосунком DRM під назвою +"Intel Insider". Як і програма AMT, ці програми DRM, +які самі по собі дефектні за задумом, демонструють всемогутність можливості +ME: це обладнання та його пропрієтарна мікропрограма можуть отримати доступ і контролювати +все, що є в оперативній пам'яті і навіть ***все, що +відображається***. + +Intel Management Engine із власною мікропрограмою мають завершений +доступ до і контроль над ПК: він може вмикати або вимикати ПК, +читати всі відкриті файли, перевіряти всі запущені програми, відстежувати всі натиснуті +клавіши та рухи миші і навіть записувати або відображати зображення на +екрані. І він має мережевий інтерфейс, який явно незахищений, +що може дозволити зловмиснику в мережі ін'єктувати руткіти, які +повністю компрометують ПК і повідомляють зловмиснику про всю +активність, яка відбувається на ПК. Це загроза свободі, безпеці та +приватності, яка не може бути проігнорована. + +До версії 6.0 (тобто в системах 2008/2009 і раніше), +ME можна вимкнути, встановивши пару значень у флеш-пам'яті SPI. +Прошивку ME потім можна повністю видалити з простору флеш- +пам'яті. Проект libreboot [робить це](docs/install/ich9utils.md) на +системах Intel серії 4, які він підтримує, наприклад [ThinkPad +X200](../docs/install/x200_external.uk.md) та [ThinkPad +T400](../docs/install/t400_external.md). Прошивка ME версії 6.0 та +пізніше, яка є на всіх системах з процесорами Intel Core i3/i5/i7 +PCH, включає мікропрограму "ME Ignition", яка виконує деяку апаратну +ініціалізацію та контроль живленням. Якщо завантажувальний ROM ME не знаходить +в флеш-пам'яті SPI маніфест прошивки ME з дійсним підписом Intel, +весь ПК буде вимкнено через 30 хвилин. + +Завдяки перевірці підпису, розробка вільної заміни +для ME в принципі неможлива. Єдина сутність, здатна замінити +прошивку ME - Intel. Як зазначалось раніше, мікропрограма ME містить +пропрієтарний код, ліцензованим третіми сторонами, тому Intel не змогла би +випустити джерельний код, навіть якщо вони би цього хотіли. І навіть якщо вони розробили би повністю +нову прошивку ME без стороннього пропрієтарного коду і +випустили би джерельний код, завантажувальна ROM ME відхиляла би змінену +прошивку, яка не підписана Intel. Таким чином, прошивка ME є і +безнадійно пропрієтарною, і "тивоізованою". + +**Підсумовуючи, Intel Management Engine і його програми є +лазівкою з повним доступом до та контролем над рештою ПК. +ME є загрозою свободі, безпеці та конфіденційності, і проект libreboot +наполегливо рекомендує повністю уникати цього. З останніх версій +його не можна видалити, це означає уникати всіх останніх поколінь обладнання +Intel.** + +У *вищому* параграфі йдеться про використання *повної* прошивки Intel ME, +що містить мережевий код і в особливості *Active Management +Technology* (AMT). + +Вважається, що використання утиліти `me_cleaner` мінімізує будь-який ризик безпеки, +від використання цих платформ Intel, і coreboot *містить* повністю вільний код для платформ +sandybridge/ivybridge. З точки зору свободи, вони схожі до libreboot- +сумісних ThinkPad, і це досить гарні машини. + +Більше інформації про Management Engine може бути знайдено на різноманітних веб- +сайтах, включаючи [me.bios.io](http://me.bios.io/Main_Page), +[unhuffme](http://io.netgarage.org/me/), [coreboot +wiki](http://www.coreboot.org/Intel_Management_Engine), та +[Wikipedia](https://uk.wikipedia.org/wiki/Intel_Active_Management_Technology). +Книга ***[Platform Embedded Security Technology +Revealed (Розкрито вбудовану технологію безпеки платформи)](https://www.apress.com/9781430265719)*** чудово описує в +значних подробицях архітектуру апаратного забезпечення ME та прикладні модулі мікропрограми. + +Якщо ви застрягли на ME (система не libreboot), ви можете знайти це +цікавим: + + +### Firmware Support Package (FSP) {#fsp} + +У всіх останніх системах Intel, підтримка coreboot обертається навколо +інтеграції блоба (для кожної системи) під назвою *FSP* (Firmware Support Package, пакет підтримки +мікропрограми), який обробляє всю ініціалізацію обладнання, включаючи +пам'ять та ініціалізацію ЦП. Зворотня розробка та заміна цього +блоба майже неможлива через те, наскільки він складний. Навіть для найбільш +кваліфікованого розробника, на заміну знадобяться роки. Intel розповсюджує +цей блоб серед розробників прошивки, без джерела. + +Оскільки FSP відповідає за ранню ініціалізацію обладнання, це означає, +що він також підтримує SMM (System Management Mode, режим системного керування). Це особливий +режим, який працює нижче рівня операційної системи. **Це можливо, що руткіти +можуть бути реалізовані там, які можуть виконувати ряд +атак на користувача (список нескінченний). Будь-яка система Intel, яка +має пропрієтарний блоб FSP взагалі не може бути довіреною.** Фактично, декілька +руткітів SMM було продемонстровано в природі (використайте пошукову систему, +щоб знайти їх). + +### Оновлення мікрокода ЦП {#microcode} + +Мікрокод налаштовує логічні вентилі у вашому ЦП, щоб реалізувати архітектуру +набору інструкцій. Ваш ЦП уже містить їх, але він також надає спосіб оновлення +мікрокоду під час завантаження, виправляючи помилки та значно підвищуючи +загальну надійність вашої системи. + +Мікрокод уже обговорювався дуже детально, в [політиці бінарних +блобів](news/policy.md). + +У цьому цікавому відео розповідається про те, як група людей +провела зворотню розробку мікрокода на процесорах AMD: + + + +Репозиторій git для цього проекту тут: + + + +І відео, і репозиторій дають деяку додаткову інформацію про мікрокод +ЦП. Те, як це працює на AMD, буде дуже схожим на Intel. + +### Intel не співпрацює + +Роками coreboot бореться з Intel. Виявилося, що Intel загалом +вкрай відмовляється від співпраці. Багато розробників coreboot +і компаній намагалися залучити Intel до співпраці; а саме, +випуск джерельного коду для компонентів мікропрограми. Навіть Google, що +продає мільйони *хромбуків* (з попередньо встановленим coreboot) не змогла їх +переконати. + +Навіть коли Intel співпрацює, вони все одно не надають джерельний код. +Вони можуть надавати обмежену інформацію (таблиці даних) відповідно до суворої +корпоративної NDA (угоди про нерозголошення), але навіть це не +гарантується. Навіть ODM та IBV не можуть отримати джерельний код від Intel, в +більшості випадків (вони просто інтегрують блоки, надані Intel). + +Новіші графічні чіпсети Intel [вимагають блобів +прошивки](https://01.org/linuxgraphics/intel-linux-graphics-firmwares?langredirect=1). + +Проект `libreboot` *надає* деяку підтримку для новіших платформ Intel, але +вам варто знати про ці проблемні питання, якщо ви вибираєте використовувати ці машини. + +Підводні камені свободи, які слід враховувати на апаратному забезпеченні AMD {#amd} +---------------------------------------------------------------------------- + +AMD має більш-менш ту саму проблему, що й Intel, коли справа +стосується свободи програмного забезпечення. + +### AMD Platform Security Processor (PSP) + +По суті, це власна версія [Intel Management +Engine](#intelme) від AMD. Він має ті самі базові проблеми безпеки та свободи, +хоча реалізація кардинально відрізняється. + +Процесор безпеки платформи (Platform Security Processor, PSP) вбудовано в процесори AMD, +[архітектура](https://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures) яких пізня родини 16h (Puma), Zen 17h або пізніше (а також у +графічні процесори AMD GCN 5-го покоління (Vega) або пізніше). На процесорах PSP +контролює запуск основного ядра x86. Прошивка PSP має криптографічний підпис +надійним ключем, подібно до Intel ME. Якщо вбудована прошивка PSP +відсутня або ключ підпису AMD відсутній, ядра x86 не +будуть відпущені з перезавантаження, що призведе до непрацездатності системи. + +PSP - це ядро ARM із технологією TrustZone, вбудоване в головний +процесор. Таким чином, він має можливість приховувати власний програмний код, +скидати оперативну пам'ять і будь-які дані, які він міг взяти та зберегти з +менш привілейованої системної оперативної пам'яті x86 (ключі шифрування ядра, дані входу, +історія перегляду, натискання клавіш, хто знає!). Що ще гірше, +PSP теоретично має доступ до всього простору системної пам'яті (AMD +або не буде, або не зможе заперечити це, і це, здається, потрібно, +щоб "функції" DRM могли працювати належним чином), що означає, що він має +принаймні доступ на основі MMIO до мережевих контролерів та будь-яких інших +периферійних пристроїв PCI/PCIe, встановлених у системі. + +Теоретично будь-який зловмисник, який має доступ до ключа підпису AMD міг +би встановити стійке зловмисне програмне забезпечення, яке не можливо було би викорінити +без обладнання для зовнішньої прошивки та завідомо справного образу PSP. Крім того, +у мікропрограмному забезпеченні AMD у минулому було продемонстровано численні вразливості системи безпеки, +і є всі підстави припускати, що одна або декілька вразливостей нульового дня +ховаються в мікропрограмному забезпеченні PSP. Враховуючи надзвичайний рівень +привілеїв (кільце -2 або кільце -3) PSP, зазначені уразливості матимуть +можливість віддалено відстежувати та контролювати будь-яку машину з підтримкою PSP +абсолютно поза знаннями користувача. + +Подібно до Intel Boot Guard (додаток Intel +Management Engine), PSP від AMD також може діяти як тиран, перевіряючи +підписи будь-якої завантажувальної мікропрограми, яку ви прошиваєте, унеможливлюючи заміну +завантажувальної мікропрограми (наприклад, libreboot, coreboot) на деяких платах. Ранні +неофіційні повідомлення свідчать про те, що аналог AMD boot guard буде використовуватися +на більшості апаратного забезпечення OEM, відключений лише на так званих процесорах +"ентузіастів". + +### Прошивка AMD IMC + +Прочитайте . + +ПРИМІТКА: Ця секція є застарілою, та потребує очищення. + +### Прошивка AMD SMU + +ПРИМІТКА: Ця секція є застарілою, та потребує очищення. + +Керує деякими функціями керування живленням для пристроїв PCIe (без цього ваш ноутбук +не працюватиме належним чином) і кількома іншими функціями, +пов'язаними з керуванням живлення. + +Мікропрограма підписана, хоча на старішому апаратному забезпеченні AMD це симетричний +ключ, що означає, що з доступом до ключа (у разі витоку) ви можете підписати +свою власну модифіковану версію та запустити її. Рудольф Марек (хакер coreboot) +дізнався, як видобути цей ключ [у цій відео +демонстрації](https://media.ccc.de/v/31c3_-_6103_-_en_-_saal_2_-_201412272145_-_amd_x86_smu_firmware_analysis_-_rudolf_marek), +і на основі цієї роботи, Демієн Замміт (інший хакер coreboot) +[частково замінив її](https://github.com/zamaudio/smutool/) вільною +прошивкою, але у відповідній системі (ASUS F2A85-M) все ще були присутні +інші блоби (Відео BIOS та інші). + +### Прошивка AMD AGESA + +ПРИМІТКА: Більше має бути написано про це, щоб відобразити сучасну реальність. +Ситуація з AMD в останні роки змінилась. Інформація на цій сторінці поширених +запитань застаріла кілька років тому. + +Це відповідає практично за всю ініціалізацію основного обладнання в +сучасних системах AMD. У 2011 році AMD почала співпрацювати з проектом coreboot, +випустивши це як джерельний код під вільною ліцензією. В 2014 році +вони припинили випускати джерельний код і замість цього почали випускати AGESA у вигляді +бінарних блобів. Це робить AGESA еквівалентом [Intel FSP](#fsp). + +### Оновлення мікрокоду ЦП AMD + +Прочитайте розділ Intel +практично так само, хоча було виявлено, що з набагато пізнішим апаратним забезпеченням +AMD можна працювати без оновлень мікрокоду. Невідомо, чи потрібні оновлення на всіх +платах AMD (залежить від ЦП). + +Проект libreboot не розцінює оновлення мікрокоду проблемою, і він +вмикає їх за замовчуванням на всьому апаратному забезпеченні, +яке підтримується. + +### AMD не співпрацює + +Здавалося, що AMD була на правильному шляху в 2011 році, коли вони почала +співпрацювати та випускати джерельний код для кількох критичних +компонентів для проекту coreboot. Цьому не було бути. З так званих +економічних причин вони вирішили, що більше не варто витрачати час на інвестування +в проект coreboot. На жаль, вони навіть не поділилися джерельним +кодом бібліотеки AGESA для архітектур сімейства 15h Steamroller/Excavator +(які, як і попередні fam15h Bulldozer/Piledriver, не +мають PSP) і випустили його для проекту coreboot лише як двійковий файл. + +Перехід компанії від такої хорошої до такої поганої лише за 3 роки +свідчить, що з AMD щось серйозно не так. Подібно Intel, вони +не заслуговують ваших грошей. + +Враховуючи поточний стан апаратного забезпечення Intel з Management Engine, ми +вважаємо, що все продуктивне апаратне забезпечення x86, новіше, ніж ЦП AMD +Family 15h (на стороні AMD) або будь-яке інше, випущене після 2009 року на стороні Intel +є дефектним за своєю конструкцією і не може бути безпечно використаним для зберігання, передачі +або обробки конфіденційних даних. Конфіденційні дані - це будь-які дані, у яких +порушення може завдати значної економічної шкоди суб'єкту, який створив +або був відповідальний за збереження цих даних, тому це включатиме банки, +компанії, що видають кредитні картки, або роздрібних продавців (записи рахунків клієнтів), в +додаток до "звичайних" інжинірингових фірм та фірм з розробки програмного забезпечення. +Це також стосується викривачів або будь-кого, кому потрібна справжня конфіденційність та +безпека. + +Привіт, у мене <вставте сюди випадкову систему>, чи підтримується вона? +-------------------------------------------------------------------------------------------------------- + +Якщо вона підтримується coreboot, ви можете додати її негайно. +Прочитайте [посібник з перенесення](/docs/maintain/porting.html) про перенесення нової плати. +Якщо ви здатні згенерувати працюючу ROM для своєї системи, будь-ласка, +прочитайте [керівництво по експлуатації lbmk](docs/maintain/) про додавання її до libreboot. + +Якщо в coreboot бракує підтримки для вашого апаратного забезпечення, ви мусите додати підтримку для нього. +Будь-ласка, проконсультуйтесь з проектом coreboot для наставництва. + +Загальні питання +================= + +Як встановити libreboot? +------------------------------------------------------- + +Подивіться [посібник з встановлення](docs/install/) + +Як запрограмувати флеш-чіп SPI? +--------------------------------------------------------------------------------- + +Зверніться до:\ +[Зовнішній перезапис 25xx NOR flash через протокол SPI](spi.md) + +Можна використовувати 16-контактний затискач SOIC на 8-контактній мікросхемі SOIC, якщо +правильно впорядкувати контакти. Як правило, з'єднання більш міцне. + +Як захистити флеш-чіп від запису? +---------------------------------------------------------------------------- + +За замовчуванням немає захисту від запису на системі libreboot. Це +з міркувань зручності використання, оскільки більшість людей не мають легкого доступу до зовнішнього +програматора для перепрошивання їх мікропрограми, або вони знаходять +незручним використання зовнішнього програматора. + +У деяких системах можна захистити мікропрограму від запису, щоб вона +була доступна лише для читання на рівні ОС (зовнішнє перепрошивання все ще +можливе за допомогою спеціального обладнання). Наприклад, на сучасних ноутбуках GM45 +(таких як, ThinkPad X200, T400) можна захистити від запису (див. +[утиліту ICH9 gen](docs/install/ich9utils.md#ich9gen)). + +Захист від запису можна встановити на всіх системах libreboot, але інструкції +потрібно написати. Документація знаходиться в основному репозиторії git, тому ви можете +надсилати виправлення, додаючи ці інструкції. + +ЗРОБИТИ: Задокументувати захист флеш-пам'яті на основі PRx на платформах Intel і дослідити інші +методи на системах AMD. + +Як змінити налаштування BIOS? +------------------------------------------------------------------------ + +Більшість налаштувань libreboot насправді використовує [корисне навантаження +GRUB](http://www.coreboot.org/GRUB2). Більше інформації про корисні навантаження +може бути знайдено на +[coreboot.org/Payloads](http://www.coreboot.org/Payloads). SeaBIOS також +доступний. Конфігурацію *CMOS* жорстко закодовано в libreboot. + +Проект libreboot успадковує модульну концепцію корисного навантаження від coreboot, що +означає, що програми *налаштування BIOS* не дуже +практичні. Coreboot (та libreboot) включає утиліту, названу +*nvramtool*, яка може бути використана для зміни деяких налаштувань. Ви можете знайти +nvramtool у *coreboot/util/nvramtool/*, в архівах джерельного коду +libreboot. + +Параметр *-a* у nvramtool покаже список доступних параметрів, і *-w* +може бути використано для їх зміни. Зверніться до документації nvramtool на +coreboot вікі для більшої інформації. + +На практиці, у більшості випадків, вам не потрібно змінювати жодні з цих +налаштувань. + +Налаштування libreboot за замовчуванням блокують таблицю CMOS, щоб забезпечити узгоджену функціональність +для всіх користувачів. Ви можете використовувати: + + nvramtool -C вашаROM.rom -w деякеналаштування=деякезначення + +Щоб отримати повний список доступних опцій, зробіть це: + + nvramtool -C вашаROM.rom -a + +Це змінить за замовчуванням всередині образа ROM, і потім ви можете +перепрошити його. + +Як заповнити ROM перед перепрошивкою? +-------------------------------------- + +Бажано просто використовувати більший образ ROM. Цей розділ був написаний здебільшого для +материнських плат ASUS KCMA-D8 та KGPE-D16, де раніше ми надавали +тільки образи ROM розміром 2 MБ у libreboot, але тепер ми надаємо образи ROM розміром 16 МБ. +Інші розміри не надаються, оскільки на практиці хтось, оновлюючи один із +цих чіпів, використовуватиме лише 16 МБ. Доступні більші розміри, але 16 МБ +це максимум, який ви можете використати на всіх підтримуваних системах libreboot, які +використовують флеш-пам'ять SPI. + +Необхідно для ROM, де образ ROM менший за флеш-чіп +(наприклад, запис 2 МБ ROM на флеш-чіп 16 МБ). + +Створіть порожній (00 байти) файл із різницею розміру між +ROM та флеш-чіпом. Випадок вище, наприклад: + + truncate -s +14MiB pad.bin + +Для бездескрипторних x86 образів потрібно додавати *з початку* ROM: + + cat pad.bin вашrom.rom > вашrom.rom.new + +Для ARM та x86 з intel flash descriptor, вам потрібно додавати після образу: + + cat вашrom.rom pad.bin > вашrom.rom.new + +Прошийте отриманий файл. Зауважте, що cbfstool не зможе працювати +з образами, доповненими таким чином, тому обов'язково внесіть усі зміни до образу, включаючи +конфігурацію середовища виконання, перед доповненням. + +Щоб видалити заповнення, наприклад, після зчитування його з флеш-чіпа, +просто скористайтеся dd(1), щоб вилучити лише незаповнену частину. Продовжуючи +наведені вище приклади, щоб видобути ROM без дескрипторів 2 МБ x86 із доповненого +образа 16 МБ, виконайте наступне: + + dd if=flashromread.rom of=вашrom.rom ibs=14MiB skip=1 + +Після видалення заповнення cbfstool зможе працювати із образом як зазвичай. + +Чи потрібно встановлювати завантажувач під час встановлення дистрибутива? +--------------------------------------------------------------------------------------------------- + +Більшість налаштувань libreboot уже інтегрують завантажувач GRUB як +*[корисне навантаження](http://www.coreboot.org/Payloads)*. Це означає, що завантажувач GRUB +фактично *прошивається* як частина завантажувальної прошивки +(libreboot). Це означає, що вам не потрібно встановлювати завантажувач на +HDD або SSD під час встановлення нового дистрибутива. Ви зможете нормально завантажитися, +використовуючи завантажувач (GRUB), який знаходиться у мікросхемі флеш-пам'яті. + +Це означає, що навіть якщо ви виймете жорсткий диск або твердотільний накопичувач, у вас всеодно +буде встановлено функціонуючий завантажувач, який можна використовувати для завантаження програми +встановлення дистрибутива з флеш-пам'яті USB. Див. +[Як інсталювати GNU+Linux у системі libreboot](../docs/gnulinux/grub_boot_installer.md) + +В даний час також передбачені інші корисні навантаження. Якщо ви використовуєте корисне навантаження SeaBIOS, +тоді на вашому HDD або SSD використовується звичайний завантажувальний сектор MBR, як і слід було +очікувати. Отже, наведені вище параграфи стосуються лише корисного навантаження GNU GRUB. + +Чи потрібно мені перепрошивати, коли я перевстановлю дистрибутив? +------------------------------------------------------------------------------------------- + +Більше ні. Останні версії libreboot (з використанням корисного навантаження GRUB) +автоматично переключатимуться на конфігурацію GRUB на HDD або SSD, якщо +існує. Ви також можете завантажити іншу конфігурацію GRUB з будь-якого пристрою, який підтримується +GRUB (наприклад, флеш-накопичувач USB). Для +більшої інформації див. +[Змінення конфігурації GRUB в системах libreboot](../docs/gnulinux/grub_cbfs.md) + +Якщо ви використовуєте корисне навантаження SeaBIOS, це ще простіше. Це працює так, як ви +очікували. SeaBIOS реалізує звичайний інтерфейс x86 BIOS. + +Як виглядає флеш-чіп? +----------------------------------------------------------------- + +Ви можете знайти фотографії різних видів чипів на наступній сторінці:\ +[Керівництво зовнішньої прошивки 25xx NOR](docs/install/spi.md) + +Неможливість виконати modprobe thinkpad\_acpi на Haswell +=============================================== + +Про це повідомив користувач, який використовує Debian 11 з +ядром `5.19.0-0.deb11.2-amd64`. Модуль `thinkpad_acpi` не завантажувався +з таким повідомленням: + +``` +modprobe: ERROR: could not insert 'thinkpad_acpi': "No such device" +``` + +Інформація про батарею в `/sys` була відсутньою, по цій причині. Користувач повідомив, що +наступний обхідний шлях був ефективним (в Debian). + +Додайте цей рядок до `/etc/modprobe.d/thinkpad_acpi.conf`: + +``` +options thinkpad_acpi force_load=1 +``` + +tlp +--- + +Ви можете встановити пакет `tlp` та розпочати той сервіс. Наприклад, на +Debian: + +``` +apt-get install tlp tlp-rdw +systemctl enable tlp +systemctl start tlp +``` + +Тепер прочитайте документацію: + +``` +man tlp-stat +``` + +Від імені root, ви можете зробити: + +``` +tlp-stat -b +``` + +Це надасть інформацію про батарею. + +Яке ще мікропрограмне забезпечення існує за межами libreboot? +================================================== + +Ви можете також прочитати інформацію про цих в [політиці мінімізації бінарних блобів +libreboot](news/policy.md), де вона розповідає в більших подробицях про деяких із +них. + +### Зовнішні графічні карти + +Відео BIOS наявний на більшості графічних карт. Для інтегрованої графіки +VBIOS (спеціальний вид OptionROM) зазвичай вбудовано +в основну завантажувальну прошивку. Для зовнішньої графічної карти VBIOS зазвичай +на самій графічній карті. Він зазвичай пропрієтарний; єдина +різниця в тому, що SeaBIOS може виконати це (як варіант, ви вбудовуєте це +в образ ROM coreboot і coreboot виконує його, якщо у вас +інше корисне навантаження, таке як GRUB). + +*Проект coreboot* надає вільний код ініціалізації, на багатьох платах, і +libreboot буде використовувати цей код, коли він наявний, в залежності від конфігурації. + +В конфігураціях, де SeaBIOS і власна ініціалізація GPU використовуються разом, +додається спеціальна прокладка VBIOS, яка використовує лінійний кадровий буфер coreboot. + +### Прошивка EC (вбудований контролер) + +Це є у більшості (всіх?) ноутбуків. EC (вбудований контролер) - це невеликий, +окремий процесор, який в основному обробляє вхідні/вихідні дані, характерні +для ноутбуків. Наприклад: + +- Коли ви натискаєте перемикач увімкнення/вимкнення радіо, EC увімкне/вимкне + бездротові пристрої (wifi, bluetooth і так далі) і ввімкне/вимкне + світлодіод, який вказує, чи це увімкнено, чи ні. +- Слухає іншу мікросхему, яка виконує вимірювання показників температури, налаштовуючи + швидкість вентилятора відповідним чином (або вмикає/вимикає вентилятор). +- Отримує певні введення з клавіатури, напр. збільшення/зменшення яскравості, + збільшення/зменшення гучності. +- Визначати, коли кришка закрита або відкрита, і надсилати сигнал, що + вказує на це. +- Тощо. + +EC присутній ледь не на всіх ноутбуках. Інші пристрої використовують, залежно від складності, +або EC, або варіант із прошивкою в Mask ROM - SuperIO. + +### Прошивка HDD/SSD + +Жорсткі диски та твердотільні накопичувачі містять вбудоване програмне забезпечення, +призначене для обробки внутрішньої роботи пристрою, водночас відкриваючи простий, стандартний інтерфейс (наприклад, +AHCI/SATA), який програмне забезпечення ОС може використовувати, як правило. Ця прошивка є невидимою +для користувача накопичувача. + +Жорсткі диски та твердотільні накопичувачі є досить складними, і сьогодні містять досить складне +обладнання, яке навіть здатне запускати цілу операційну систему (під цим ми маємо +на увазі, що сам диск здатний запускати свою власну вбудовану ОС), навіть +GNU+Linux або BusyBox/Linux. + +SSD та HDD є особливим випадком, оскільки вони є постійними пристроями зберігання, +а також комп'ютерами. + +Приклад атаки, яку може здійснити зловмисне програмне забезпечення: заміна ваших ключів SSH, +що дозволяє невідомому зловмиснику неавторизований віддалений доступ. Або, можливо, +підміна ваших ключів GPG. Диски SATA також можуть мати DMA (через +контролер), що означає, що вони можуть читать з системної пам'яті; +теоретично диск може мати власне приховане сховище, де він міг би читати ваші ключі +LUKS і зберігати їх у незашифрованому вигляді для майбутнього вилучення +загрозою. + +З належним IOMMU та використанням USB замість SATA можна було б пом'якшити +будь-які проблеми, пов'язані з DMA, які можуть виникнути. + +Було продемонстровано деякі докази концепцій. Для HDD: + Для SSD: + + +Про існування життєздатної вільної заміни прошивки наразі невідомо. Для +SSD проект +[OpenSSD](http://www.openssd-project.org/wiki/The_OpenSSD_Project) +може бути цікавим. + +Очевидно, диски SATA самі по собі не мають DMA, але можуть використовувати його +через контролер. Це + +(сторінки 388-414, 420-421, 427, 446-465, 492-522, 631-638) і це + +(сторінки 59, 67, 94, 99). + +Наступне засновано на дискусії з Пітером Стьюджем (CareBear\\) в +каналі IRC coreboot в п'ятницу, 18 вересня 2015 року, під час +дослідження того, чи може сам диск SATA використовувати DMA. Наступне +базується на таблицях даних, посилання на які наведено вище: + +Згідно з цими приведеними документами, тип FIS 39h - це *"DMA Activate FIS +- Device to Host"*. У ньому згадується *"передача даних від хоста до +пристрою, і далі сказано: після отримання DMA Activate, +якщо контролер DMA адаптера хоста було запрограмовано та увімкнено, адаптер +хоста ініціює передачу Data FIS і передасть +в цьому FIS дані, які відповідають регіонам пам'яті хоста, вказані +контекстом контролера DMA."* FIS - це одиниця протоколу (Інформаційна +структура кадру, Frame Information Structure). Базуючись на цьому, здається, що накопичувач може повідомити +контролеру хоста, що він хоче, щоб відбувся DMA, але допоки програмне забезпечення хоста +не налаштувало або не хотітиме в майбутньому налаштувати передачу DMA, +нічого не відбудеться. **Диск також може відправити DMA Setup**. Якщо DMA +Setup FIS відправлено першим, з встановленим бітом Auto-Activate, тоді це +вже налаштовано, і диск може ініціювати DMA. Далі в документі йдеться +*"Отримавши DMA Setup, одержувач FIS повинен +перевірити отриманий запит на DMA Setup."* - іншими словами, хост +повинен перевірити; але, можливо, тут є помилка. Далі в документі +сказано *"Конкретна реалізація ідентифікатора буфера +та перевірки буфера/адреси не визначена"* - тому ніхто +насправді не буде турбуватися. *"отримувач FIS"* - у випадку, який ми +розглядаємо, це обладнання хост-контроллера в чіпсеті та/або +драйвер ядра (швидше за все, драйвер ядра). Всі пристрої SATA мають +мікропрограму, з можливістю оновлення флеш-пам'яті, +яку зазвичай можна оновити, запустивши програмне забезпечення у вашій ОС; **зловмисне ПЗ, запущене від імені root, +може оновити цю мікропрограму, або мікропрограма +вже може бути шкідливою**. Ваш жорсткий диск або SSD є ідеальним місцем для зловмисника, +щоб встановити зловмисне програмне забезпечення, оскільки це постійний пристрій зберігання даних, +а також комп'ютер. + +Виходячи з цього, можна з упевненістю сказати, що використання USB замість SATA є +доцільним, якщо питання безпеки викликає занепокоєння. USB 2.0 має достатню пропускну здатність +багатьох жорстких дисків (декілька високоякісних дисків можуть використовувати більшу пропускну здатність, ніж USB 2.0), +але для SSD це може бути проблематично (якщо ви не використовуєте +USB 3.0, який ще не можна використовувати в свободі. Подивіться + +Використання USB також не є абсолютною гарантією безпеки, тому будьте обережні. +Поверхня для атаки стає набагато меншою, але шкідливий накопичувач все одно може +спробувати здійснити "фуззингову" атаку (наприклад, надсилання некоректних USB- +дескрипторів, завдяки чому було зламано DRM тиранію Playstation 3, +щоб користувачі могли запускати власну операційну систему та запускати +непідписаний код). (Ви, мабуть, у безпеці, якщо немає недоліку безпеки +в USB-бібліотеці/драйвері, який використовує ваша ОС. USB зазвичай вважається +одним із найбезпечніших протоколів, саме тому, що USB-пристрої не мають DMA) + +Інші посилання: + +- + +Рекомендовано використовувати повне шифрування диска на жорстких дисках, +підключених через USB. У мережі є кілька адаптерів, які дозволяють підключати жорсткі диски +SATA через USB, і проект Libreboot здатний завантажуватись з них +звичайним чином. Проконсультуйтесь з документацією для вашої операційної системи Linux/BSD, +щоб знати те, як встановити їх з *повнодисковим шифруванням*: + + +Поточна теорія (недоведена) полягає в тому, що це принаймні запобіжить +зловмисним дискам неправильно маніпулювати даними, які зчитуються з диска +або записуються на диск, оскільки він не може отримати доступ до вашого ключа LUKS, +якщо він знаходиться лише в оперативній пам'яті, за умови що жорсткий диск не має DMA (USB-пристрої не +мають DMA). Найгірше, що він може зробити в цьому випадку, це знищити ваші дані. +Звичайно, ви повинні переконатися, що ніколи не розміщуєте ключові файли в заголовку LUKS. +**Сприймайте сказане в цьому абзаці з дрібкою солі. Це все ще обговорюється +і нічого з цього не доведено.** + +### NIC (контролер ethernet) + +Мережеві карти Ethernet зазвичай запускають вбудоване програмне забезпечення, яке відповідає +за внутрішню ініціалізацію пристрою. Теоретично його можна налаштувати +на відкидання пакетів або навіть їх модифікацію. + +З належним IOMMU можна було би пом'якшити проблеми, пов'язані з DMA. +Також можна використовувати мережевий адаптер USB, який не має DMA. + +### Мікрокод процесора + +Мікрокод налаштовує масиви логічних вентилів у мікропроцесорі для реалізації +архітектури набору інструкцій. Спеціальні *декодери* в мікропроцесорі налаштують +схему на основі цього мікрокоду. + +[Політика зменшення блобів libreboot](news/policy.md) докладно описує +мікрокод. + +### Звукова карта + +Звукове обладнання (інтегроване чи дискретне) зазвичай має вбудоване програмне забезпечення +(DSP) для обробки введення/виведення. Знову ж таки, USB DAC є хорошим +обхідним шляхом. + +### Веб-камера + +Веб-камери мають вбудоване програмне забезпечення, яке обробляє зображення, що вводиться +в камеру; налаштування фокуса, балансу білого тощо. Можна використовувати апаратне забезпечення +веб-камери USB, щоб вирішити можливі проблеми DMA; інтегровані веб-камери +(наприклад, на ноутбуках) не рекомендовані проектом libreboot з +міркувань безпеки. + +### Хост-контролер USB + +Хост-контролери USB потребують мікропрограми. Іноді це потрібно надати +самому coreboot. + +### Прошивка WWAN + +Деякі ноутбуки можуть мати пристрій для зчитування SIM-карт із карткою для роботи з +WWAN, підключення до мережі 3g/4g (наприклад, GSM). Це та +сама технологія, яка використовується в мобільних телефонах для віддаленого доступу до мережі (наприклад, +інтернет). + +ПРИМІТКА: не плутати з wifi. Wifi - це інша технологія, яка +абсолютно не пов'язана з нею. + +Процесор базової смуги всередині мікросхеми WWAN матиме власну вбудовану +операційну систему, швидше за все, пропрієтарну. Використання цієї технології також +передбачає ті ж проблеми конфіденційності, що й у випадку з мобільними телефонами (віддалене відстеження +за допомогою мережі GSM, шляхом тріангуляції сигналу). + +На деяких ноутбуках ці карти використовують USB (внутрішньо), тому не матимуть DMA, +але це все одно є великою проблемою свободи та конфіденційності. Якщо у вас є +внутрішній чіп/карта WWAN, проект libreboot рекомендує вимкнути та +(в ідеалі, якщо можливо) фізично видалити апаратне забезпечення. Якщо вам абсолютно +необхідно використовувати цю технологію, зовнішній USB-адаптер набагато +кращий, оскільки його можна легко вийняти, коли він вам не потрібен, тим самим +вимикаючи будь-які зовнішні об'єкти від відстеження вашого місцезнаходження. + +Рекомендується використовувати ethernet або wifi, на відміну від мобільних мереж, +оскільки вони, як правило, набагато безпечніші. + +Операційні системи +================= + +Чи я можу використовувати GNU+Linux? +-------------------------------------------------- + +Абсолютно! Він добре перевірений в libreboot, та дуже рекомендований. Подивіться +[встановлення GNU+Linux](../docs/gnulinux/grub_boot_installer.md) та +[запуск GNU+Linux](../docs/gnulinux/grub_cbfs.md). + +Будь-який сучасний дистрибутив має працювати, допоки він використовує KMS (kernel mode +setting) для графіки. + +Fedora не завантажується? (також може бути застосовано до Redhat/CentOS) +----------------------------------------------------------- + +У Fedora типово grub.cfg намагається завантажити linux в 16-розрядному режимі. +Вам просто потрібно змінити конфігурацію GRUB Fedora. +Зверніться до [сторінки GNU+Linux](docs/gnulinux/). + +Чи я можу використовувати BSD? +---------------------------------- + +Абсолютно! Прошивка libreboot має добру підтримку для FreeBSD, NetBSD та +OpenBSD. Інші системи не перевірені, але мають працювти нормально. + +Дивіться: +[docs/bsd/](docs/bsd/) + +Чи підтримуються інші операційні системи? +------------------------------------------------------------------- + +Невідомо. Можливо, але неможливо сказати без подальшого випробовування. + +Який рівень програмної свободи дає мені libreboot? +=================================================== + +Будь-ласка, прочитайте [політику мінімізації бінарних блобів libreboot](news/policy.md). + +Прошивка libreboot надає ініціалізацію апаратного забезпечення хоста всередині файлів ROM, +що може бути записано на флеш NOR, але на багатьох системах існує +набагато більше маленьких комп'ютерів на материнській платі, виконуючих двійкові прошивки. +Деякі з них неможливо замінити через те, що вони розташовані на Mask ROM. +Наприклад, більшість ноутбуків мають вбудоване програмне забезпечення EC (вбудований контролер). + +Крім самого програмного забезпечення (вбудованого в ROM чи ні), більшість апаратного забезпечення +(від мікросхем до друкованих плат) не випускається за ліцензіями з відкритим джерелом. +У нас немає жодного пристрою, який можна вважати на "100% вільним", +і таких абсолютів майже неможливо досягти. + +Відомі пропрієтарні блоби (неповний список): + +* Всі пристрої + * Прошивка жорсткого диска SATA/PATA/оптичного дисковода + ([часто має потужний, заснований на ARM комп'ютер]( + http://spritesmods.com/?art=hddhack&page=1)) + * Флеш-накопичувачі та будь-які периферійні USB-пристрої - вони містять комп'ютер + із запущеним кодом, щонайменше, для обробки протоколу USB +* ThinkPad: + * Прошивка EC (H8S до включаючи Sandy Bridge, пізніше заснований на ARC MEC16xx) + * Прошивка TrackPoint (8051) + * Пристрої Penabled містять мікроконтролер µPD78F0514 на підплаті wacom, + і Atmega (AVR) на світлодіодному індикаторі/платі кнопок + * BMS акумулятора, bq8030 (CoolRISC C816) +* Хромбуки C201PA/C100PA: + * BMS акумулятора, bq30z55 + * Тачпад Elan + * Прошивка [контролера флеш-пам'яті](https://en.wikipedia.org/wiki/Flash_memory_controller) eMMC + +Одного дня ми житимемо у світі, де будь-хто зможе виготовити власні чіпи, включаючи +процесори, а також будь-які інші типи мікросхем. Зусилля зробити домашнє виробництво чіпів реальністю +зараз знаходяться в зародковому стані, але такі зусилля +існують, наприклад, робота, виконана Семом Зелофом і проектом Libre Silicon: + +* +* +* + +(Сем буквально робить процесори в своєму гаражі) + +Де я можу вивчати більше про електроніку +========================================== + +* Основи пайки та переробки від PACE + Обидві серії відео є обов'язковими незалежно від ваших навичок паяння. + * [Базове паяння](https://yewtu.be/playlist?list=PL926EC0F1F93C1837) + * [Переробка та ремонт](https://yewtu.be/playlist?list=PL958FF32927823D12) + Наведені вище серії PACE охоплюють класичні методи, але не стосуються + *сучасної* електроніки. Для цього дивіться: + * [Уроки мікропайки iFixit із Джессою + Джонс](https://yewtu.be/playlist?list=PL4INaL5vWobD_CltiZXr7K46oJ33KvwBt) + * Також перегляньте посилання на youtube нижче, особливо відео Луї Россмана, щоб дізнатися + (набагато) більше. +* [Курс edX з основ електроніки](https://www.edx.org/course/circuits-and-electronics-1-basic-circuit-analysi-2) + У більшості країн зміст цього курсу розглядається в середній та старшій + школі. Це також добре послужить, щоб освіжити вашу пам'ять, + якщо ви з тих пір не користувались цими знаннями. +* Вступ до імпедансу + * [Подібності в поведінці хвиль](https://yewtu.be/watch?v=DovunOxlY1k) + * [Відбиття в лінії передачі](https://yewtu.be/watch?v=y8GMH7vMAsQ) + * Заглушки: + * [Стаття на Вікіпедії про заглушки](https://en.wikipedia.org/wiki/Stub_(electronics)) + * [Стаття Polar Instruments про заглушки](http://www.polarinstruments.com/support/si/AP8166.html) + З зовнішньої прошивкою SPI ми дбаємо лише про заглушки непередбачених друкованих плат +* [Як точно виміряти крок конектора](https://www.microcontrollertips.com/accurately-measure-headerconnector-pitch/) +* Інші YouTube-канали з корисним контентом про електроніку + * [EEVblog](https://yewtu.be/channel/UC2DjFE7Xf11URZqWBigcVOQ) + (загалом про електроніку, огляди обладнання і так далі, деякі + відео ремонту) + * [Луї Россман](https://yewtu.be/channel/UCl2mFZoRqjw_ELax4Yisf6w) + (пропаганда права на ремонт, багато відео про ремонт macbook) + * [mikeselectricstuff](https://yewtu.be/channel/UCcs0ZkP_as4PpHDhFcmCHyA) + * [bigclive](https://yewtu.be/channel/UCtM5z2gkrGRuWd0JQMx76qA) + * [ElectroBOOM](https://yewtu.be/channel/UCJ0-OtVpF0wOKEqT2Z1HEtA) + (він підриває речі та показує, як цього не робити) + * [Jeri Ellsworth](https://yewtu.be/user/jeriellsworth/playlists) + (має відео, що показує як виготовити *транзистор* самостійно) + * [Sam Zeloof](https://yewtu.be/channel/UC7E8-0Ou69hwScPW1_fQApA) + (Сем буквально робить процесори в своєму гаражі, натхненний роботою Джері Еллсуорт + з транзисторами) + * [iPad Rehab with Jessa Jones](https://yewtu.be/channel/UCPjp41qeXe1o_lp1US9TpWA) + (дуже точна пайка. вона займається ремонтом мобільних телефонів і подібного, про що + також йдеться в серії iFixit про ремонт компонентів) +* Файли Boardview може бути відкрито в [OpenBoardview](https://github.com/OpenBoardView/OpenBoardView), +що є вільним програмним забезпеченням під ліцензією MIT. + +Використання `yt-dlp` (покращеного відгалудження `youtube-dl`) рекомендовано для посилань +на `youtube.com`. Дивіться: + +Нарешті найважливіше повідомлення для всіх, хто починає це чудове нове хобі - [Секрет вивчення електроніки](https://yewtu.be/watch?v=xhQ7d3BK3KQ)