View previous topic :: View next topic |
Author |
Message |
garamatt n00b
Joined: 26 Jun 2004 Posts: 31
|
Posted: Tue Jul 20, 2004 4:38 am Post subject: Howto: Get SCSI emulation working with ATAPI CDR/DVDR |
|
|
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. Now that we are in the correct place, call up a menu config application. For the purposes of the Howto we will use menuconfigUse 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 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.) 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 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 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 To see if SCSI driver emulation is working pass the command 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 |
|
|
radice n00b
Joined: 14 Oct 2003 Posts: 27
|
Posted: Tue Jul 20, 2004 11:03 am Post subject: |
|
|
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 |
|
|
garamatt n00b
Joined: 26 Jun 2004 Posts: 31
|
Posted: Tue Jul 20, 2004 5:03 pm Post subject: |
|
|
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 |
|
|
|
|
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
|
|