Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Howto: Get SCSI emulation working with ATAPI CDR/DVDR
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
garamatt
n00b
n00b


Joined: 26 Jun 2004
Posts: 31

PostPosted: Tue Jul 20, 2004 4:38 am    Post subject: Howto: Get SCSI emulation working with ATAPI CDR/DVDR Reply with quote

This is my first howto and I wish to help others with a similar problem. Others are welcome to give me feedback.

First, this howto is only relevant for kernel-2.4 users. Kernel 2.6 has ATAPI CDRs working. Second, kernels configured using genkernel might already have SCSI emulation properly working. If you are sure your kernel is properly configured scroll lower to Part 4.

Part 1 - Configuring the Kernel

First thing is first, the kernel. Go to your /usr/src/linux directory, if you are using only one kernel. If you have more than one kernel, goto your /usr/src/linux-2.4-* directory. Note: /usr/src/linux is a symbolic link pointing to your /usr/src/linux-2.4-* directory.
Code:
cd /usr/src/linux
Now that we are in the correct place, call up a menu config application. For the purposes of the Howto we will use menuconfig
Code:
make menuconfig
Use arrow-keys to navigate the items. First use the arrow-keys to navigate to the selection called "ATA/IDE/MFM/RLL support".Hit Enter. Make sure that ATA/IDE/MFM/RLL support is built in. Do this by selecting it, and pressing spacebar twice OR pressing "y" on your keyboard. It should look like:
Code:
<*> ATA/IDE/MFM/RLL support

Now navigate down to "IDE, ATA and ATAPI Block devices" and hit enter.
Navigate down to "SCSI emulation support", which is about the 11th selection, and press "y" here again to build it into the kernel.
Code:
<*> SCSI emulation support

Now we need to go up two levels in the menuconfig. Do this by using the right arrow key to select "Exit" at bottom center and hit Enter. Do this twice. Now navigate down one selection to "SCSI support", hit Enter. From now on I'm not going to write hit Enter, you will know what you have to do. Make sure "SCSI support" is built in and that "SCSI generic support" is built in.
Code:
<*> SCSI support
<*> SCSI generic support

Exit menuconfig by using "Exit", when it asks you if you want to save the configuration say yes and hit Enter.

Part 2 - Compiling the Kernel
Since we have not specified any modules to be compiled the command that will do the trick for us is
Code:
make dep && make clean && make bzImage
.

This part does take a while so you might as well play your favorite game of solitare or play chess online, nothing too CPU grinding.

Part 3 - Copying bzImage
First mount the boot partition. For me the command is
Code:
mount /boot
This command mounts the boot partition in the directory /boot. You may have your /etc/fstab differently configured. Some people like to copy the .config file and System.map file to the /boot partition just to be safe, but I do not do that. I just copy the bzImage to the boot partition using the command (Note: I am still in /usr/src/linux)
Code:
cp arch/i386/boot/bzImage /boot/kernel-2.4-20-gentoo-r14
Note: instead of kernel-2.4.20-gentoo-r14, use your own kernel version, but it is not important to the computer.

