Хотел написать в BSDельники, но не могу. Даже в песочницу не могу! И в черновики даже не сохраняется! Ну что за <вырезано цензурой>? Какого <вырезано цензурой> я должен кому-то что-то. Что-то зарабатывать, заслуживать, мне делать что-ли нечего больше? Иногда складывается ощущение, что у разработчиков хабра есть проблемы с ЧСВ. Сделали бы лучше тест на IQ вместо кармы.
Извиняюсь за столь длинное изложение в Q&A, но к сожалению, у меня нет другого способа поделиться своим опытом и спросить совета.
Если кто-то может помочь с публикацией — помогите. От кармы тоже не откажусь чего греха таить.
Дано:
Железка с материнкой Intel S3200SHL и без CD-ROM.
Флэшка с релизом NetBSD 5.1 архитектуры amd64. Записана rawrite32 из под винды.
Задача:
Установить систему и убедиться в ее работоспособности.
Поехали!Попытка №1.
Вставляю флэшку. Нажимаю кнопку питания. Иду в BIOS. Выставляю загрузку в флэшки. Начинается загрузка с харда. Флэшка пролетела. :( Черт, наверное не загрузочная флэшка получилась, думаю я. Перезаписываю флэшку Unetbootin.
Попытка №2
Не грузится! Чем бы еще перезаписать?
…
Попытка №5
<вырезано цензурой> Что же это такое-то! <вырезано цензурой>. Не загружается! Ну не может такого быть! Полезу в BIOS посмотрю! И тут до меня доходит. Legacy USB Support не включен! Ну вот ведь <вырезано цензурой>! Сохраняю настройки и выхожу из BIOS.
Попытка №6
Загружаюсь снова. Отлично sysinst загрузился, что и требовалось. Выбираю все что надо. sysinst спрашивает откуда брать файлы для установки. И тут вторые грабли. Нет опции взять файлы с флэшки. Попробую схитрить. Выбираю установка c CD-ROM и ввожу имя девайса флэшки. Не получается. Пробую другие разные варианты… Пару раз перезагружаюсь при этом.
…
Попытка №9
Ну его в <вырезано цензурой>! По HTTP поставлю! Выбираю все что надо, выбираю установку по HTTP, начинается загрузка файлов, откидываюсь на кресле и расслабляюсь. Загрузка виснет на 32% при скачивании архива comp.tgz. Ну твою же ж медь! За что мне все это. Ctrl+Alt+Del. Не реагиурет. Все! Машина намертво зависла. Ну ппц! Приходится отключать питание долгим удержанием кнопки, а потом включать машину заново. Пробую ставить с других зеркал и по FTP. Трачу еще минут 30-40.
…
Попытка №14
Прошло около 5 часов с первой записи флэшки. Это просто полный ппц! Ничего не работает! Нереально поставить систему! Пробую загрузку без ACPI. О чудо! Наконец-то по HTTP все скачалось и установилось. Значит проблема с ACPI. Это плохо.
Попытка №15
Загружаюсь в установленную систему дефалтно с ACPI. Вроде все работает. Иду качать pkgsrc. Система намертво зависает. Появляется спортивный интерес разобраться в проблеме. Отписываюсь в NetBSD Problem Report.
port-amd64/44231 dmesg прилагается.
…
Попытка №21
Далее уже на следующий день, после еще нескольких часов возни выясняется, что система виснет не только при работе с сетью, а в любой момент. Спотыкается на чем-то. Например также хорошо виснет на команде ./pkglocate php. Появляется мысль поколдовать с опциями ядра. Может быть там будут хаки для ACPI.
Попытка №22
Берем GENERIC ядро, выкидываем поддержку лишних ФС и лишних устройств при этом ничего не добавляя и стараясь оставить ядро довольно дефалтным. Много лишнего не выпиливаем. Компилим ядро, устанавливаем его. Тоже самое.
Попытка №23
Колдуем с различными опциями. Пробуем включать apm, выкинуть hpet, включить acpica_pedantic. Переключаем туда сюда поддержку SpeedStep в ядре и в BIOS. Прочитан весь man options и просмотрены все строчки в LINT ядре. Ничего не помогает. Прошел еще один день. Надо собрать ядро с максимальным дебагом и посмотреть в чем дело.
…
Попытка №32
Включаю в ядре diagnotic, debug, acpiverbose, ddb_onpanic=2 и т.п. Загружаюсь с ACPI. ./pkglocate php Сваливаемся в дебаг.
/usr/src/sys/arch/x86/x86/cpu.c строка 1067. Ребут и лезем в сорцы посмотреть что за строка.
KASSERT(ci -> ci_level == IPL_NONE);
Погуглив понимаю, что KASSERT это что-то связанное с парсингом рэгэкспов. И что проблема все-таки довольно низкого уровня, т.к. cpu.c
Попытка №33
Пробую пересобрать систему из исходников. Исходники того же релиза 5.1, что и установлен. Просто пробую скомпилить сам. Не помогает естественно. Выкачиваю из CVS исходники с тэгами netbsd-5-1 и netbsd-5. Ни то ни другое не компилится. Error выдает. Не могу понять в чем дело. Закипаю и готов уже в окно сервер выкинуть.
…
Попытка №36
Прошло уже 3-4 дня с момента записи системы на флэшку! Черт бы побрал это дерьмо! Остается попробовать несколько вариантов. Поставить 5.0.2 amd64 и поставить 5.1 i386. i386 совсем не хочется, т.к. планируется добавить памяти и придется пересобирать потом ядро с PAE. А PAE — это костыль. К тому же система вообще должна стать Xen Dom0 и черт его знает поддерживает ли Xen ядро PAE. Разбираться почему не компилятся скаченные сорцы со stable тэгами тоже уже совсем не хочется. Я вообще уже близок к тому чтобы забить и поднять это все на чем-нибудь типа Debian. Не дайте братья согрешить с Linux. :D