x86系の場合はあまり意識しなくても良いはずです。
今回は組み込み機器でLinux-2.6.18を使用して(2.6系であれば同じだと思います)、I2Cバスに接続されたRTCを認識・動作させるための方法です。RTCチップは"M41T00"を使用しました。"M41T00"は"DS1307"と互換があるため、標準のカーネルドライバが使用できるようです。
".config"ファイルを下記のように修正。
#
# Watchdog Cards
#
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
#
# Real Time Clock
#
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
#
# RTC drivers
#
CONFIG_RTC_DRV_DS1307=y
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
#
# I2C Hardware Bus support
#
CONFIG_I2C_*******=y /* 本項目は組み込み機器ごとに用意(すでに用意されている場合もある) */
"CONFIG_I2C_ALGOBIT=y"になっているのはGPIOによる制御を行うため、アルゴリズムをBIT制御としています。ちなみに、"CONFIG_RTC is not set"となっているのは、本項目を設定していると"/dev/rtc"が"udev"によって作成されるため、"hwclock"などのプログラムが正常に動作しなくなるため必要ありません。(hwclockが"/dev/rtc0"を参照してくれれば問題ないのですが、そうは行かないようです。)
"/etc/udev/link.conf"に下記の行を追加することによって、起動時に"udev"が"/dev/rtc0"が存在する場合、"/dev/rtc"にシンボリックリンクを張ってくれます。
L rtc /dev/rtc0