schastny
@schastny

«NetBSD user story» или «1001 сломанный бубен». Осторожно! Внутри много букв. :)?

Хотел написать в 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
  • Вопрос задан
  • 2893 просмотра
Пригласить эксперта
Ответы на вопрос 3
printf
@printf
Ем детей.
Поставил бы уже линукс, времени-то не жалко на это? За 3-4 дня можно было что-то полезное сделать.
Ответ написан
AusTiN
@AusTiN
Ставьте Debian и успокойтесь уже :)
Windows Server не предлагаю, ибо страшно =)
Ответ написан
Комментировать
schastny
@schastny Автор вопроса
Попробовал NetBSD более старой версии 5.0.2. Ради интереса попробовал i386. Все тоже самое. Установил Debian за 15 минут, поднял Xen за 5. :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы