nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Мужики, может это точно реальный баг? И стоит доложить кому следует. У меня хоть проблемы со шрифтами нет, но когда стал юзать ускоритель systemd-readahead, сеть иногда не запускается, ошибка типа сетевые устройства не найдены, а после загрузки netcfg.service спокойно грузится без ошибок.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
sleepycatЯ же сказал, что пробовал именно так, как написал nafanja, то есть у меня было Requires, а НЕ Wants. И именно это было нестабильно, а Wants я даже и не пробовал. В любом случае ждать, пока udev обработает вообще ВСЕ устройства – опасно, тем более на не заданном наперёд железе, ибо можно не дождаться или дождаться слишком поздно. Если у нас есть событие запуска фреймбуфера, и по этому событию он должен быть настроен, то привязывать настройку к каким-то левым событиям несколько странно. Не обязательно вешать на это событие рестарт юнита, можно поставить напрямую setfont, но тогда придётся второй раз прописывать туда шрифт, можно поставить скрипт, который сначала прочтёт /etc/vconsole.conf , а потом подставить этот шрифт в setfont, но самым правильным решением было бы исправить ту утилиту, которую я первоначально пытался использовать, чтобы она сама читала локаль, и желательно в этом случае не трогала клавиатуру, или вообще сделать отдельную, и как и эту, прилагать к udev. Настраивать устройства должен udev :) Кстати, меня посетила мысль – почему бы в случае статических настроек сети не запускать их по факту появления сетевого интерфейса :) Ну и конечно, надо переделать юнит dhcpcd, чтобы не ждать его сто лет, особенно при проблемах с сетью. Много ещё чего надо переделать, хотя бы запуск getty – пускай стартует по готовности, а не после всего. Разумеется, при этом надо или переключить консоль на чистую, или подавить вывод “опоздавших” юнитов, чтобы не лезли поверх логина. nafanjaЭто баг пакета udev, что в нём нету заранее заданного правила на шрифты? Могабыть, только тогда надо требовать досрочного выкидывания их из rc.conf, и требовать только vconsole.conf. Требовать загрузки своевременной шрифтов от systemd довольно затруднительно, потому что ну не предназначен он для отлавливания событий udev. Они оба являются демонами асинхронной загрузки – только один занимается ядром и железом, а другой демонами и прочим юзерспейсом. Не очень-то удобно, и не очень правильно заставлять из синхронизироваться между собой. |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Меня посетила еще одна идея, привязать сервис настройки консоли к сервису консоли…
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
nafanjaА что это за сервис? Меня посетила другая идея, которая могла бы посетить меня и раньше, но я всё тупил и тупил. Всё просто – не надо изобретать велосипеды, они и так уже изобретены. Не надо специальной утилиты или скрипта для загрузки шрифта, прописанного в конфиге – udev САМ может прочесть этот конфиг, потому что /etc/vconsole.conf сделан именно в виде ПЕРЕМЕННАЯ=значение. 96-fb-console-set.rules : # Setup vconsole for a new framebuffer device KERNEL=="fb*", ACTION=="add", IMPORT{file}="/etc/vconsole.conf", RUN+="/usr/bin/setfont $env{FONT}" |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
http://www.mail-archive.com/arch-genera … 28027.html Тут нашел переписку, где обсуждалась та же проблема… Ничего конкретного не решили.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
sleepycat |
|
Темы:
98
Сообщения:
3291
Участник с: 19 июля 2011
|
да! я таки нашел изъян в системд. Я уж думал будет все как не у людей. Вообщем все встроенные юниты , кроме наверно таргетов слишком сильно завязаны, так что пытаться навязать им свое мнение тяжело , не получив проблемы, второе, появления утсройства изрыгнутово удевом не равно окончанию др. работ связанных с его появлением. Несмотря на то что и системд может прочитать наш искомый файл, учитывая опыт с возней с “коробочными” юнитами , я все таки решил воспользоваться последним варинатом Natrio (и не нужно порождать лишнюю избыточность доп. юнитом всего лишь изза шрифта, а для удева это выглядит нормальным явлением). Вот теперь, согласен, универсальнинько получилось. Да и wants я проверил на своем юните привязав его теста ради к wicd, который у меня дольше ввсех запускается. Все работает так как ожидается, кастрированный requires… А вот то что законы физики обходятся как то системными(встроенными) юнитами - это я уже встречал ))) . Но так как по умолчанию их трогать не рекомендуется (не считая отключения, mask) то думаю акции системд в моих глазах не упали. СТранно что гугл выдает только наш форум касательно этой проблемы, что у федоры все сразу чтоли завелось, или там из консоли никто не логинится?возможно такойже вопрос сусеводам. С дебиан ладно, она поидее скорее всего вообще в русском языке не нуждается обычно в консоли. PS Даже не знал что у меня драйвер поумолчанию еще и фб тянет, но к счастью как говориться, зато правило Natrio работает, честно говоря учитывая сегоднешнюю переписку, боюсь говорить безотказно, мало ли сглажу опять)) , так что пока просто работает.))
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
|
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
А вот с сетевыми устройствами тоже самое можно ли провернуть? Я к netcfg.service применил два возможных решения. .include /usr/lib/systemd/system/netcfg.service [Unit] Requires=systemd-udev-settle.service #Wants=systemd-udev-settle.service After=systemd-udev-settle.service systemd-modules-load.service
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
Задумался над тем, что по этому поводу писать в вики, или посылать разработчикам. Вариант с одной переменной FONT пришлось признать упрощённым, ведь есть же ещё FONT_MAP и FONT_UNIMAP, хотя обычно они и не требуются. В результате у меня получилось три варианта.
|
Time_Lords |
|
Темы:
14
Сообщения:
172
Участник с: 19 февраля 2012
|
Вопрос по мат. части systemd и общей загрузки. Немного не по теме. У меня когда грузится система первые строчки вывода выглядят как то так: running early hook running hook [udev] trigerring uevents running hook [consolefont] Порядок строчек намекает, что udev грузится раньше consolefont и keymap. Без этих хуков у меня шрифт не работает (modules=nouveau, кстати, не ставил). С хуками работает. Естественно, все настроено через vconsole и locale. Точно ли проблема в systemd … Или я неправильно понимаю порядок загрузки? |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
time lordsХук consolefont грузится в initcpio действительно после udev, и после загрузки модулей, НО – только тех модулей, которые добавлены в сам initcpio. Если вы добавите свой DRM-модуль в initcpio, то хук consolefont запустится после него, и настроит вам шрифт в консоли. Если НЕ добавите – модуль загрузится уже ПОСЛЕ initcpio со всеми его хуками, запустит фреймбуфер и опять сбросит шрифт в дефолт, после чего вам остаётся надеяться только на то, что “основная” настройка шрифтов в initscripts или systemd сработает после этого модуля, а не до него. Если повезёт – у вас будет шрифт, не повезёт – не будет. Теоретически модуль может при своём старте сохранить текущий шрифт, а потом восстановить его уже в своём фреймбуфере. Такое видимо возможно, но насколько я заметил, intel (модуль i915) такого явно не делает. Поэтому я и сделал у себя в переносном Арче на флешке такое правило, которое настраивает шрифт именно в момент после запуска фреймбуфера, когда это и требуется – ни раньше, ни позже. |