кто ему на дно ковша бросил дохлого мыша?
Sep. 7th, 2006 07:46 amДошли руки продолжать устанавливать новый компьютер. Компьютер имеется с марта, тогда же на него была поставлена FreeBSD 6.0, Виндовс с геморроем, и в нем налоговая программа (и посчитаны налоги), хрень для ДВД, и игра про Леммингов. Виндовс, кстати, Марвелловскую гигабитную эзернетину не прочухал, а БСД - сразу прочухала. Но ради Виндовса все равно пришлось воткнуть валявшуюся 3c905. Вот теперь, значить, пытаюсь привести БСД в пользуемый вид.
Ну, во-первых, в промежутке между мартом и сейчас я уже опробовал ядро от 7.0. Нынче обнаружилось, что USB Flash оно видеть не желает (то есть, сначала видит, а потом сразу говорит, что видит хреново). 6.0 - вполне желает. 64-битное ядро - то вообще исключительно плохо сожительствует с 32-битными user space программами. Там надо как минимум разбираться, какого необычного хрена происходит с динамическим загрузчиком, поэтому пока плюнул.
Следующим большим геморроем стала графика. С дохлым мышом разобрался - оно при загрузке непременно хочет, чтоб KVM-switch был переключен на него, иначе мышь инициализируется неадекватно, и все движения ее курсора ограничиваются невнятным подергиванием. Потом запускаем Х - Иисус Мария, не получается! Видеорежимы какие-то, мягко говоря, невнятные. Смотрим вовнутрь - с третьей попытки замечаем, что распознался драйвер Vesa. При том, что карточка выбиралась Атевая именно из тех соображений, чтоб ее без проблем понимал родной радеоновый драйвер. Вспоминаем, что драйвер хотелся именно радеоновый и руками его вписываем. Не распознает карточку. Ладно, может вся проблема в отсутствии правильного PCI ID в драйвере. Берем исходные тексты, видим фиг - в 6.0 непонятным образом в бинарный дистрибутив вошел X.org, а в ports distfiles - XFree86. Кстати, я уже обнаружил, что нынче на 4 сидюка входят _далеко_не_все_ пакеты и дистфайлы. Даже думал купить дивидевый вариант, но более подробное изучение показало, что на нем на самом деле совершенно то же содержимое, что и на сидюках, только за лишнюю десятку - так что плюнул. Ладно, берем сидюки 6.1. Там X.org 6.9.0 вместо 6.8.9, но один ли хрен. Строим - не строится. Ковыряем конфигурацию на предмет выключить hardcopy docs. Опять строим - не строится, не любит Freetype2. Ковыряем конфигурацию на предмет использовать FT2 из иксового дистрибутива. Строим - валится уже в xdm (умные люди придумали написать непосредственно в Imakefile список ОСов, которым не нужен libresolv, и ни одну из BSD в него не включили), но теперь все пофигу, сервер уже построился. Добавляем правильный PCI ID. Копируем файлы. Запускаем - опять Иисус Мария. Смотрим на установленный драйвер - драйвер правильный. Что за вашу мать? Обнаруживаем, что в предыдущей версии драйвера назывались .o, а в этой - .so, и поэтому читается все еще старый драйвер. Стираем все .o. Ура, заработало!
Теперя Гном. Он мне нынче на работе представляется удовлетворительным. Решил, гулять - так гулять, будем ставить пакеты от 6.1. Фиг. Зависимости не зависятся. Снес с трех итераций, поставил родные от 6.0. Пробуем запускать. Ищем gdm. Не находим. Делаем список файлов в пакете. Находим /usr/X11R6/sbin/gdm. У кого хватило ума его так разместить? Конфигурация, кстати, в /usr/X11R6/etc/gdm/. Запускаем. Эффект проявляется в том, что запускается Х, самоубивается, опять запускается, и так вечно, пока его не убьешь. (Кстати, ну да, ну да, я знаю, что прям таки руками запускать gdm необязательно - можно в rc.conf записать, но это я с самого начала попробовал, и в таком виде евойные Х-самоубийства еще более раздражающи). Ладно, пытаемся запустить gdmconfig. Он графический, ему нужен Х. Запускаем на Х через сеть. Моментально падает, сказав, что не нашел один из Фритайповских символов. Он, сволочь, явно использует render extension с растеризацией шрифтов с клиентской стороны. Гм, а ведь при установке пакетов такая фраза тоже проскакивала, только я понадеялся, что оно потом найдется. Явно и сам gdm валится по той же причине, только пишет сообщение в таинственное неопределенное место. Значить, кто-то умудрился собрать Гном с чуточку другой версией Freetype, чем которая в комплекте, и, зная как Freetype любит полностью менять весь API при увеличении 3-й цифры версии, результат неудивителен. Будем теперь дальше искать.
В-общем, блин, наводит на размышления, а не поставить ли нам Линукс какой? А то, блин, вы заметили, сколько я всяких умных ковырятельных слов знаю, а все равно как-то утомительно получается. Нормальный пусть даже не пользователь, а сисадмин, уже три раза застрелился бы. Ну, положим, в Линуксе все равно придется видеокарточкин идентификатор добавить и скомпилировать, но это же по сравнению просто мелочи жизни.
Ну, во-первых, в промежутке между мартом и сейчас я уже опробовал ядро от 7.0. Нынче обнаружилось, что USB Flash оно видеть не желает (то есть, сначала видит, а потом сразу говорит, что видит хреново). 6.0 - вполне желает. 64-битное ядро - то вообще исключительно плохо сожительствует с 32-битными user space программами. Там надо как минимум разбираться, какого необычного хрена происходит с динамическим загрузчиком, поэтому пока плюнул.
Следующим большим геморроем стала графика. С дохлым мышом разобрался - оно при загрузке непременно хочет, чтоб KVM-switch был переключен на него, иначе мышь инициализируется неадекватно, и все движения ее курсора ограничиваются невнятным подергиванием. Потом запускаем Х - Иисус Мария, не получается! Видеорежимы какие-то, мягко говоря, невнятные. Смотрим вовнутрь - с третьей попытки замечаем, что распознался драйвер Vesa. При том, что карточка выбиралась Атевая именно из тех соображений, чтоб ее без проблем понимал родной радеоновый драйвер. Вспоминаем, что драйвер хотелся именно радеоновый и руками его вписываем. Не распознает карточку. Ладно, может вся проблема в отсутствии правильного PCI ID в драйвере. Берем исходные тексты, видим фиг - в 6.0 непонятным образом в бинарный дистрибутив вошел X.org, а в ports distfiles - XFree86. Кстати, я уже обнаружил, что нынче на 4 сидюка входят _далеко_не_все_ пакеты и дистфайлы. Даже думал купить дивидевый вариант, но более подробное изучение показало, что на нем на самом деле совершенно то же содержимое, что и на сидюках, только за лишнюю десятку - так что плюнул. Ладно, берем сидюки 6.1. Там X.org 6.9.0 вместо 6.8.9, но один ли хрен. Строим - не строится. Ковыряем конфигурацию на предмет выключить hardcopy docs. Опять строим - не строится, не любит Freetype2. Ковыряем конфигурацию на предмет использовать FT2 из иксового дистрибутива. Строим - валится уже в xdm (умные люди придумали написать непосредственно в Imakefile список ОСов, которым не нужен libresolv, и ни одну из BSD в него не включили), но теперь все пофигу, сервер уже построился. Добавляем правильный PCI ID. Копируем файлы. Запускаем - опять Иисус Мария. Смотрим на установленный драйвер - драйвер правильный. Что за вашу мать? Обнаруживаем, что в предыдущей версии драйвера назывались .o, а в этой - .so, и поэтому читается все еще старый драйвер. Стираем все .o. Ура, заработало!
Теперя Гном. Он мне нынче на работе представляется удовлетворительным. Решил, гулять - так гулять, будем ставить пакеты от 6.1. Фиг. Зависимости не зависятся. Снес с трех итераций, поставил родные от 6.0. Пробуем запускать. Ищем gdm. Не находим. Делаем список файлов в пакете. Находим /usr/X11R6/sbin/gdm. У кого хватило ума его так разместить? Конфигурация, кстати, в /usr/X11R6/etc/gdm/. Запускаем. Эффект проявляется в том, что запускается Х, самоубивается, опять запускается, и так вечно, пока его не убьешь. (Кстати, ну да, ну да, я знаю, что прям таки руками запускать gdm необязательно - можно в rc.conf записать, но это я с самого начала попробовал, и в таком виде евойные Х-самоубийства еще более раздражающи). Ладно, пытаемся запустить gdmconfig. Он графический, ему нужен Х. Запускаем на Х через сеть. Моментально падает, сказав, что не нашел один из Фритайповских символов. Он, сволочь, явно использует render extension с растеризацией шрифтов с клиентской стороны. Гм, а ведь при установке пакетов такая фраза тоже проскакивала, только я понадеялся, что оно потом найдется. Явно и сам gdm валится по той же причине, только пишет сообщение в таинственное неопределенное место. Значить, кто-то умудрился собрать Гном с чуточку другой версией Freetype, чем которая в комплекте, и, зная как Freetype любит полностью менять весь API при увеличении 3-й цифры версии, результат неудивителен. Будем теперь дальше искать.
В-общем, блин, наводит на размышления, а не поставить ли нам Линукс какой? А то, блин, вы заметили, сколько я всяких умных ковырятельных слов знаю, а все равно как-то утомительно получается. Нормальный пусть даже не пользователь, а сисадмин, уже три раза застрелился бы. Ну, положим, в Линуксе все равно придется видеокарточкин идентификатор добавить и скомпилировать, но это же по сравнению просто мелочи жизни.
no subject
Date: 2006-09-14 11:49 am (UTC)1. Совместимость портов вперед. Натурально, не гарантируется. Поэтому если взять порт от -stable или от -current, то никто не обещает, что он соберется на 5.x или 6.x. И даже если взять уже собранный пакет, то он не обязан работать на этих более старых версиях. Просто потому что по мере добавления новых вещей в систему, их использование добавляется и в порты, а также по цепочке зависимостей между портами. Поэтому порты/пакеты всегда надо брать от той же версии, на которую они ставятся, или как минимум не новее.
2. Совместимость портов и бинарников назад: скажем, бинарник от 5 ставить на 6, или порт от 5 собрать на 6. Со сборкой портов тут есть объяснимые сложности, но при правильном подходе (как по большей части в коммерческих Юниксах) как минимум старые бинарники должны продолжать работать на новых системах. На практике в FreeBSD они довольно часто не работают. Потому что люди портят совместимость назад библиотек и системных вызовов. Как показывает, например, опыт с cdrecord. Из-за поломанности этой части совместимости, порты/пакеты следует брать и не старее, а в точности от той же самой версии системы, на которую они ставятся.
cdrecord - это в-общем-то типовая тулза для всех Юниксов/Линуксов. То есть, нынче ее пакет переименован в cdrtools, хотя главный бинарник - все еще cdrecord. Собственно, как показывает быстрый взгляд на вебсайт k3b, k3b - это всего лишь GUI front-end для cdrecord. Порт его в FreeBSD, натурально, присутствует. Но пакет почему-то исчез с сидюков (видимо, место кончилось, после чего отбор пакетов пошел по непонятным принципам).
no subject
Date: 2006-09-14 11:59 am (UTC)no subject
Date: 2006-09-14 12:10 pm (UTC)2. там же на 4.9 стоит thebbbs, который автор забросил еще когда была фря 3.*. под 4 проблема решилась установкой compat3x. аналогично сейчас с compat5x... и снова соглашусь только насчет пакетов...
так и что, cdrtools не работает?! у меня, вообще-то, нет пишущего DVD, но неужели народ без него сидит? не верю!
а вот какой-то dvd+rw-tools ?