patch provided. You probably don't want to apply it as-is as it breaks other scenarios. I had to completely remove devicemapper support to make it work.
It would be completely feasible to make it a compile option and provide two binary packages, but that would be more of a headache.
diff -ur lilo-23.2/src/config.h lilo-23.2.mine/src/config.h --- lilo-23.2/src/config.h 2006-12-16 17:55:12.000000000 -0800 +++ lilo-23.2.mine/src/config.h 2014-11-17 19:51:24.000000000 -0800 @@ -13,6 +13,8 @@ #ifndef CONFIG_H #define CONFIG_H +#undef HAS_LIBDEVMAPPER_H + /* undefine LCF_DEVMAPPER if the library is not present */ #ifdef LCF_DEVMAPPER # ifndef HAS_LIBDEVMAPPER_H diff -ur lilo-23.2/src/device.c lilo-23.2.mine/src/device.c --- lilo-23.2/src/device.c 2014-11-17 20:20:38.000000000 -0800 +++ lilo-23.2.mine/src/device.c 2014-11-17 20:28:23.000000000 -0800 @@ -924,8 +924,8 @@ if (is_dm_major(major)) { #ifndef LCF_DEVMAPPER warn("device-mapper (%d) referenced in " PARTITIONS ",\n" - " but LILO is configured without DEVMAPPER option. Skipping device.", major); - continue; + " but LILO is configured without DEVMAPPER option.", major); + /* This might be safe. */ #endif } else if ((major>=60 && major<=63) || (major>=120 && major<=127) ) { @@ -1307,10 +1307,13 @@ #if BETA_TEST if (verbose>=3) printf("J=%d K=%d\n", j, k); #endif +#if 0 +/* This check is simply wrong */ if (j<0 && k>=0) { die("Devices %04X and %04X are assigned to BIOS 0x%02X", vm[k].device, walk->device, bios+0x80); } +#endif } codes |= 1L << bios; } diff -ur lilo-23.2/src/geometry.c lilo-23.2.mine/src/geometry.c --- lilo-23.2/src/geometry.c 2011-04-09 08:03:29.000000000 -0700 +++ lilo-23.2.mine/src/geometry.c 2014-11-17 20:31:58.000000000 -0800 @@ -721,7 +721,7 @@ if (ioctl(fd,HDIO_GETGEO,&hdprm) < 0) die("geo_query_dev HDIO_GETGEO (dev 0x%04x): %s",device, strerror(errno)); - if (all && !hdprm.sectors) + if (all && !hdprm.sectors && (!geo->sectors || !geo->cylinders || !geo->heads)) die("HDIO_REQ not supported for your DAC960/IBM controller. " "Please use a DISK section"); geo->heads = hdprm.heads;