Linux - 12 - burning CDs - kernel 2.6.9

After searching on google for help. There appear to have been problems prior to kernel 2.6.9 burning CDs. IDE-SCSI emulation module is no longer supported. So you don't have to emulate your IDE burner as a SCSI device, which seems a sensible idea. So remove that "append="hdc=ide-scsi" line from your lilo or grub configuration.

My configuration. No patches on anything.

IDE burners - important

For IDE burners your device should be set to "ATA:/dev/hdx" (as dev parameter in cdrecord or in the device box under cdrecord override defaults in gcombust) where hdx is the device for your burner.

Burning as non root user is possible

Despite many posts on forums to the contary burning CDs as a non-root user is possible - Providing /dev/hdc permissions are set accordingly.

Building CDR tools

i had problems building the CDR tools package, the cause of these was that /usr/src/linux was pointing at my current 2.6.9 kernel headers, and not the ones which matched my glibc version. This was my stupid fault. An example of the errors this caused are as follows:

/usr/src/linux/include/linux/byteorder/little_endian.h:43: error: parse error before "__cpu_to_le64p"
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__cpu_to_le64p':
/usr/src/linux/include/linux/byteorder/little_endian.h:45: error: `__le64' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h:45: error: (Each undeclared identifier is reported only once
/usr/src/linux/include/linux/byteorder/little_endian.h:45: error: for each function it appears in.)
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:47: error: parse error before '*' token
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__le64_to_cpup':
/usr/src/linux/include/linux/byteorder/little_endian.h:49: error: `p' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:51: error: parse error before "__cpu_to_le32p"
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__cpu_to_le32p':
/usr/src/linux/include/linux/byteorder/little_endian.h:53: error: `__le32' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:55: error: parse error before '*' token
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__le32_to_cpup':
/usr/src/linux/include/linux/byteorder/little_endian.h:57: error: `p' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:59: error: parse error before "__cpu_to_le16p"
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__cpu_to_le16p':
/usr/src/linux/include/linux/byteorder/little_endian.h:61: error: `__le16' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:63: error: parse error before '*' token
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__le16_to_cpup':
/usr/src/linux/include/linux/byteorder/little_endian.h:65: error: `p' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:67: error: parse error before "__cpu_to_be64p"
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__cpu_to_be64p':
/usr/src/linux/include/linux/byteorder/little_endian.h:69: error: `__be64' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h:69: error: parse error before "__swab64p"
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:71: error: parse error before '*' token
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__be64_to_cpup':
/usr/src/linux/include/linux/byteorder/little_endian.h:73: error: `p' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:75: error: parse error before "__cpu_to_be32p"
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__cpu_to_be32p':
/usr/src/linux/include/linux/byteorder/little_endian.h:77: error: `__be32' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h:77: error: parse error before "__swab32p"
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:79: error: parse error before '*' token
/usr/src/linux/include/linux/byteorder/little_endian.h: In function `__be32_to_cpup':
/usr/src/linux/include/linux/byteorder/little_endian.h:81: error: `p' undeclared (first use in this function)
/usr/src/linux/include/linux/byteorder/little_endian.h: At top level:
/usr/src/linux/include/linux/byteorder/little_endian.h:83: