Specifications

2.1 Quickstart
This section is an attempt to provide an fast and easy description of the configuration. Not all possible setups
are covered, but please go on and try it out anyways. First of all, check the Linux kernel version printed by
the command "uname −r". It should be something like 2.0.X or 2.2.Y, where X is higher than 36 and Y is
higher than 11. If you run older versions or the so called development kernels, you are on your own.
Installing a new kernel is as much work as fixing an old one, so I have removed all hints you need for buggy
kernels.
The listing below shows a set of commands you could start with. The commands create device file entries
under /dev unless they already exists.
test `whoami` = 'root' || echo "You must be root to execute the commands."
cd /dev/
umask −S u=rwx,g=rwx,o−rwx
[ −f loop0 ] \
|| ./MAKEDEV loop \
|| for i in 0 1 2 3 4 5 6 7; do mknod loop$i b 7 $i; done
[ −f sg0 −o −f sga ] \
|| ./MAKEDEV sg \
|| for i in 0 1 2 3 4 5 6 7; do mknod sg$i c 21 $i; done
Listing: creating of devicefiles
Hardware access is usally implemented through device files under Linux. So before any other thing you make
sure those files do exists in the directory /dev. Still nobody could give me a compelling reason why this has
not been automated through techniques like the device filesystem (devfs). The devfs is available for years
know, brings a safer (!) and a far clearer naming of devices and makes the device entries appear automatically
under /dev. Some prominent people argue devfs is not the perfect solution, but they do not come up with
anything better, not even something comparable and last but least nothing available and tested now. Lets start
to use devfs, so I can remove the above commands from this document. (
http://www.atnf.CSIRO.AU/~rgooch/linux/kernel−patches.html)
Next thing to ensure is, that the Linux kernel is equiped with the necessary drivers. The following commands
check various files for the presence of drivers in the running Linux kernel. Usally the command "cdrecord
−scanbus" should trigger an automatic loading of all drivers. In case a driver is not present in the kernel
afterwards, it is reported and the modularized driver (module) is manually loaded through insmod.
test `whoami` = 'root' || echo "You must be root to execute the commands."
cdrecord −scanbus > /dev/null
if ! (pidof kerneld || test −f "/proc/sys/kernel/modprobe"); then
echo "Neither kerneld nor kmod are running to automatically load modules".
fi
report_no_autoload() {
echo "Ensure the module $1 is loaded automatically next time."
}
if test ! −f "/proc/scsi/scsi"; then
report_no_autoload scsi_mod && insmod scsi_mod
CD−Writing HOWTO
2.1 Quickstart 9