How to Get Your CD-Writer Works in Linux

by Iwan Setiawan

2003/05/06 07:20:16 - Update screenshot
2003/04/22 21:09:32 - Initial release

When you buy a cd-writer, you probably think about how to use it in Linux. This article will show you the simple and dirty way to get it works.

SCSI Emulation Support

You should activate SCSI emulation support in the Linux kernel.
If you find boot-messages somethin' like this when booting your Linux box or type dmesg command, maybe you have SCSI emulation support in the kernel, then you could skip this part.
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
  Vendor: ASUS      Model: CRW-3212A         Rev: 1.0
  Type:   CD-ROM
$ dmesg
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
  Vendor: ASUS      Model: CRW-3212A         Rev: 1.0
  Type:   CD-ROM

The dirty way:
  1. Go to your kernel-source-directory then config.
    # cd  /usr/src/linux
    # make menuconfig

  2. In Main Menu:
    Choose ATA/IDE/MFM/RLL support --->
    Press space key to activate ATA/IDE/MFM/RLL support and it will show an asterix in the bracket.
    <*> ATA/IDE/MFM/RLL support
    Then choose IDE, ATA and ATAPI Block devices --->
    <*> SCSI emulation support (Support in the kernel)
    <M> SCSI emulation support (kernel module)
    In SCSI support:
    <M> SCSI CD-ROM support
    <M> SCSI generic support

    Option SCSI emulation support appeared if you also select SCSI support in Main menu and enable it as module or built-in the kernel.

  3. Press Exit then you will be prompted a question:
    Do you wish to save your new kernel configuration?
    You should choose Yes to save the config.
  4. Let's make dependency, clean, compile kernel, kernel-modules, and install kernel-modules.
    Type the command below:
    # make dep; make clean; make bzImage; make modules; make modules_install
    Please make a coffee or somethin' while waiting the process finished.
  5. Copy to boot partition/directory.
    # cp /usr/src/linux/ /boot/
  6. Copy image kernel to boot partition/directory.
    # cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.18-2
  7. Remove symlinks, this links link to the old
    # rm /boot/
  8. Create symlinks to the new
    # ln -s /boot/ /boot/
  9. Edit your lilo.conf with your favorite editor, add line append="hdX=ide-scsi".
    Change X to the config CD-Writer --primary master (hda), primary slave(hdb), secondary master(hdc) or secondary slave(hdd).
    # vi /etc/lilo.conf
    image = /boot/vmlinuz-2.4.18-2
    root = /dev/hda9
    label = "Slackware 8.1"
  10. Type lilo in command-line to install new LILO.
    # lilo
  11. Reboot your system and boot to the new kernel, you'll get SCSI emulation support.


In this part you will find steps to install and configure X-CD-Roast, one of GUI CD-burning program in Linux, from tarbal.
If you have precompiled package of xcdroast, just install it with your software package maintenance like rpm, pkgtool, etc then you could skip this part.
Requirements: Note:
Usually glib, gtk+, libungif, zlib, libpng, and gdk-pixbuf are installed when you install Linux for all distro. Remember! usually! ;p so check whether they already installed or not.


  1. Download xcdroast from, v0.98alpha10 when i write this article.
  2. Open/extract xcdroast tarbal.
    $ tar zxvf xcdroast-0.98alpha10.tar.gz
  3. Change directory to xcdroast-0.98alpha10.
    $ cd xcdroast-0.98alpha10
  4. Change CDRTOOLS_PREFIX in Makefile where cdrecord installed (default /usr/local/bin). If cdrecord in /usr/bin you should change CDRTOOLS_PREFIX to /usr without bin.
    $ vi Makefile
    # put here the prefix where you want xcdroast to look for
    # cdrecord/mkisofs/readcd/cdda2wav.
    # e.g. /usr

  5. Compile.
    $ make
  6. Switch to superuser.
    $ su
  7. Install xcdroast, change the PREFIX to your prefix directory you wish xcdroast installed or just type make install.
    # make [PREFIX] install

Running and Configuring X-CD-Roast

  1. Try to start XWindow.
    # startx
  2. Start xterminal then switch to superuser with su command.
    $ su
  3. Run xcdroast and configure it with super user access.
    # xcdroast
    I'm sure you will configure X-CD-Roast easily by yourself.
When you finished configure X-CD-Roast as superuser, you will be able to burn CDs from user account you add in Setup-Users.


Duplicate CD

Create CD Writing

Happy burning!
Help or comments please send to stwn[at]duniasemu[dot]org.