Как отключить сообщения на консоль во время загрузки Coral Dev Board?

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

Я установил параметр bootargs в U-Boot, чтобы передать тишину в качестве параметра ядра, чтобы отключить консоль, используя следующие команды:

setenv bootargs quiet
saveenv

Я также добавил следующие строки в конфигурационный файл U-Boot imx8mq_phanbell.h:

CONFIG_SILENT_CONSOLE
CONFIG_SILENT_CONSOLE_UPDATE_ON_SET
CONFIG_SYS_DEVICE_NULLDEV

Затем я пересобрал u-boot, прошил его на плату и установил для переменной u-boot значение 1.

Ни одно из этих изменений не повлияло на вывод из консоли во время загрузки. Можете ли вы помочь мне с этой проблемой?


person Fredrik    schedule 09.10.2019    source источник
comment
Я установил параметр bootargs... -- Вам необходимо подтвердить, какая именно командная строка использовалась для загрузки ядра. Проверьте журнал загрузки, на который вы жалуетесь (или дамп /proc/cmdline), на предмет фактической используемой командной строки ядра. Проверьте конфигурацию ядра, чтобы определить, откуда взялась эта командная строка (например, из дерева устройств?). См. stackoverflow.com/questions/48801998/   -  person sawdust    schedule 11.10.2019
comment
вы можете войти через mdt shell с кабелем OTG, даже не видя журнала. С последовательной консолью вы можете запустить sudo dmesg -D отключить журнал ядра, но вы не должны отключать его навсегда.   -  person Nam Vu    schedule 16.10.2019
comment
@NamVu @sawdust Дамп /proc/cmdline: console=ttymxc0,115200 console=tty0 earlycon=ec_imx6q,0x30860000,115200 root=PARTUUID=70672ec3-5eee-49ff-b3b1-eb1fbd406bf5 rootfstype=ext4 rw rootwait init=/sbin/init net.ifnames=0 pci=pcie_bus_perf Использование sudo dmesg -D не отключает для меня журнал ядра.   -  person Fredrik    schedule 12.12.2019


Ответы (2)


Я решил свою проблему, сначала добавив параметр quiet к переменной cmdline, определенной в файле boot.txt, найденном здесь: https://coral.googlesource.com/build/+/refs/heads/docker/boot.txt.

Затем я скомпилировал boot.txt в файл образа сценария с помощью инструмента mkimage и заменил boot.scr, используемый U-Boot в /boot, этим файлом.

Это действительно сокращает время загрузки.

person Fredrik    schedule 13.12.2019

Спасибо Фредрику за ответ, чтобы повторить, но это работает для любых параметров ядра, которые необходимо добавить:

  • Скачать boot.txt:
$ curl https://coral.googlesource.com/build/+/refs/heads/docker/boot.txt\?format\=TEXT | base64 --decode | tee boot.txt > /dev/null
  • Установите mkimage:
$ sudo apt install u-boot-tools
  • Внесите необходимые изменения в строку cmdline="", для этого примера нам нужно добавить "quiet loglevel=0":
cmdline=<preexsisting> + quiet loglevel=0
  • скомпилировать в boot.scr:
$ mkimage -A arm -T script -O linux -d boot.txt boot.scr
  • заменить файл загрузочного образа
$ mv boot.scr > /boot

Перезагрузитесь, и новые параметры ядра должны быть загружены.

person Nam Vu    schedule 27.03.2020