LINUX.ORG.RU

Проблема со звуком при перекомпиляции модулей ядра (Slackware 9.1)


0

0

Slackware 9.1. Ядро, поставленное по умолчанию, работает, все модули тоже. Потребовалось настроить ядро, компилирую его и модули, после чего:

Во-первых - напрочь пропадает звук (/dev/dsp: no such device, при этом сам файлик есть).

Во-вторых, содержимое /lib/modules/2.4.22vid/ (моя сборка) отличается от содержимого /lib/modules/2.4.22/ полным отсутствием папки /kernel/sound/ (при этом /kernel/drivers/sound в наличии).

В-третьих, копирование всего содержимого из /lib/modules/2.4.22/kernel/sound/* в мою сборку не помогает.

А, еще во вновь собранных модулях gcc оставляет отладочную информацию, в результате чего они в два раза больше, чем обычно. Это-то поправимо, но интересно еще, как их собирать "изначально порезанными".


> Slackware 9.1

Слакер. Других слов нет...

> Во-первых - напрочь пропадает звук (/dev/dsp: no such device, при этом сам файлик есть).

/dev/dsp - специальный файл, его можно использовать только при наличии драйвера для соответсвующего устройства

> Во-вторых, содержимое /lib/modules/2.4.22vid/ (моя сборка)
> отличается от содержимого /lib/modules/2.4.22/ полным отсутствием
> папки /kernel/sound/ (при этом /kernel/drivers/sound в наличии).

<kz^ lf crjkmrj vj;yj!!! Ckfrths^ ,kz&&&

/lib/modules/`uname -r`/kernel/sound - это ПРИЗНАКИ ALSA.

/lib/modules/`uname -r`/kernel/drivers/sound - это признаки OSS.

Скачай и поставь ALSA, либо настрой загрузку OSS-драйверов.

И приведи /etc/modules.conf

> А, еще во вновь собранных модулях gcc оставляет отладочную
> информацию, в результате чего они в два раза больше, чем
> обычно. Это-то поправимо, но интересно еще, как их собирать
> "изначально порезанными".

Отключи сборку с отладочной информацией в конфигурации ядра. Блин, я склоняюсь к мнению, что "СЛАКА" - это не дистрибутив, а диагноз...

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

Хе-хе

Спасибо за ответ (кстати, ALSA у меня стоит - его что, в ядро добавлять надо? впрочем, сам доки гляну, как до дома доберусь). Хотя странно. Посмотрел форум, вроде нигде на "чужие" дистрибы не наезжали... а тут прям как дома :) Ну кривой слакварь, кривой... зато, понаступав на все грабли, мб хоть пойму, "как оно работает".

Еще раз спасибо за ответ (хотя крышу у меня уже тихо сносит).

F vfnthbnmcz? ,kz? yf vtyz? ,kz? yt yflj? ,kz!!! Djn? ,kz/

Hash
() автор топика
Ответ на: Хе-хе от Hash

> кстати, ALSA у меня стоит - его что, в ядро добавлять надо?

ALSA состоит из двух частей: "ядерной" и юзерспейсовых библиотек. Библиотеки у тебя стоят, а вот модули ядра надо пересобрать и поставить. Причем делать это придется после каждой пересборки ядра :-)

> Хотя странно. Посмотрел форум, вроде нигде на "чужие" дистрибы не наезжали...

Значит, плохо смотрел. Или gr_buza поработал, вынося ежечасные вопли "слака рулит" и "а пад слакай эта работать будит?"

> зато, понаступав на все грабли, мб хоть пойму

Нет, не стоит _так_ начинать, послушай доброго совета. Поставь нормальный дистрибутив, тот же Debian или RedHat/Fedora, но не связывайся со слакварью иначе даже под страхом смерти. "Трахаясь" многому не научишься, поскольку ты даже не понимаешь, чего же нужно добиться, и что значит "работает". Кроме того, ты будешь наступать совершенно не на те "грабли" на которые наступают в реальной жизни :-)

А /etc/mod*.conf все-таки покажи

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

> ...но не связывайся со слакварью иначе даже под страхом смерти. "Трахаясь" многому не научишься, поскольку ты даже не понимаешь, чего же нужно добиться, и что значит "работает".

Зато человек разберется, скажем, как поднять eth0 в нестандартном режиме руками, а не мучительно пытаясь понять, что и как писать в /etc/sysconfig/network...

P.S. Вон у нас недавно один редхатный "гуру" опростоволосился -- не смог поднять сеть на Slackware. Долго и мучительно искал redhat-config-network, потом полез качать linuxconf, за что получил по голове, потом стал искать /etc/sysconfig... man ifconfig почитать или netconfig запустить (уж коли руками работать не умеет) так и не догадался... ;)

P.P.S. Это не наезды. Надо _работать_ -- берется пакетный дистрибутив с техподдержкой, типа Suse, дебиана, ALT или редхата. Хочется _для_себя_ понять всю кухню, то бишь, что, почему и как и как что делать руками -- тут либо слака, либо фря. IMHO.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

Как уже писАлось, выключите отладку в ядре.
Модули звука надо в ядре добавить для компиляции. После этого они появятся в /lib. Соответственно, и модули для звуковой карты. Что изначально было собрано в оригинальном ядре, посмотрите в директории /boot, или на инсталляционном диске с вашим ядром.
Копирование файлов модулей не подойдет, т.к. ядра уже отличаются (патченые).
А всяких там КрасноШапочников вообще не слушайте. Они со своими дистрибутивами, в которых все настройки делаются из-под всяких там ГУИ, вообще скоро станут виндовсо-подобными пользователями.

anonymous
()
Ответ на: комментарий от anonymous

Наверное, ваш пост все-таки относится не ко мне, а к автору вопроса. Повнимательнее. ;-)

Obidos ★★★★★
()
Ответ на: комментарий от anonymous

> Модули звука надо в ядре добавить для компиляции. После
> этого они появятся в /lib. Соответственно, и модули для
> звуковой карты. Что изначально было собрано в оригинальном
> ядре, посмотрите в директории /boot, или на инсталляционном
> диске с вашим ядром

Блин, мистер слакер, вы что, не поняли - у товарисча в старом ядре, похоже, ALSA используется [/lib/modules/`uname -r`/kernel/sound], а к новому, которое он собрал, ALSA-драйверы он "не пришил"

И еще - в нормальном 2.4 ALSA отродясь не водилась, и всегда шла левым или правым, но патчем. Я же говорил - слака не дистрибутив, слака диагноз...

> А всяких там КрасноШапочников вообще не слушайте.

Я, я, натюрлих... Тафай-тафай...

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

> И еще - в нормальном 2.4 ALSA отродясь не водилась, и всегда шла левым или правым, но патчем.

Позволю себе не согласиться в плане _патча_. Если же вы имели в виду "вкомпилить ALSA в ядро без использования модулей", все ниженаписанное можно не читать.

В Slackware, например, процесс замены OSS на ALSA выглядит примерно так:

0. Если слака -- девятка, правим хотплаговский blacklist, дабы само не грузило ни OSS, ни ALSA. Далее вычищаем модули (если есть) из modules.conf. Если слака -- восьмерка, пункт с хотплагом пропускаем.

1. Собираем ядро как нам надо, указываем, что звук будет модулем, все модули отключаем, дабы не собирать лишний мусор.

2. Грузимся с новым ядром, собираем ALSA.

3. Настраиваем либо хотплаг, либо modules.conf, дабы грузило алсу.

P.S. Можно по-разному относиться к выбору "вкомпилить в ядро или собрать модулем". Лично я стараюсь как можно больше всего выносить в модули. Гибче оно так получается. Прикрутил новую железку -- не надо опять пересобирать ядро, собрал один (или несколько) модуль -- и вперед.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

> Далее вычищаем модули

Разумеется, читать как "вычищаем звуковые модули".

Obidos ★★★★★
()
Ответ на: комментарий от no-dashi

> Блин, мистер слакер, вы что, не поняли - у товарисча в старом ядре, похоже, ALSA используется [/lib/modules/`uname -r`/kernel/sound], а к новому, которое он собрал, ALSA-драйверы он "не пришил"

Во... во! Так точно.

Я правильно понимаю, что make modules, make modules_install и не должен создавать папку kernel/sound, которая - надстройки ALSA? То есть - после перекомпиляции модулей мне надо ALSA ставить сверху каждый раз?

Кстати, слабо понимаю, при чем тут слакварь вообще... я ж по идее ручками ядро компилирую, а это процесс должен быть един для всех дистрибов. Ну, конечно, в некоторых могут быть варианты "интерактивной интуитивно понятной сброки ядра", но вариант "собрать руками"-то одинаков. Наверное. Блин, уже ни в чем не уверен :)

Hash
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.