LINUX.ORG.RU

Linux: показывать только черный экран при загрузке


4

1

Можно ли настроить ядро Linux так, чтобы при запуске был исключительно черный экран, чтоб ни буквы на экран не вылезло?

И если это решает Plymouth, то можно ли это без него сделать?

P.S. Просто это прошивка устройства, у которого не должно ничего вылезать на экран, и лишь полностью загрузившись - появится картинка с логотипом, например...

Просто отключаешь CONFIG_VT.

intelfx ★★★★★ ()
Ответ на: комментарий от lexxus-lex

Да, типа того. intelfx - спасибо, всё буду пробовать.

Заказчик очень хочет не афишировать присутствие Linux, хотя бы из соображений что текстовые мессаги похожи на хакерские заклинания и смущают потребителя (хотя лично я обожаю лог загрузки ядра :) ).

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

мессаги похожи на хакерские заклинания и смущают потребителя

Порнуху включай при загрузке - потребители будут в восторге.

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

Спасибо за заботу, родной, обязательно поставлю такую заставку.

I-Love-Microsoft ★★★★★ ()

loglevel=0 в комстроку ядра

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

Просто отключаешь CONFIG_VT.

Я уже пытаюсь. И как его «просто» отключить? :) Йидро у меня 3.17.1, самое свежайшее.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Пересобери ядро. Что конкретно нужно в конфиге отключить — не знаю, т. к. не занимался этим.

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

Оказалось в ядре эту опцию не выключить, а при попытках править конфиг - возвращает эту опцию. В общем, это оказалось не так уж тривиально и просто..

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Там от неё много чего зависит, особенно если брать дистрибутивный конфиг класса «всё включено». Начни с make defconfig и его уже кастомизируй.

intelfx ★★★★★ ()

Добавь опцию загрузки ядра: console=abracadabra

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

Не знаю насколько ты серьезно, но всё же переспрошу - это не шутка? Что это даст? Будет сыпать в несуществующую консоль и потому текст будет не виден, так?

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Будет сыпать в несуществующую консоль и потому текст будет не виден, так?

Да

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

Дааа! Не видно текста не то что от ядра, но и вообще от всего процесса загрузки! Спасибо, это хороший, дельный совет!

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от intelfx

Оказалось надо было лишь

+CONFIG_EXPERT=y
и стало доступно
+# CONFIG_TTY is not set

И лишь одна маленькая неприятность - не работает графика, X11 не видать, в общем капут. Но зато в консоль уверенно не сыпет ))) Но это уже другая проблема и задача...

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Вот оно как.

Но это, отключать нужно не TTY, а VT... Без TTY у тебя даже на последовательном порту консоли не будет.

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

Эээ... тоже не пахает, если просто VT отключить, однако побочным результатом стало что когда я вернул VT чтобы проверить заработало ли я обнаружил что реально текст, который я пытался убрать, больше не появляется. Задача решена на 100%.

+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set

Потом еще CONFIG_VGA_CONSOLE вырублю. Вот... А я то думал что за текст, а оказывается опция ядру quiet и console=null реально работали, а текст - это уже графическая консоль гадила.

Без TTY у тебя даже на последовательном порту консоли не будет.

Вот именно так для меня было бы идеально, но увы - иксы не стартовали без CONFIG_TTY и CONFIG_VT - странно...

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)

А как у всяких идиотских бубунт вместо кошерного текста показывается какая-то фигня (скажем, индикатор)?

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

plymouth или аналог. Другими словами, рисование в fbdev.

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

Так вот когда этот plymouth пропадает на несколько секунд - вылезает текст. Вот на QEMU вообще всё пропало, а теперь я вижу на реальном ноуте - всё же текст появляется, и видимо это уже текстовая консоль.

Значит не победил я еще...

У меня в OpenEmbedded psplash - всё равно есть текст. И вообще login консоль всё еще торчит, правда я ее прибил запретить логин в систему и не логинится.

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

Чтобы запустить иксы без VT, нужно немного пошаманить. Насколько я понял из блога David Herrman (того, кто написал kmscon и systemd-consoled), нужно запустить иксы без передачи им параметра vtXX и с параметром -sharevts (вероятно; там прямо об этом не сказано).

intelfx ★★★★★ ()

У железки есть serial console? Может быть лучше выводить все туда?

Рано или поздно придется железку мейнтейнить, нужно будет и смотреть в лог, и работать локально

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

