BUGZILA-история про acpid
Или про то, как я три часа доставал своим багрепортом GENTOO-поддержку
Как-то недавно обнаружил проблему в unionfs. Она проявилась при попытке создать Gentoo LiveCD со слайсами (типа SLAX или MORPHIX) и openvz-ядром на борту. При попытке выдать команду
unionctl / --list
ядро паниковало.
Как оказалось, ошибка была в unionfs -- не проверял код возрата системного вызова. По совету команды openvz направил багрепорт разработчикам и через две недели пришло сообщение, что в новом unionfs баг исправлен. Круто! Это был мой первый успешный bug report. Поверил, что иногда на твои сообщения реагируют.
Ободренный первым опытом, решил внести вклад в проблему /etc/init.d/acpid и заодно приобщиться к GENTOO-bugzila (почувствовать климат GENTOO-кухни). Конкретно проблема с этим сервисом в том, что при компиляции kernel/drivers/acpi в виде модулей, после запуска сервиса система не хочет реагировать на кнопку power off без дополнительных телодвижений. Ибо указанные модули должны быть загружены до того. Но стандартные конфиги-скрипты это дело не обеспечивают.
Предложнное мной решение, которое я и послап в GENTOO-bugzila -- загружать модули в самом сервисе.
Поразила скорость реакции -- практически моментально пришло сообщение, что мой бугрепорт является клоном другого сообщения (отклоненного) и он закрыт. И как это они умудрились так быстро соотнести один буг-репорт с другим и выяснить, что это про одно и тоже.
Прочитал я про первый буг-репорт. Оказывается, он был внесен еще в конце 2005. И предлагал сделать тоже самое. По мотивам Debian. Ибо в Debian acpid-сервис при старте тоже грузит модули. Репорт отклонили с неубедительными доводами. Типа грузить модули в сервисе -- это идеологически неверно и грозит большими неприятностями. Вы лучше типа компилите модули статически. Или пропишите их загрузку в /etc/init.d/modules.autoload
Но возникает вопроос -- а чтож тогда они там стандартно не прописаны? А если прописать модули -- не будет ли ругани при загрузке для статически собранного ядра? И сколько там прописывать? Ведь ядра развиваются, количество нужных модулей может измениться, а файл-то конфигурации -- один для всех версий (мало ли какое ядро можно выбрать для загрузки в grub).
В общем, обоснование для отказа в приеме к испольнению буг-репорта 2005 года -- не убедительное.
А переоткрыть закрытый буг, как оказалосьЮ можно только тот, что сам послал. И вот в течение трех часов идет процесс: я открываю свой буг (с вопросами-пояснениями), суппорт моментально закрывает его без попытки объяснить поподробнее. Заладили одно -- твой репорт есть дубль и не имеет право существовать. Достал я чела до белого каления, совсем он почти ругаться начал Так что бросил я это беспреспективное дело.
Результат: проблема есть, проблема системного уровня. Однако в Gentoo Weakly статистике она отсутствует (формально она закрыта). И описания убедительного, почему нельзя грузить модули в сервисах -- тоже нет. И почему в /etc/init.d/autoconfig эти модули можно грузить (работает в LiveCD), а вот для загрузки с харда аналога нет.
Неправильно как-то все это. Так проблемы не решаются. Вот такая история. Да, номера ошибок 173910 и 108196 (это если кто захочет почитать оригинал истории)
Кстати, все реальные дистры на основе GENTOO используют правленный /etc/init.d/autoconfig и при загрузке с харда (первый FANTOO, BinToo). А польза ругани все же была -- до меня дошло, почему они против. Хотя и не объяснили толково. Они не против загрузки модулей в скриптах, они против, чтоб это делалось просле перехода системы на третий уровень. Но ведь никто не мешает запускать acpid на уровне boot, а не default. В общем -- мрак. Вряд ли от официальных релизов GENTOO можно ожидать нормального безгеморойного поведения. Пользуйте производные типа Sabayon, VLOS. Даже GENTOOTH от Alex Zorg (Украина) с точки зрения результата был гораздо лучше, чем официальные релизы (вот бы его версию на основе свежего портаже -- старый вариант возродить трудно).
Кстати. Линукс имени Красного Пути (rpath linux), потомок Красной Шапки -- по технологии объединил преимущества GENTOO и FEDORA. Никто не пробовал? Вот две ссылки на описание его технологий:
http://www.rpath.com/technology/techoverview http://www.rpath.com/technology/building/recipe.html
Разрази меня гром, если это не продвинутый GENTOO. Правда чтоб прочитать только -- и то не меньше недели наверно надо. Но преимуществ -- горы! Тут тебе и распрделенная разработка, и лекость создания своего дистра. Там уже целая куча возникла, в том числе AsteriskNOW, Foresight и тд Вплоть до того, что студенты для курсовых по ИТ себе дистрик забили
- Для комментирования войдите или зарегистрируйтесь
По поводу acpi
По поводу acpi согласен полностью (уже добавил модули в modules.autoload). Но, все-таки, мы не являемся разработчиками дистрибутива Gentoo. У них же может быть своя политика.
По поводу rpath. На то он и потомок, чтобы быть платным. Что-то я не увидел там ссылок для скачивания дистрибутива в каком-либо виде. Или я чего-то недопонял... вроде весь сайт облазал :(.
Бог с ихней политикой
Суть то в том, что в LiveCD от GENTOO типа грузим и это правильно, а вот когда пользователь поставит GENTOO на диск -- то пусть после каждой замены ядра колдует с конфигурацией модулей. Было бы честнее тогда и в установочном LiveCD не грузить.
А Дебиан-цы в духе этой самой политики дураки, ибо грузят ACPI-молдули именно при старте acpi сервиса и не парятся.
BinToo и Sabayon (в старом Фантоо и GENTOOTH тоже) используют аналоги autoconfig сервиса и при старте с жесткого диска (причем там куча кода из KNOPPIX). Получается, что запустились мы первый раз с жесткого диска -- звуковая карточка сконфигурилась без запуска alsaconig. Потом пока пока железо не меняется, загрузка не отличается от стандартной GENTOO. Пересли на другую машину -- олять автоматом все подхватилось
Тоже дураки получается, если следовать указанной политике
rPath свободен как GENTOO
в гентовском portage есть ихние rmake и conary (аналог rpm + yum). Правда и я долго просекал, что rPath свободен. Ибо информация на сайте ужасно организована. Деньги собираются делать как и все остальные. То если считать FEDORA -- свободным проектом, то rPath -- его аналог от бывших сотрудников RedHat.
Искать надо было в сторону rBuilder online. Это их хостинг для проектов на основе rPath технологии. Вот URL: http://www.rpath.com/rbuilder/
Чесно говоря я
Чесно говоря я непонимаю зачем это делать модулями в нормальной системе.
Я понимаю девелоперов - для загрузки модулей есть уже файл.
Тебе как я понимаю это для своего диска нужно, но я нифига непойму причём гента в этом диске...
пойми - для неких действий есть стандартные пути, и эта практика тоже просто стандартный путь. Можно только в ебилд варнинг вставить по этому поводу. Как и в любом модулезависимом ебилде. А в других дистрах другой путь - там всё модулями, вот они и выдумывают как им проблемы решать.
но это только моё личное мнение.
Чесно говоря твои посты сильно смахивают на посты ciaranm...
Re: Чесно говоря я
А сами-то в LiveCD этот самый файл не пользуют (грузят из сервиса).
Тут типа тоже все правильно (ну разве имеет LiveCD какое-либо отношение к тому, что грузится с HD)
И вообще при начале работы с GENTOO не возникало впечатления, что установленный на жесткий диск GENTOO уступает по фичам LiveCD?
.
Ну на этом LiveCD GENTOO и будет. И оторваться трудно. Хочется что-то типа SLAX-MORPHIX-POPPY (залил, поработал, выбросил без засорения диска оставшимся хламом). Причем ведь дистры работают одинако и при установке на хард. И установка -- просто копирование пары файлов.
Но все указанные дистры -- на основе Debian. Да и там камней хватает.
Например для SLAX-MORPHIX-технологии отсутствие базы пакетов в виде единого файла (что имеем в GENTOO) -- плюс
Кстати ценная идея. Но мне никаких вариантов в GENTOO-багзиле не предложили. Создалось впечатление что там ныне весеннмй аврал по закрытию багов (ожтдается визит спонсоров?) С такой скоростью, решительностью и безаппеляционностью переводят буги в разряд глупостей.
Кто такой, почему не знаю ? 8-( Кстати всякие флеймы очень информативны и сильно расширяют кругозор. Очень с большим интересом прочитал эпопею (прям война и мир с прологом и эпилогом) на ЛОРе по поводу выхода серверного пререлиза AltLinux. (век бы слушал)
Текущее состояние дел
Технология создания САКСОВ в GENTOO успешно вырыта из PENTOO и проверена -- работает. За базу для экспериметов был взят BinToo. Чтоб время на сборку пакетов не тратить. А пришлось. Интересно, что для свежего дистра (2007.1) при пересборке уже не нашлось некоторых исходников 8-( Удаляют исходники со скоростью удаления багов ;-) Бало бы значительно легче, если бы LiveCD от Alex Zorg (GENTOOTH) был бы на базе текущего портаже. Или бы хотя бы он открыл для доступа свой dist-репозитарий. Мне вседь не новизна нужна, а возможность воспроивести пересборку. Для GENTOOTH из-за отсутствия исходников (в том числе и poprtage, которая использовалась для сборки) мне, к большому сожалению, это не удалось.
Сейчас сливаю в одно boot-autoconfig из GENTOOTH (который я и на своих машинах использовал), и devices от BinToo (аналог этого самого autoconfig). В devices от BinToo хорошая идея -- профиль машины. Типа изменился состав жедеза -- автоматом находим для него драйвера и конфигурируем. После чего все остальные загруки идут стандатным способом. Круто (А код там нарыт от KNOPPIX).
В общем результат видится в виде современного GENTOOTH (в смысле набора софта), который поддерживает SLAX-MORPHIX технологию.
Ну нравятся мне возможности, которые unionfs открывает. Просто балдею. Ибо очень наглядно видно что-куда при работе какает. Да и для использования openvz очень полезно. Ибо экономит дисковое пространство при создании кучи специализированных VM (ftp-сервер, куча www для разных целей вместо одного апача для разных целей и тд).
Кстати
Вся эта история с BUGZILA начилась из-за того, что мне при правке этих autoconfig показалось, что ACPI-модули правильнее грузить в ACPI-сервисе. В результате ребята убедили меня, что наверно в autoconfig - правильнее. Типа одно известное место для загрузки и автоконфигурации. Да еще вспомнился IdecoICS. Там после прохождения определенной точки загруки секьюрети-уровень подымается до небес -- модули уж точно грузить нельзя
PS: про IdecoICS. Ребята написали что-типа watchdog, наблюдающего за непотопляемоcтью и правильным ходом работ. И установили такую частоту проверки, что этот самый watchdog один все ресурсы цпу жрет ;_)
Вообще-то автор
Вообще-то автор с девелоперами не много др др не поняли скорее всего.
/etc/init.d/alsasound загружает и выгружает свой модули сам и никаких претензий.
Не, ребята про alsasound были в курсе
Логика такова: это уже есть, поэтому не удаляем. Но это не правильно. А как правильно -- и сами темное представление имеем
Логика такова
Логика такова что вы и до сих пор не понимаете. Вопревых Jakub Moc занимается багзиллой как таковой, а не самими багами. Т.е. если он не отвергает баг, он назначает его человеку, который будет им заниматься. Он тебе сказал что мэйнтейнер acpid'a в результате обсуждения бага созданного в 2005м году решил что он не будет подгружать модуть из инитскрипта. На этом баг закрыли, но это не значит что туда постить нельзя! Это не закрытая тема на форуме, постить можно и все участники обсуждения получат мыло. Это тебе и пытались объяснить - почему нельзя создавать дублирующие баги, потому что обсуждение можно продолжить в закрытом баге.
А в алсе модули грузятся из инитскриптов, потому что апстрим (разработчики алсы) её таким образом сделали.
Ну а что upstream acpid говорит?
И что мешает хоть замечание про загрузку модулей в init-script вставить?
А как понимать это?
> I really fail to see what's so horribly unclear about the statement that acpid
> init script in NOT a correct place to load kernel ACPI modules? How about all
> the people that don't have acpid installed at all (majority of users), how
> exactly will this initscript help them? You are 'fixing' things at a completely
> wrong place.
Все правильно
Все правильно тебе сказали. А если подробнее то: "есть майнтенер acpid, этот баг известен, решение есть но оно отвергается майнтенером по определнным причинам". Что еще надо - gentoo это есть дистрибутив из которого все лепят то что требуется, и зачем навязывать решения которые не имеют 100%-правильности?