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

Re: [RFR] Proposal for installs without network connection



Frans Pop wrote:
> 1) Add a boolean preseedable option debian-installer/no_net
> If this option is set on boot the following will happen:
> - netcfg will not go into dhcp by default, but default to static config
> - choose-mirror will be skipped, unless /cdrom/.disk/base_installable
>   is not present in which case a fatal error will be shown
> - in apt-setup, the generators for network sources will be skipped

I don't quite understand why these disparate things should be tied
together by one variable.

For netcfg, what is the advantage of skipping the short dhcp test? A
static config would also not be very useful if there is really no
NIC. It would seem better to skip netcfg entirely, if anything. As for
preseeding, it's already possible to preseed netcfg/use_dhcp=false.

For choose-mirror, skipping it would be nice if there is no NIC of
course. But for the rest, you've already provided a way to skip 
choose-mirror in preseeding: just preseed the mirror to "don't use a
network mirror". Providing a second way to do the same thing via
debian-installer/no_net is redundant.

For apt-setup, if there's really no network set up, then it should already
DTRT; when it fails to connect to a mirror it will leave it commented
out. Although I think it needs some other changes, see below.

> 2) The template debian-installer/no_net will be used internally too:
> - if no NIC is detected or the user selects not to configure the network,
>   no_net will be set automatically
> - if /cdrom/.disk/base_installable is present, choose-mirror will offer
>   an extra option "don't use a network mirror" [1]; if that is selected,
>   no_net will be set automatically

If the aim is to streamline this class of installs to the same degress
as it was pre-beta2, I don't think these changes manage it. Remember,
sarge's behavior on a full CD is that is still let the user do normal
network configuration -- because they will want a network after their
install -- but it detected it was a full CD and just asked the user to
make sure they didn't want to use a mirror too. Your proposal only
approaches that behavior if a user chooses not to configure the network,
which most users will not do. Anyone who configures the network will
still have to go through choose-mirror.

> [1] A tested patch for this is attached.
> What I don't like about it is the duplication of the templates (which use 
> quite a lot of space), but adding extra translated options in a Choices 
> list on the fly is quite difficult.
> I'd very much appreciate comments on this patch too.
> 
> Alternative would be to add a separate question in choose-mirror to offer 
> to skip it (which would only be shown if /cdrom/.disk/base_installable is 
> present). Disadvantage is that this question should probably only be 
> shown at medium/low priority and thus limit not using the network to 
> those installs, but it has the advantage of allowing to reset the no_net 
> option through that question.

Or you could just always put the item on the menu and fail with an error
if it's selected on a CD that doesn't contain base.

Wouldn't d-i fail anyway later if the CD didn't contain base and the
user said to skip choosing a mirror? Seems that failing early in
choose-mirror is only a convenience. I don't know that this convenence
is really worth the nastiness of making choose-mirror know about CDs.

Counterproposal:

* Add "don't use a network mirror" to choose-mirror and make
  choose-mirror unset mirror/http/hostname and mirror/http/directory
  when that is selected.
* Test to make sure that things fail appropriately in cases where no mirror
  is configured and the CD doesn't contain base. From my reading of
  base-installer, it will already display base-installer/cannot_install
  in this case, and the user can go back and choose a mirror then.
  (base-installer could even invoke choose-mirror for the user in this
  case.)
* Make apt-setup DTRT and skip mirror generator in this case (which it
  currently does not).
* Give cdrom-detect some way to determine if a CD is a full CD or a
  netinst. If it's a full CD, it can set choose-mirror to default to
  "don't use a network mirror" (being careful about preseeding of course).
  - base-config used the heuristic of > 200 or whatever packages being
    on the CD meant it was a full CD, and we could test that in 
    choose-mirror.
  - Maybe a better way to go would be to add a .disk/self_contained
    flag file that is set for full CDs and other CDs that don't need
    network to be generally useful, and have choose-mirror test for
    that. Especially since apt-setup could also test for it and avoid
    adding semi-useless sources.list lines for netinst CDs.

I think this would streamline things to the same extent they were for
this class of installs pre-beta2.

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


Reply to: