This is quick fix for boot. diff -Nru linux-2.5.64-ac3/drivers/ide/ide-probe.c linux-2.5.64-ac3-quick-fix/drivers/ide/ide-probe.c --- linux-2.5.64-ac3/drivers/ide/ide-probe.c 2003-03-08 12:29:29.000000000 +0900 +++ linux-2.5.64-ac3-quick-fix/drivers/ide/ide-probe.c 2003-03-10 21:25:30.000000000 +0900 @@ -1392,7 +1392,8 @@ if (!hwif->present) continue; for (unit = 0; unit < MAX_DRIVES; ++unit) - ata_attach(&hwif->drives[unit]); + if (hwif->drives[unit].present) + ata_attach(&hwif->drives[unit]); } } if (!ide_probe) diff -Nru linux-2.5.64-ac3/drivers/ide/ide.c linux-2.5.64-ac3-quick-fix/drivers/ide/ide.c --- linux-2.5.64-ac3/drivers/ide/ide.c 2003-03-08 12:29:29.000000000 +0900 +++ linux-2.5.64-ac3-quick-fix/drivers/ide/ide.c 2003-03-10 21:29:00.000000000 +0900 @@ -2377,7 +2377,8 @@ while (!list_empty(&list)) { ide_drive_t *drive = list_entry(list.next, ide_drive_t, list); list_del_init(&drive->list); - ata_attach(drive); + if (drive->present) + ata_attach(drive); } driver->gen_driver.name = (char *) driver->name; driver->gen_driver.bus = &ide_bus_type;