Почему часы на моем лэптопе показывают неправильное время?
В вашем лэптопе установлены двое или большее количество таймеров, а FreeBSD выбрала не тот.
Запустите и посмотрите строки, содержащие слово Timecounter. В последней из них указан таймер, выбранный системой, и, скорее всего, это будет TSC.
# dmesg | grep Timecounter
Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 595573479 Hz
Вы можете удостовериться в этом, проверив sysctl(3)-переменную kern.timecounter.hardware.
# sysctl kern.timecounter.hardware
kern.timecounter.hardware: TSC
BIOS может изменить частоту TSC--может, для изменения скорости работы процессора при работе от батареек или переводя в режим пониженного электропитания, но FreeBSD не отслеживает это и в результате часы начинают спешить или отставать.
В этом примере имеется также и таймер i8254, и он может быть выбран записью его имени в sysctl(3)-переменную kern.timecounter.hardware.
# sysctl -w kern.timecounter.hardware=i8254
kern.timecounter.hardware: TSC -> i8254
Теперь ваш лэптоп будет аккуратнее следить за временем.
Чтобы это изменение вступало в силу во время загрузки системы, добавьте в файл /etc/sysctl.conf такую строчку.
kern.timecounter.hardware=i8254