由hwclock --debug报错引发的一些列思考和尝试

之前已经知道BIOS时间有两种表现形式:

UTC:0时区时间

CST:localtime 8时区 即北京时间

而通过hwclock --debug可以查看当前硬件时间的表现形式。之前的虚机中hwclock --debug命令是可以正常的,但是最近的一个虚机中报错了,具体错误信息如下:


通过上网搜索资料,了解到是系统内部模块出现问题导致,所以下载了util-linux-ng-2.18.tar.gz,进行了编译安装。具体步骤为

#tar -xzvf util-linux-ng-2.18.tar.gz

#cd util-linux-ng-2.18

#./configure

#make 

#make install

#cd hwclock

#./hwclock --debug 

执行到此的时候,hwclock --debug命令还是报错了。


上网进行了搜索,找到原因,是因为在修改内核配置的时候,没有对Device Drivers -> Real Time Clock 进行勾选。于是,我尝试下载内核源码进行编译内核的操作。

首先是到www.kernel.cn上下载对应版本的linux内核源码,我下载的是linux-2.6.32.6.tar.gz。

#cp linux-2.6.32.6.tar.gz /usr/src

#tar -xzvf linux-2.6.32.6.tar.gz

#cd linux-2.6.32.6

#make clean 

#make mrproper

#make menuconfig

在执行make menuconfig命令的时候,出现了错误:


这是因为我没有装ncurses依赖包。所以去找到ncurses-5.6.tar.gz,下载下来。

#tar -xzvf ncurses-5.6.tar.gz

#./configure --without-cxx-binding 

要加--without-cxx-binding ,我第一次没加,就报错了。


然后,继续按照ncurses操作

#make 

#make install

这样就顺利安装了ncurses,在执行make menuconfig命令的时候也不会报错了,找到了Device Drivers -> Real Time Clock,并进行了勾选。然后保存设置退出。

下一步是执行 #make

#make modules_install install

执行结束之后,去/etc/grub.conf查看其内容:


其中有我编译的内核2.6.32.6,然后重启启动。

在grub选择时,按上下键,选择相应的内核启动。


这样勾选了Device Drivers -> Real Time Clock,编译安装的内核就可以顺利执行hwclock --debug操作了,它可以找到rtc设备来做为接口与硬件交互,取到硬件时间相关内容。

第一次写微博。希望下一次写更顺手些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值