В принципе, проблема решилась отключением вдобавок еще и CONFIG_VGA_CONSOLE - вот теперь айс!

Правда до этого можно было переключиться Ctrl+Alt+F1 между Ctrl+Alt+F2... Забыл проверить, решило ли убийство VGA-консоли возможность перехода на эту лишнюю нежелательную консоль...

P.S.

А про остальное - запрет логина рута при помощи звездочки в /etc/passwd- и логина через /bin/false. В добавок еще надо обнулить файл, где список всех портов, через которых рут может вообще зайти, там десятки всяких ttyUSB0 и прочих.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Ctrl+Fx — это и есть переключение между разными VT. Если ты выключил подсистему VT, ты выключил и эти комбинации клавиш тоже.

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

Прошу прощения что лишний раз тереблю, но где задается это «vtXX» и где иксы получают параметры для запуска чтобы добавить туда "-sharevts", у меня система с sysvinit, хотя иксы очень очень свежие, им не нужен Xorg.conf - там бы я прописал «Option „DontVTSwitch“ „on“»...

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

А кто их, собственно, стартует? (startx, xinit, кастомный скрипт или DM?)

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

Ах, точно, нашел что startx это лишь скрипт в внутрях у него есть:

defaultclient=xterm
defaultserver=/usr/bin/X
defaultclientargs=""
defaultserverargs=""
defaultdisplay=":0"
clientargs=""
serverargs=""
Это оно самое? В serverargs писать?

http://www.altlinux.org/X11/DualSeat

startx -- :1 -layout seat1 -novtswitch -sharevts vt8 -nolisten tcp
Как раз novtswitch и sharevts...

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 3)
Ответ на: комментарий от I-Love-Microsoft

Почти.

Проблема с startx в том, что в каждом дистре он потенциально свой собственный, уникальный и ни с чем не совместимый, так что...

  • используется ли xserverrc? Если да, то нужно либо заставить его не использоваться (т. е. передать startx-у путь до иксов явно), либо выпилить оттуда добавление параметра "vt$XDG_VTNR";
  • параметры лучше писать не внутрь startx (ибо затрётся при ближайшем обновлении), а туда, откуда запускается startx.
intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

используется ли xserverrc?

Нет.

Так начинается /usr/bin/startx у меня в OpenEmbedded:

#!/bin/sh

#
# This is just a sample implementation of a slightly less primitive
# interface than xinit.  It looks for user .xinitrc and .xserverrc
# files, then system xinitrc and xserverrc files, else lets xinit choose
# its default.  The system xinitrc should probably do things like check
# for .Xresources files and merge them in, start up a window manager,
# and pop a clock and several xterms.
#
# Site administrators are STRONGLY urged to write nicer versions.
#
И самое смешное он вообще более нигде не запускается, выполнил полный поиск по всем файлам - по содержимому. Стало быть внутри надо модифицировать.

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 2)
Ответ на: комментарий от intelfx

Сделал так:

userserverrc=$HOME/.xserverrc
sysserverrc=/etc/X11/xinit/xserverrc
defaultclient=xterm
defaultserver=/usr/bin/X
defaultclientargs=""
defaultserverargs="-novtswitch -sharevts"
defaultdisplay=":0"
clientargs=""
serverargs="-novtswitch -sharevts"
Но это не помогло, ведь:
-novtswitch            don't immediately switch to new VT
-sharevts              share VTs with another X server
В итоге все равно есть какие-то виртуальные консоли. Если попытаться убрать CONFIG_VT - иксы не работают.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Да, предполагалось убрать CONFIG_VT. А что случается с иксами в этом случае? Какие-то ошибки в логах, ещё что-то?

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

Не надо так сурово, достаточно в cmdline прописать quiet и ограничить loglevel.

Extraterrestrial ★★★★ ()

название продукта напиши, чтобы если что, требовать прошивку :)

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

Внутри не будет нарушений GPL, гарантирую (приприетарное будет исключительно отдельными программами) - так что фигулюшки :)

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от Extraterrestrial

Это НЕ работает. Черный экран есть при загрузке, но еще надо отключить другие виды консолей типа framebuffer- и vga-консоли. И осталось сделать так чтобы Ctrl+Alt+Fn не переключало консоли! А это у меня всё так и не получается сделать, уж что я не пробовал разве что подорожник не прикладывал.

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