我正在尝试更改linux内核的启动徽标,并在特定时间段内显示特定的启动徽标。
我已按照此链接上的说明成功将默认启动徽标更改为自定义徽标:
http://www.armadeus.org/wiki/index.php?title=Linux_Boot_Logo
但是我不确定如何在特定时间段(例如每年10月15日至3月15日)显示自定义启动徽标。
我已经尝试使用下面从time.c获得的代码来获取系统的当前日期和月份:
unsigned long get_date_month(void)
{
unsigned int mon, day;
int i;
/* read RTC exactly on falling edge of update flag */
for (i = 0 ; i < 1000000 ; i++) /* may take up to 1 second... */
if (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP)
break;
for (i = 0 ; i < 1000000 ; i++) /* must try at least 2.228 ms */
if (!(CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP))
break;
do {
day = CMOS_READ(RTC_DAY_OF_MONTH);
mon = CMOS_READ(RTC_MONTH);
} while (day != CMOS_READ(RTC_DAY_OF_MONTH));
if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD)
{
BCD_TO_BIN(day);
BCD_TO_BIN(mon);
}
return mktime(mon, day);
}
我知道我可以通过以下代码比较特定日期是否介于多个日期之间:
((currentDay >= "1015") || (currentDay <= "0315"))
但是我不确定如何将这两个放在一起。