Howto setup an ATAPI CD-RW/DVD+-RW recorder on Debian/Ubuntu ============================================================ This guide should be applicable to most kernel 2.6 using distributions of GNU/Linux. For installations with kernel 2.4, continue reading below. Kernel 2.6.* ============ If you have just one CD writer in your computer, CD-writing should work out of the box. There should be a symbolic link /dev/cdrw which points to your actual CD-Writer's device (e. g. /dev/hdb). If the link is not present (eg. the system is not using udev/devfs) or if you want to use a different device as default, you can configure the device in /etc/wodim.conf: CDR_DEVICE=/dev/hdd would configure the default device to be /dev/hdd, i. e. the slave device on the secondary IDE bus. You can always override this default setting with wodim's "dev" option: wodim dev=/dev/hdc ... Only users part of the system group "cdrom" are able to write CDs. If you wish to allow non-root users to write CDs then add your users to the cdrom group ("adduser user cdrom") and let the user completely logout and re-login. Note: with certain kernel versions wodim can fail with this message: "wodim: Operation not permitted. Cannot send SCSI cmd via ioctl" In this case it still does need the suid bit - please send patches if you have identified the reason of that problem. Kernel 2.4.* (for 2.5/2.6, see above) ===================================== Where we start: Linux: Kernel 2.4.20-bf2.4 (Debian package kernel-image-2.4.20-bf2.4) Distribution: Debian Woody 3.0r2, i386 Devices: one CDRW-Writer, one CDROM-drive, both ATAPI 1. Become root, try "grep hd.: /var/log/kern.log" to find out where your ATAPI-devices are connected to (hd?-names). 2. Edit your boot configuration file, eg. /etc/lilo.conf if you use lilo or the batch-file if you boot via loadlin. 3. Find a line where you can append additional kernel parameters, eg. "append=" in lilo.conf or the loadlin-line in the batch file. 4. Append sth. like this: "hdb=ide-scsi hdc=ide-scsi max_scsi_luns=1" The hdX-parameters defines devices that should be mapped to SCSI latter. You may do it with non-writers too, since the emulation layer is almost complete. Or omit some so the devices will use their native drivers (eg. ide-cd). 5. Save the file, reinstall the bootloader (ie. running "/sbin/lilo") 6. Call "modconf" in a console or xterm, enter the section "kernel/drivers/scsi", load "sg" and "ide-scsi" 7. Reboot Debian, watch while booting, you should see a line like this: "Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0". Your old ATAPI devices virtually don't exist any longer, you cannot refer to /dev/hd* as CDROM drives. Use the SCSI equivalents instead, /dev/sr*. 8. Become root, setup devices: cd /dev MAKEDEV sg scd ln -s scd0 cdrom # NOTE: or cdrw, first check which drive is here ln -s scd1 cdrw # NOTE: see above, maybe cdrom Check the new SCSI settings: wodim -scanbus Setup wodim's environment - edit /etc/wodim.conf: CDR_DEVICE=cdrw cdrw=1,0,0 4 8m cdrom=1,2,0 0 0m Insert the right values, the fields are described in the manpage of wodim. Alternatively, you may use these values as wodim-parameter or take a frontend with an own configuration scheme, then you don't need to modify /etc/wodim.conf. The columns must be separated by tabs. 9. It's done! Insert a CD and try "wodim -v -toc". To create your first CD-ROM, try: mkisofs -v -r -J /directory/to/be/written | wodim -v -dummy - (read wodim(1), "man 1 wodim", for details) 10. If you wish to allow non-root users to write CDs, you must give them permissions to do so. Set suid-root permissions on the executable, then add your users to the cdrom group ("adduser user cdrom") and let the user completely logout and re-login.