Установка HW синхронизирует с выскочкой

У меня есть маленькая встроенная плата (Jetson TX1), который запускает Ubuntu 14.04. Плата поставщика услуг, к которой смонтирована микросхема, не имеет условий для резервной батареи или суперограничения, таким образом, часы теряют время каждый раз, когда это отключило (и обычно не будет Интернета, соединенного для установки его тот путь). У меня есть модуль тактовой синхронизации I2C c батарейным питанием, который я использовал прежде. Часы требуют модуля ядра, который я успешно скомпилировал и установил (я адаптировал инструкции, найденные здесь к TX1.) После того, как система полностью загружается, я могу установить системные часы через:

$> echo ds3231 0x68 | sudo tee /sys/class/i2c-dev/i2c-1/device/new_device
$> sudo hwclock -s -f /dev/rtc2

который работает отлично. Я хотел бы сделать это автоматически на начальной загрузке, и кажется, что выскочка является правильным инструментом. На самом деле уже существует задача/etc/init/hwclock.conf, чтобы сделать это со встроенным RTC (т.е. тот, который проигрывает, время, потому что это не имеет никакой батареи), таким образом, я полагаю, что могу просто угнать его. Это - содержание:

# hwclock - adjust system clock and timezone
#
# The hwclock task adjusts the system clock when the hardware clock is
# set to localtime (e.g. when dual-booting with Windows), and also
# ensures that the system timezone is set so that timestamps are written
# to FAT devices.

description "adjust system clock and timezone"

start on starting mountall

task

script
    . /etc/default/rcS
    [ "$UTC" = "yes" ] && tz="--utc" || tz="--localtime"
    [ "$BADYEAR" = "yes" ] && badyear="--badyear"
    exec hwclock --systz $tz --noadjfile $badyear
end script

Я изменил его на:

start on starting mountall

task

script
    /bin/echo "ds3231 0x68" > /sys/class/i2c-dev/i2c-1/device/new_device
    /sbin/hwclock -sf /dev/rtc2
end script

но на перезапуске, не установлено системное время и если я смотрю в /var/logs/upstart/hwclock.log, это сообщение дано:

hwclock: Cannot access the Hardware Clock via any known method
hwclock: Use the --debug option tosee the details of our search for an access method.

чтобы мне походит на его выполнение задачи, прежде чем модуль ядра будет загружен. Я попробовал другие события такой start on filesystem и start on runlevel [2345] напрасно. однако после начальных загрузок системы я могу ввести просто sudo hwclock -sf /dev/rtc2 и это работает.

ОБНОВЛЕНИЕ: Я просто попробовал событие start on runlevel [23456] и это на самом деле, кажется, работает. Я не уверен, почему добавление 6 к runlevels заставляет его работать, так как я думал, что уровень выполнения 6 был для перезагрузки? Действительно ли это - лучшее событие или является там лучшим, чтобы удостовериться, что часы установлены надежно?

1
задан 9 February 2017 в 17:41

0 ответов

Другие вопросы по тегам:

Похожие вопросы: