LINUX.ORG.RU

[Gentoo] hwclock ругается на rtc

 


0

0

В общем то глюк стандартный

# hwclock --show
select() to /dev/rtc to wait for clock tick timed out
и решение данной проблемы в виде добавления опции '--directisa' к аргументам hwclock давно известно. Но я во-первых не ищу легких путей, а во-вторых мне почему то такое решение представляется костылем и есть желание по человечески настроить RTC.

Единственным источником информации который предлагает решать данную проблему кардинально, оказалась thinkwiki. Решения предложенные там конечно работают, но на старых ядрах. В новых версиях ядра сделали новую подсистему для RTC.

Таким образом если я использую новую систему rtc со следующими опциями

CONFIG_HPET_EMULATE_RTC=y
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
# RTC interfaces
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
# I2C RTC drivers
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# SPI RTC drivers
# Platform RTC drivers
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
# on-CPU RTC drivers
то у меня hwclock не работает, а если старую (из Character Devices в menuconfig)
CONFIG_HPET_EMULATE_RTC=y
CONFIG_RTC=y
# CONFIG_SND_RTCTIMER is not set
# CONFIG_RTC_CLASS is not set
то все работает, но эта реализация rtc помечена как deprecated и видимо скоро будет удалена.

Посему вопрос к людям разбирающимся или пытавшимся разобраться в теме помочь настроить rtc.

З.Ы. Железка — лаптоп Dell Inspiron 1501.

★★★★★

А какая текущая версия ядра используется?
А если попробовать с параметрами ядра clocksource=hpet? Просто rtc в основном через hpet и эмулируется сейчас. У меня был Inspiron 1501, но был давно.. Опцию в биосе «HPET» стоит держать включённой.

eugeneblack
()
Ответ на: комментарий от eugeneblack

А какая текущая версия ядра используется?

nkt@doriath ~ % uname -a
Linux doriath 2.6.34-gentoo-r1 #3 PREEMPT Sun Jul 11 11:58:38 MSD 2010 i686 Mobile AMD Sempron(tm) Processor 3600+ AuthenticAMD GNU/Linux

А если попробовать с параметрами ядра clocksource=hpet?

Сейчас попробую

Опцию в биосе «HPET» стоит держать включённой.

Так и есть.

А насчет конфигурирования ядра есть какие рекомендации? Или

CONFIG_RTC_DRV_CMOS=y 
достаточно?

З.Ы. Спасибо огромное за отклик.

fat_angel ★★★★★
() автор топика
Ответ на: комментарий от fat_angel

Проверил опции ядра. Не сумел обнаружить CONFIG_RTC=y для 34 ядра. При обновлении ядра точно make oldconfig запускался?
Ещё вариант - проверить содержимое /etc/runlevels/sysinit - собирал недавно генту для своего маленткого сервера и при обновлении openrc не хватало сслыски на запуск udev.
ls /etc/runlevels/sysinit/
devfs dmesg udev udev-mount

eugeneblack
()
Ответ на: комментарий от eugeneblack

Не сумел обнаружить CONFIG_RTC=y для 34 ядра.

аналогично

desktop megabaks # hwclock --show
Вск 11 Июл 2010 23:17:50  -0.692154 секунд
desktop megabaks # zgrep RTC /proc/config.gz 
CONFIG_HPET_EMULATE_RTC=y
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
# RTC interfaces
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
# I2C RTC drivers
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# SPI RTC drivers
# Platform RTC drivers
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
# on-CPU RTC drivers

megabaks ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.