LINUX.ORG.RU

Gentoo, ноутбук и проблемы с конфигурацией ядра

 , ,


0

2

Всем привет. В общем, я упоролся решил поставить Gentoo на ноут Acer Aspire V3-572G-52FH, ну или Aspire V15 в простонародье. Ноут работает в режиме UEFI и я не слишком-то хочу это менять, ибо винда, все такое... Проблема, значится, вот в чем: взял я конфиг ядра с десктопа, сделал genkernel all и получил в общем-то работающую систему, только вот ноут при таком раскладе совершенно не хочет выключаться, ругаясь на меня строчкой reboot: system halted, после чего продолжает работать. Это происходит и на poweroff, и на shutdown -h now. А перезагрузка работает нормально.

«Ну, ок», - подумал я и сделал genkernel all с вообще дефолтным конфигом ядра. Это привело к тому, что напрочь отвалился тачпад, но зато выключение починилось. Дальше начались попытки «сделать хорошо». Выключение у нас, скорее всего, завязано на ACPI, значит надо привести эту секцию в конфиге с работающим тачпадом к виду, как в конфиге с работающим выключением. Привел - отвалился тачпад. Как мне это победить?

Из личных наблюдений: там в Device Drivers->Input devices->Mice есть секция с PS/2. В этой секции на десктопном конфиге имеется строчка типа Synaptics PS/2 Driver или что-то в этом роде. А в дефолтном конфиге ее нет, но поиск говорит, что опция сия включена. Я так и не понял, как ее вернуть, но подозреваю, что это решит проблему. В общем, что посоветуете, кроме как «снеси генту, поставь убунту, ламер долбаный»?



Последнее исправление: cetjs2 (всего исправлений: 2)

Я бы посоветовал собрать всё в Input Device, ребутнуться, посмотреть, какие модули используются, ну а дальше по желанию

XMs ★★★★★
()

значит надо привести эту секцию в конфиге с работающим тачпадом к виду, как в конфиге с выключением. Привел

Как это было сделано? Редактированием конфигурационного файла ядра в текстовом редакторе или через утилиту menuconfig? Если первое - то так делать нельзя.

И так, у тебя есть конфиг ядра, в котором нормально работает выключение, но нет поддержки некоторых устройств, сохраняешь резервную копию конфига, далее запускаешь menuconfig:

meke menuconfig
и включаешь соответствующие опции в ядре для поддержки твоего оборудования.

Для поиска опции в конфигураторе нажимаешь клавишу «/», вводишь слово поиска и нажимаешь ввод. В ответ получишь опции, которые содержат слово поиска с их описанием, расположением и указанием их зависимостей.

Для включения опции переходишь в указанное подменю, ищешь там описание опции, т.е. «prompt» и включаешь опцию. Если строки с искомым описанием нет - значит не включены опции-зависимости, опять смотришь описание опции, смотришь зависимости, удовлетворяешь их, включаешь искомую опцию.

По поводу тачпада, у меня Acer Aspire V3-771G, для работы тачпада в ядре нужно включить опцию CONFIG_MOUSE_PS2_ELANTECH.

Описанным выше способом найди опцию в конфигураторе, посмотри где она расположена, её зависимости и описание, найди её и включи.

Для прочего оборудования на шине PCI / PCI-Express используй утилиту lspci:

lspci -k
загрузись в систему, где у тебя всё работает, например LiveCD Ubuntu или Fedora и смотри строки «Kernel Driver in Use:» и «Kernel Modules:», в них указан используемый драйвер и модуль.

Для устройств на шине USB используй утилиту lsusb, но в её выводе будет приведено лишь название устройства исходя из базы идентификаторов этой утилиты, соответствующие опции придётся искать в конфигураторе ядра по ключевым словам, в Google, просто в документации и по форумам.

Ищи где находятся соответствующие опции в конфигураторе ядра, включай их и пересобирай ядро.

Просто так править конфиг ядра в текстовом редакторе нельзя.

По поводу загрузки через EFI почитай Gentoo Wiki. Можно использовать сторонний загрузчик, например Grub или грузить ядро напрямую через EFI, в этом случае в ядре должны быть поддержка efistub. Но ядро и загрузчик должно быть подписано ключём, который есть в базе ключей EFI, можно добавить свой ключ и подписать им ядро или загрузчик, использовать загрузчик, подписанный ключём Microsoft, читай Gentoo Wiki или вообще отключить EFI Secure Boot.

Удачи.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Как это было сделано?

