Назад | Перейти на главную страницу

Скрыть сообщения ядра в Plymouth

Я использую сервер Ubuntu 14.04 для киоск-приложения.
Проблема в том, что при запуске киоска ядро ​​показывает некоторые отладочные сообщения о таких вещах, как ошибка USB-порта и тому подобное, и эти уродливые сообщения отображаются на нашем экране-заставке Plymouth.
Есть ли способ предотвратить отображение таких сообщений при запуске? У меня уже есть "тихий всплеск" в моем конфигурационном файле grub.

Если вы просто хотите подавить эти сообщения, а не исправлять их, вы можете попробовать настроить kernel.printk sysctl, как указано в системный журнал man 2.

/ proc / sys / kernel / printk - это записываемый файл, содержащий четыре целочисленных значения, которые влияют на поведение функции printk () ядра при печати или регистрации сообщений об ошибках. Четыре значения:

console_loglevel

На консоль будут выводиться только сообщения с уровнем журнала ниже этого значения. Значение по умолчанию для этого поля - DEFAULT_CONSOLE_LOGLEVEL (7), но оно установлено в 4, если командная строка ядра содержит слово «тихий», 10, если командная строка ядра содержит слово «отладка», и 15 в случае ошибка ядра (10 и 15 просто глупые и эквивалентны 8). Значение console_loglevel может быть установлено (в диапазоне от 1 до 8) с помощью вызова syslog () с типом 8.

default_message_loglevel

Это значение будет использоваться как уровень журнала для сообщений printk (), которые не имеют явного уровня. До Linux 2.6.38 включительно жестко заданное значение по умолчанию для этого поля было 4 (KERN_WARNING); Начиная с Linux 2.6.39, значение по умолчанию определяется параметром конфигурации ядра CONFIG_DEFAULT_MESSAGE_LOGLEVEL, который по умолчанию равен 4.

minimum_console_loglevel

Значение в этом поле - минимальное значение, которое можно установить console_loglevel.

default_console_loglevel

Это значение по умолчанию для console_loglevel.

Цифры выделены таким образом в kern_levels.h.

#define KERN_EMERG    "<0>"  /* system is unusable               */
#define KERN_ALERT    "<1>"  /* action must be taken immediately */
#define KERN_CRIT     "<2>"  /* critical conditions              */
#define KERN_ERR      "<3>"  /* error conditions                 */
#define KERN_WARNING  "<4>"  /* warning conditions               */
#define KERN_NOTICE   "<5>"  /* normal but significant condition */
#define KERN_INFO     "<6>"  /* informational                    */
#define KERN_DEBUG    "<7>"  /* debug-level messages             */

Вероятно, вы захотите отображать сообщения CRITICAL, ALERT и EMERGENCY, поэтому установите все на kernel.printk = 3 3 3 3 в sysctl.conf должен выдавать вам только сообщения, требующие от кого-то каких-либо действий для правильной работы киоска / машины.

Эти сообщения являются предупреждениями ядра и имеют более высокий приоритет, чем обычные сообщения отладки. Вот почему вы их видите. Я думаю, что исправление ошибки вашего USB-порта должно заставить их исчезнуть.