Да, содержимое файла file / sys / block / xxx / queue / cache_type позволяет определить, требуется ли устройству очистка кеша или нет. Из Documentation / block / queue-sysfs.txt в исходном коде ядра Linux:
write_cache (RW)
----------------
When read, this file will display whether the device has write back
caching enabled or not. It will return "write back" for
the former case, and "write through" for the latter. Writing to this
file can change the kernels view of the device, but it doesn't alter
the device state. This means that it might not be safe to toggle the
setting from "write back" to "write through", since that will also
eliminate cache flushes issued by the kernel.
Если содержимое этого файла является «сквозной записью», то устройство утверждает, что оно не работает требует очистки кеша.
Если содержимое этого файла «обратная запись», то устройство утверждает, что оно действительно требует очистки кэша.
Предполагая, что systemd рассматривает ttyAMA0
как последовательный порт так же, как ttyS0
на ПК, вам нужно отредактировать команду, запускаемую serial-getty@ttyAMA0.service
.
(Вы можете проверить, показывает ли systemctl status serial-getty@ttyAMA0
, что он активен.)
Базовая версия находится в /lib/systemd/system/serial-getty@. service
и внутри него мы находим команду, запускающую getty:
ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
Создайте файл переопределения для службы запуска agetty
с --autologin root
:
Создайте каталог /etc/systemd/system/serial-getty@ttyAMA0.service.d
, а в нем файл override.conf
со следующим содержанием:
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM
Затем перезагрузите systemd и мы сможем проверить, что новая конфигурация на месте:
# systemctl daemon-reload
# systemctl cat serial-getty\@ttyAMA0 | grep Exec
(мы должны увидеть новую команду в последней строке ExecStart
. )
Если вы хотите автологиниться только после нажатия клавиши, добавьте -p
или --login-pause
в командную строку agetty
.
На странице, на которую вы дали ссылку, говорится о настройке автоматического входа в систему на виртуальной консоли: они настраиваются через getty@.service
, а командная строка, используемая для agetty
, немного отличается (кажется, просто отсутствует опция --keep-baud
). В этом случае мы будем использовать, скажем, /etc/systemd/system/getty@tty1.service.d/override.conf
для tty1
.
Есть ответ в Ask Ubuntu с более подробной информацией о переопределении конфигурации systemd.
В системе с sysvinit вместо systemd, вам нужно добавить/изменить строку, соответствующую последовательному порту в /etc/inittab
:
T0:23:respawn:/sbin/getty -L ttyAMA0 --autologin root 38400 vt100