Part 4 - Configuring Grub
I apologize for those Lilo users out there that are reading this, but I have no experience with Lilo. I am also not sure on this process if you have used genkernel to make your kernel bzImage. Perhaps someone will post on this topic.
I have a two hardrive setup on my machine, with Fedora Core on my first hardrive. So I first mount the boot partition of my first harddrive
Code:
mount /dev/hda1 /mnt/boot-hda1
Others with a one harddrive setup can do (Note: in the previous step called "Copying the bzImage" you had to have done this step, so if you did don't do it again.)
Code:
mount /boot
Now I enter the grub directory on that boot partition
Code:
cd /mnt/boot-hda1/grub
OR if 1 harddrive setup:
cd /boot/grub
and I open grub.conf with nano
Code:
 nano -w grub.conf
Here is a sample of my grub.conf. Remember: /dev/hdb1 in "Grub Talk" is actually (hd1,0).
Code:

# grub.conf generated by anaconda
#
default=2
timeout=10
splashimage=(hd1,1)/grub/splash.xpm.gz
title Gentoo (2.4.25-r4)
   root (hd0,0)
   kernel (hd1,1)/kernel-2.4.25-gentoo-r4 root=/dev/hdb4
title Gentoo (2.6.5-r1)
   root (hd0,0)
   kernel (hd1,1)/kernel-2.6.5-gentoo-r1 root=/dev/hdb4
title Gentoo-Gaming (2.4.20-r14)
   root (hd0,0)
   kernel (hd1,1)/kernel-2.4.20-gaming-r14 root=/dev/hdb4 hdc=scsi
title Fedora Core (2.4.22-1.2179.nptl)
   root (hd0,0)
   kernel /vmlinuz-2.4.22-1.2179.nptl ro root=LABEL=/ exec-shield=0 hdc=ide-scsi hdd=ide-scsi rhgb
   initrd /initrd-2.4.22-1.2179.nptl.img
title Fedora Core (2.4.22-1.2115.nptl)
   root (hd0,0)
   kernel /vmlinuz-2.4.22-1.2115.nptl ro root=LABEL=/ exec-shield=0 hdc=ide-scsi hdd=ide-scsi rhgb
   initrd /initrd-2.4.22-1.2115.nptl.img
title Winbloze (Use at your own risk!)
   map (hd0) (hd1)
   map (hd1) (hd0)
   rootnoverify (hd1,0)
   chainloader +1
   makeactive
   boot
We are specifically interested in
Code:

title Gentoo-Gaming (2.4.20-r14)
   root (hd0,0)
   kernel (hd1,1)/kernel-2.4.20-gaming-r14 root=/dev/hdb4 hdc=scsi
Why? because that is the 2.4 kernel which needs SCSI emulation. Note that the bzImage actually resides on /dev/hdb2, which is my Gentoo boot partition (hdb1 is Winbloze). Please note that a special parameter has been passed to the kernel options after root=/dev/hdb4. It is
Code:
hdc=scsi
This specifies to the kernel, telling it that hdc, which is a CDR needs SCSI emulation. If you have troubles deciding which hdX to choose for SCSI emulation, make sure that it is a CDR/DVDR and take the following into account. The Secondary Master is usually refered to as /dev/hdc in linux, while the Secondary Slave is referred to as /dev/hdd in linux. Note: this is not always correct but it most likely is.
After you have added that to your Grub Config save it and reboot the computer.

Part 5 - (Optional) See if it works

If you do not have cdrecord
Code:
emerge cdrecord
To see if SCSI driver emulation is working pass the command
Code:
cdrecord -scanbus
This is the output my cdrecord gave
Code:

Cdrecord-Clone 2.01a28 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jörg Schilling
Using libscg version 'schily-0.8'.
scsibus0:
   0,0,0     0) 'PLEXTOR ' 'CD-R   PX-W1210A' '1.02' Removable CD-ROM
   0,1,0     1) *
   0,2,0     2) *
   0,3,0     3) *
   0,4,0     4) *
   0,5,0     5) *
   0,6,0     6) *
   0,7,0     7) *


You can now check the drive with cdrecord. For me the command is
Code:
cdrecord dev=0,0,0 -checkdrive
It gives me
Code:

Cdrecord-Clone 2.01a28 (i686-pc-linux-gnu) Copyright (C) 1995-2004 J�rg Schilling
scsidev: '0,0,0'
scsibus: 0 target: 0 lun: 0
Linux sg driver version: 3.1.24
Using libscg version 'schily-0.8'.
Device type    : Removable CD-ROM
Version        : 0
Response Format: 1
Vendor_info    : 'PLEXTOR '
Identifikation : 'CD-R   PX-W1210A'
Revision       : '1.02'
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).
Driver flags   : MMC SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R


Last edited by garamatt on Tue Jul 20, 2004 7:02 pm; edited 3 times in total
Back to top
View user's profile Send private message
radice
n00b
n00b


Joined: 14 Oct 2003
Posts: 27

PostPosted: Tue Jul 20, 2004 11:03 am    Post subject: Reply with quote

I'm about to compile the gentoo version of the 2.6.7 kernel.
From the early versions of the 2.6 kernel, I noticed that they don't need the SCSI Emulation anymore. But I didn't found any burning software which support the ATAPI burning method. Also CDRtools still wants the SCSI emulation. What should I do? Still include the SCSI-emulation in the kernel or not?
Back to top
View user's profile Send private message
garamatt
n00b
n00b


Joined: 26 Jun 2004
Posts: 31

PostPosted: Tue Jul 20, 2004 5:03 pm    Post subject: Reply with quote

radice wrote:
I'm about to compile the gentoo version of the 2.6.7 kernel.
From the early versions of the 2.6 kernel, I noticed that they don't need the SCSI Emulation anymore. But I didn't found any burning software which support the ATAPI burning method. Also CDRtools still wants the SCSI emulation. What should I do? Still include the SCSI-emulation in the kernel or not?


To clear things up about kernel 2.6, you do not need to have SCSI emulation, radice. CDRtools and cdrecord do support ATAPI burning. The proper command for my setup in kernel 2.6 to use cdrecord is
Code:
cdrecord dev=/dev/hdc speed=12 driveropts=burnfree <ISO/Cue to Burn>
You may have to double check if ATAPI cdroms are supported in your 2.6 kernel configuration. Good luck radice!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum