[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debconf apt configurator

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.

  Anne Bezemer

Reply to: