Дарк дивний. Дарк купляти хромбук, щоб знести кхєрам звідти хромоось і вгатити щось нормальне. Боги, що може бути простіше, ніж встановити лінукс на ноутбук, правда?.. Правда, ж? Oh, gods, have mercy on our rotting souls…
Короткий дисклеймер: на жаль, деякі фотографії та скріни були втрачені в процесі. Дарк обіцяє наступний раз бути уважнішим.
Вітаємо в світі розчарувань: хромбуки поголовно йдуть з персональною firmware (яка ще зверху закрита write protection, щоб поскладнити її модифікацію). Ця фірмварь не дасть просто так взяти і перезаписати системне сховище. Що робити? Залити kustom фірмварь і сподіватись на краще. А щоб залити, треба обійти write protection. Окей, гугл.
Знайдено чарівний ресурс https://mrchromebox.tech/ який має вичерпну документацію, що ж з цим можна зробити. Спочатку йдемо в таблицю девайсів, шукаємо нашу залізяку (asus cx34 в нашому випадку), шукаємо… Шукаємо… І знаходимо! Що саме? А те що у нас є підтримка як RW_LEGACY так і повна UEFI ROM Firmware. В чому між ними різниця? Перша - це про дуалбут (це коли у вас дві операційні системи стоять паралельно), вона не потребує багато танців з бубном але й хромоось себе видалити не дасть і далі буде отруювати й без того невелике сховище своєю присутністю. Тому наш шлях номер два - повна заміна фірмтварі й цілковитий геноцид хромоосі, а втрата гарантії - невелика ціна за свободу. Який там метод обходу захисту фірмварі? SuziQ… Упс.
SuziQable або CCD кабель (closed-case debugging) - специфічний usb-c кабель, який дозволяє виконувати дуже специфічні маніпуляції з хромобуці, які характерні для відлатки та розробки самого хромбука. В тому числі - відкрити фірмтварь на перезапис. Дістаємо картку, шукаємо магазин, де замовити… І знаходимо схему розпайки male USB-C, щоб зробити SuziQ самостійно, бо готових вже не продають. От така х… радість, малята. Картку далеко не ховаємо, бо резистори і макетка теж грошей коштують. Два дні, привіт від магазину електроніки, коробка в моїх кривих руцях. Ви на цей червоний жертвенний кабель не дивіться, він свою роль в цій трагедії так і не зіграє.
(Перший набір)
Паяльник нагрівся, припій в руках, почервоніння в очах, флюс всюди окрім там де треба… Процес йшов десь до цього моменту. Настав час різати кабель, а там… Опльотка з лаком замість ізоляції - саме те, що треба для і без того майже закорочених контактів. Від щастя на обличчі Дарка не просто молоко скисне, а ще й шпалери пожовтіли…
(перший кабель)
Пробач мій пульт, але беремо твій рідний кабель і чікі-брікі - о, тут нормально, можна працювати. Але не довго, бо по суті та ж біда - занадто мало місця для занадто дофіга кабелів…
(другий кабель)
Окей, відпаюємо все, нарізаємо проводку так щоб на кожен контакт йшов лише по одному кабелю, збираємо цього кракена в повітрі (обов’язково пролюблюємо розмір термоусадки, без цього ніяк), підкидаємо контакти з жертвенного юсб кабеля - вуа-ля, тепер якось зійшлось. Чи є це адекватний спосіб? Звісно ні, але Дарк нікому і не обіцяв, що він буде робити нормально. Не робіть, як Дарк.
(напів кракен) (перший кракен)
Робимо smoke тест з використанням esp32. Чому? Бо коштує копійки, але виявити, що десь коротке замикання вистачить. Синій дим не злякався і не намагався вибігти з плати, значить кабель не настільки й поганий.
(стм32)
Тепер діло за малим: бекап всіх життєвоважливих даних з ноута, перевід його в дев режим, що вже видалить те що ми бекапили, після цього вже нічого не страшно - згорить то й згорить, нічого не поробиш.
Що ж, починаємо це грьобане казино, а то я вже зачекався свого програшу. Про Дарка взагалі мовчу. Вимикаємо, світло погасло в очах, затискаємо Esc+F2 (там де воно мало б бути), врубаємо. Привіт, так, я хочу в девмод, так я ідіот, так, бутайся в девмод. Після чого ще раз підтверджуємо, що ми дійсно хочемо завантажитись в девмод і воно почалось. Дивно, що не запропонували розписатись кровью на згоді. Тай таке.
Хромоось вітає мене, як нового користувача не здогадуючись, що вона вже приречена. Ліземо в термінал місцевою варіацією CTRL+ALT+F2, настав час вимкнути захист на запис на рівні заліза, щоб рухатись далі. Запускаємо gctool, граємо в веселу гру “натисни кнопку живлення” надцять разів.
(powerplay)
На успіху машинка сама пішла в ребут, повторюємо активацію девмода, знову в шел. Так, що там по інструкціям… Ага, настав час попаяного кракена! Дивиться ще, який красень:
(кракен №2)
Втикаємо в один порт…Кхм…Нічого не видно. Перетикаємо догори-дригом, бо все ж специфічна розпайка резисторів натякують на несиметричність. Знов нічого. Дивина. З іншим портом та сама петрушка. Ще раз читаємо інструкцію по розпіновці. Все таки радять високоточні резистори… Ну беть, давайте спробуємо замовити і переробити.
Проходить всього кілька символів тексту, як у нас кракен 2.0, тепер з резисторами ціною в кілограм звичайних.
І так, момент істини… Ні-чо-го. Якого хєра? Дарк вже починає тягтись до телефона, щоб дзвонити в дурку. Ледве спинив. На фоні емоційного meltdown, спробував від’єднати батарею і повторити маніпуляції з gctool. Нічого не зрозуміло, але мотивація поставити крапку в цій історії оцеглинити хромбуком зашкалювала, премо далі. Що у нас далі? Заливка фірмтварі скриптом, цікава.
(меню скріпта - спробувати залити на ноут і подивитись)
Насправді я тут планував вже робити дуалбут, бо все ж шкода хорошу залізяку. Зливаємо скрипт, запускаємо…Воно пропонує зняти програмний захист від запису, звісно погоджуємось. Але щось мене стукнуло і в цій менюшці я тикнув Full UEFI.
Ця дурна посмішка, коли ви зробили дурню, ви знаєте що зробили дурню, але ви як хворий чекаєте наслідків. Головна причина чому я люблю айтішку в одному реченні. Процес закінчився, бутається і… ТА НЕ МОЖЕ БУТИ! Ми бачимо ось оце
(coreboot)
Очам своїм не вірю, Дарк теж не повірив, але в дурку вже дзвонити не збирається. Відбувається якась магія, але рука потягнулась за флешкою… Запускаємо інсталятор openSUSE, ну такі майже перемога, я б сказав навіть потужна. Але знайшли прикрість у вигляді що диску не видно. Що? Вибачте, я своїми діями такі вшатав залізяку? Виглядає можливим, хоча й малоймовірним.
Крок наступний, Arch Linux, вже третій рік намагаюсь з неї злізти, але кожен раз вона рятує мені дупцю тим чи іншим чином. Подивимось, чи вдасться їй це зробити тепер… Трошки часу на завантаження .iso, dd на флешку, бут… І так, знову арч рулить. I use Arch, btw, з мему перетворюється на прокляття. Але ж працює… Диск бачиться норм, як з’ясувалось тут ufs девайс. Зносимо всі існуючі розділи, це і є остаточна точка неповернення. Робимо нову розмітку. Поставили, базово налаштували, ребут…
(розбивка)
І ми в системі! Ми успішно вкорячили нормальний лінукс на хромбук і зробили з цієї маленької новини цілий блогпост і вип’ячуємо це як перемогу потужності. Чи потужну перемогу? Ай, біс з цим. Головне, що знову в цьому світі типовий лінуксоїд в обличчі Дарка, замість вирішення реальних проблем займається якоюсь хєрнею і робить вигляд, що герой.
(login screen)
Далі починаються вже звичні проблеми сумісності лінукса з ноутбуками, які всім встигли набриднути і без моїх зусиль. Тому, на цьому будемо закінчувати. Якщо вам такі сподобалась ця писанина - значить все це не дарма :)
На прощання ось вам широка спина справжнього лінуксоїда, а я тут так - камеру потримати.
(коте)