Ну, я взял tmux, ctrl+b+% -> получил два терминала в двух половинках экрана. В левой половинке сделал eselect kernel set 2 (ядро с дефолтным конфигом), затем genkernel --menuconfig all, в правой сделал eselect kernel set 3 (десктопный конфиг) и тоже genkernel --menuconfig all. А дальше тупо зашел в обеих половинках в разделы и привел к более-менее общему виду. Ну, еще, добавил в Processor type and features поддержку EFI.

Если строки с искомым описанием нет - значит не включены опции-зависимости, опять смотришь описание опции, смотришь зависимости, удовлетворяешь их, включаешь искомую опцию.

Это понятно, тут вопрос в другом: вот берем ту же опцию с Synaptics PS/2 Driver. Он в моем десктопном конфиге есть. Жму h - вижу, что все его depends on находятся в состоянии «Y». Потом иду в дефолный конфиг, этой опции нет, делаю поиск по названию, предварительно подсмотренному в конфиге, где она есть, вижу, что сам пункт в состоянии «Y», его Depends on тоже в «Y», а пункта нет. И что делать?

загрузись в систему, где у тебя всё работает, например LiveCD Ubuntu или Fedora и смотри строки «Kernel Driver in Use:» и «Kernel Modules:», в них указан используемый драйвер и модуль.

А там ничего интересного нет. Ну, т.е вообще ничего ни про input, ни про ps/2, ни про mouse. Интересное есть в /proc/bus/input/devices - там есть запись Bus=0011 Vendor=0002 Product=0007 Version=01b1 Name=«SynPS/2 Synaptics Touchpad» ... Sysfs=/devices/platform/i8042/serio1/input/input3 ... Handlers=mouse0, event4

Это на конфиге, где тачпад работает, соответственно. Где не работает, там такой записи нет.

Slaviro
() автор топика
Ответ на: комментарий от kostik87

Тут сейчас интересные вещи выяснились. В общем, я же не только секцию ACPI к общему виду приводил, но и в Processor type and features включил опцию EFI runtime support и все его подпункты. Суть вот в чем: если я включаю эту опцию, то отваливается тачпад, но начинает работать выключение, а если выключаю, то наоборот, соответственно. Вот прям напрашивается эскобар.жпг... Короче, что с этим делать? Я не горю желанием переделывать GPT диск в MBR и переустанавливать винду.

Slaviro
() автор топика
Ответ на: комментарий от r3lgar

Зашел. До этого ходил на арч-вики и генту-вики по поводу UEFI и что с ним делать. В общем, то у меня в ядре все примерно так и есть, но пользоваться встроенными в мать средствами загрузки я не хочу - мне привычнее обычный GRUB2. В общем, подумал, подумал и, наверное, переключусь на легаси с переустановкой всего.

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

Чтобы в легаси вернуться, нужно только ядро и загрузчик переустановить. Если у тебя GPT, то rsync'ом перенеси систему куда-нибудь, перебей в MBR, и верни всё обратно, чрутнись, и переустанови ядро и загрузчик. Минус только в том, что SUID слетит, но его можно или врукопашную иксам и пингу поставить, или переустановит эти пакеты.

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

Если бы все было так просто. На ноуте помимо линукса еще и винда имелась, а у винды с легаси все очень плохо, если она на GPT установлена, так что пришлось все переустанавливать. Сейчас вот все еще мучаюсь с ядром. Уже включил все опции PS/2, отключил EFI, а все равно в SDDM курсора нет. Чудеса.

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

Проблемы с курсором в SDDM уже обсосали в арчефоруме (на пиндосском, естественно), тут тебе гугл в помощь.

За венду не подскажу, не в теме, да и оффтопик это.

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

Не, не. Тут другого рода проблема. Если я в биосе выставляю режим тачпада Basic, то у меня в /proc/bus/input/devices появляется SynPS/2 устройство, но курсор все равно не работает. Если же я выставляю режим Advanced, BIOS меня предупреждает, что нужны I2C драйвера, без которых ничего работать не будет. В ядре я включил в секции Input Devices Synaptics I2C, ELAN I2C, на всякий случай в PS/2 выбрал Logitech, Elantech и Synaptics, пересобрал ядро с этим всем и устройство в общем не определяется совсем. Что удивительно, в арче и убунте тачпад работает как родной. Особенно в убунте. Что я делаю не так?

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

Заведи с этим вопросом отдельный тред с соответствующими тегами, может кто и поможет.

Без первых двух предложений так и пость, только с логами и прочим lshw/lspci.

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