Я использую сервер 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-порта должно заставить их исчезнуть.