Whenever you see “CD-ROM” in this manual, it applies to both CD-ROMs and DVD-ROMs, because both technologies are really the same from the operating system's point of view, except for some very old nonstandard CD-ROM drives which are neither SCSI nor IDE/ATAPI.
CD-ROM based installation is supported for some architectures. On machines which support bootable CD-ROMs, you should be able to do a completely floppy-less installation. Even if your system doesn't support booting from a CD-ROM, you can use the CD-ROM in conjunction with the other techniques to install your system, once you've booted up by other means; see Chapter 5, Booting the Installation System.
Both SCSI and IDE/ATAPI CD-ROMs are supported. In addition, all non-standard CD interfaces supported by Linux are supported by the boot disks (such as Mitsumi and Matsushita drives). However, these models might require special boot parameters or other massaging to get them to work, and booting off these non-standard interfaces is unlikely. The Linux CD-ROM HOWTO contains in-depth information on using CD-ROMs with Linux.
USB CD-ROM drives are also supported, as are FireWire devices that are supported by the ohci1394 and sbp2 drivers.
4.3. Creating Device Files and Setting Boot Time Parameters
The kernel uses device files to identify which device driver to use. If you are running a standard Linux distribution you may have created the necessary device files during installation. Under Slackware Linux, for example, there is a menu-based setup tool that includes CD-ROM setup, and most systems have a /dev/MAKEDEV script. If you don't use these methods, you can use the more manual procedure listed in this section. Even if you use either of these methods, it is recommended that you at least verify the device files against the information in this section.
If you are using the new devfs file system in the 2.4 kernels, the device files are created dynamically by the kernel rather than residing on disk, and follow a different naming convention. The examples in this document assume that devfs is not being used, and may need to be adjusted accordingly if you are.
You create the device file by running the shell commands indicated for your drive type. This should be done as user root. Note that some Linux distributions may use slightly different CD-ROM device names from those listed here.
I recommended that you also create a symbolic link to the CD-ROM device to make it easier to remember. For example, for an IDE CD-ROM drive that is the second device on the secondary interface, the link would be created using
# ln -s /dev/hdd /dev/cdrom
If you want to play audio CDs, you will need to set the protection on the device file (the real file, not the symbolic link to it) to allow all users to read, e.g.
# chmod 664 /dev/hdd
# ls -l /dev/hdd
brw-rw-r-- 1 root disk 22, 64 Feb 4 1995 /dev/hdd
Some Linux distributions use group permissions to control access to devices such as CD-ROMs. A common convention is to only allow members of a group called cdrom to have access. In this case you should add the appropriate users to the group rather than changing file permissions on the device file.
When booting Linux, the device drivers attempt to determine whether the appropriate devices are present, typically by probing specific addresses. Many of the drivers auto-probe at several addresses, but because of differences in configuration, possible device conflicts, and hardware limitations, the drivers sometimes need help identifying the addresses and other parameters. Most drivers support an option on the kernel command line to pass this information to the device driver. This can be done interactively, or more commonly, configured into your boot loader. With LILO, for example, you would add an append command such as the following to your /etc/lilo.conf file:
append = "sbpcd=0x230,SoundBlaster"
See the LILO documentation for more information.
In the next section I discuss issues specific to individual device drivers, including device files, boot parameters, and the capabilities of the different drivers. You probably only need to read the section relevant to your drive type. The documentation files are usually found in the directory /usr/src/linux/Documentation/cdrom.