How to Get Your CD-Writer Works in Linux

by Iwan Setiawan
http://www.duniasemu.org/writings

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
...
or
$ 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)
    or
    <M> SCSI emulation support (kernel module)
    In SCSI support:
    <M> SCSI CD-ROM support
    <M> SCSI generic support

    Note:
    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 System.map to boot partition/directory.
    # cp /usr/src/linux/System.map /boot/System.map-2.4.18-2
    
  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 System.map, this links link to the old System.map.
    # rm /boot/System.map
    
  8. Create symlinks to the new System.map.
    # ln -s /boot/System.map-2.4.18-2 /boot/System.map
    
  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"
    read-only
    append="hdc=ide-scsi"
    ---
    
  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.

X-CD-Roast

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.

Steps:

  1. Download xcdroast from www.xcdroast.org, 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
    CDRTOOLS_PREFIX=/usr
    ---
    

  5. Compile.
    $ make
    
  6. Switch to superuser.
    $ su
    Password:
    
  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
    Password:
    
  3. Run xcdroast and configure it with super user access.
    # xcdroast
    
    I'm sure you will configure X-CD-Roast easily by yourself.
    Screenshot:
When you finished configure X-CD-Roast as superuser, you will be able to burn CDs from user account you add in Setup-Users.

Screenshot

Duplicate CD

Create CD Writing

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

Reference

EOF