Я пытаюсь изменить загрузочный логотип ядра Linux и показать определенный загрузочный логотип в течение определенного периода времени.
Я успешно изменил загрузочный логотип по умолчанию на пользовательский, следуя инструкции наэта ссылка:
http://www.armadeus.org/wiki/index.php?title=Linux_Boot_Logo
Но я не уверен, как отобразить логотип загрузки для определенного периода времени, например, с 15 октября по 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"))
Но я не уверен, как соединить эти два.