On Mon, 11 Oct 1999, Joey Hess wrote: > Adam Di Carlo wrote: > > Okay, sounds good for the network part. Regarding CD-ROM, I think it > > should *first* check in some reasonable locations on whether a CD-ROM > > is present. I've CC'd <debian-cd>, perhaps they can give us some > > clues on platform-independant ways of doing this. I would suppose > > checking for ISO filesystems and well-known top-level files which > > appear on the CD in well-known devices locations, such as /dev/hdc, > > /dev/cdrom, /dev/scd[01]. I wouldn't think it'd be *too* hard to do > > this. A fallback would be to ask for the device where the CD-ROM is. > > Is a /dev/cdrom link perhaps made by the install process? Or could one be > made? > > I see it on my stable system, which I haven't really tweaked at all, I don't > think _I_ made the link..
AFAIK, /dev/cdrom is currently being made in two places 1. When a cdrom driver module is inserted (using the menu system) after the drivers floppy has been unzipped, 2. When /dev/hd[a-z] is choosen to install either kernel/drivers or base system from. And an existing link is not replaced. Autodetection of /dev/hd[a-z] and /dev/scd[0-9] has to take place before installing kernel/drivers. But the kernel already auto-detects this; the dmesg output may be used for this (I couldn't find this info under /proc). Autodetection of things like /dev/sbpcd is (I think) impossible; we've got to wait till the user inserts the correct driver him/herself. A possible strategy that is quite platform independent would then be: - Use dmesg to find /dev/hd[a-z] that do exist but don't have a partition table, and /dev/scd[0-9] that exist. (If no one exists, don't even display a `CD' choice in the install menu) - Try to read the first 1024 bytes of the detected devices. For CD's, all bytes should be 0. - Try something like isosize on the plausible CD locations. If isosize succeeds, the disk should be mountable. - Mount the CD and check for something that indicate that it's a Debian CD (dists/ or potato/ directory, or maybe .disk/info). (Hmm, the second step isn't really necessary) Note that the dmesg output should be saved somewhere ASAP after booting. Regards, Anne Bezemer

