3) LINUX KERNEL CONFIGURATION
What to add depends largely on what kind of device you have.
Also, there are literally hundreds of howto documents on the web explaining how to recompile a Linux kernel, so I won't go into that here. Scott Robbins has written a page with the info you'll need to grab the latest kernel version and compile it. The latest stable kernel version was 2.4.10 when he wrote that article. It is now (11-NOV-2004) 2.4.27 for the 2.4.x branch and 2.6.9 for the 2.6.x branch.
Anyway, as I said, how to add stuff to the kernel is not the issue here (I'll be assuming you're using the "make menuconfig" option), what is the issue here is what to add.
For both USBeasties and IDEalists:
This bit is optional but useful in that it allows you to "preview" your CD-ROM before you've cut it. In order to do this you'll need to add what's known as the "loopback" device to your kernel, the effect of which is to enable you to mount files instead of special block devices on mountpoints. In your main 2.4.x kernel configuration menu, go into the "Block devices" page. Add the "Loopback device support" option.
Next, this bit is not optional for users of USB devices or for users of IDE devices and versions of cdrecord prior to 2.0, go back to the main 2.4.x kernel configuration page and then into the "SCSI support" page. In there you'll have to activate "SCSI support" to start with. You'll also have to activate "SCSI CD-ROM support" and "SCSI generic support".
Everything you'll need to add is in the "USB Support" page.
Obviously, the first thing you'll need to add is "Support for USB".
Then, under "--- Miscellaneous USB options", select "Preliminary USB device filesystem".
Under "--- USB Controllers", select either "UHCI (Intel PIIX4, VIA, ...) support" or "OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support" depending on what chipset is used on your motherboard (running /sbin/lspci can give you some indication of this if you don't know).
Under "--- USB Device Class Drivers" select "USB Mass Storage support" and all the sub-options which will become available as soon as it is selected.
That's it. All you need to do now is compile and install your kernel.
For IDEalists using cdrecord versions prior to 2.0:
You'll have to add IDE-SCSI emulation to the kernel. I'm always forgetting where it is to be found, so writing this down once and for all is probably a good exercise for me :)
You'll find it in "ATA/IDE/MFM/RLL support" in the "IDE, ATA and ATAPI Block devices" sub-menu.
Compile this kernel and the associated modules, but don't boot it yet. You'll have to adjust your bootloader and add a parameter to your kernel command line. The two main Linux bootloaders are LILO and GRUB.
You need to let the kernel know you want to use IDE-SCSI emulation because compiling it into the kernel only makes it available without necessarily using it. You do this by adding the parameter "hdx=ide-scsi" to the kernel command line, where hdx is your CD writer, hdc in my case. The way to do this depends on the bootloader you're using.
If you're using LILO, edit your /etc/lilo.conf file and look up the section pertaining to your new kernel image. If there is already a line in that section which starts with append=, then add hdx=ide-scsi between the quotes, leaving a space between it and any other parameters, and replacing hdx with the device which is your CD writer. If there is no such line then just add append="hdx=ide-scsi", as usual replacing hdx with your CD writer's device. Now, as root, run /sbin/lilo to update the bootloader and make your modifications go "live".
If you're using GRUB then the whole command line fed to the kernel is spelled out. All you have to do is add your hdx=ide-scsi parameter to that line.
Now reboot. If all went well you're ready to start burning CD's once you've located your device using the same (SCSI) notation as cdrecord.
|<< 2) The hardware interface||4) Locating your (re)writer >>|
Back to the howto title page
Back to howto-pages.org