Author: Adam Borowski Date: To: dng Subject: Re: [DNG] What should be the tasks of the Devuan Installer
On Tue, Dec 18, 2018 at 06:19:39PM +0100, KatolaZ wrote: > > It is my view that the configuration program should be capable of being
> > run at any time after installation, even multiple times on separate
> > occasions as required.
>
> I am not sure what you exactly mean here. The installer cannot be run
> in "demo" mode, because almost any of the steps involved (except
> keyboard and language selection) depend on the success of one or
> usually several of the previous steps. In other words, the installer
> is a *stateful* application. And could not be otherwise.
A good part of the questions can be [re-]done after the installation has
completed.
> You simply can't install the base system if you haven't downloaded the
> needed packages
I see no benefits from the installer being modular -- ie, udebs loaded
on-demand. These days, that's just pointless complication. Note the
difference between udebs (installer components) vs debs (the payload,
relevant only for target system). Of course d-i can remain modular
conceptually or source-wise, but there's no longer any benefit from it
being modular at runtime.
> and mounted the root filesystem. You cannot mount the
> root filesystem if you have not formatted it. You cannot format the
> root filesystem if you haven't created a partition for it.
Yeah but all the partitioner questions can be asked before the action is
committed. Not that mkfs takes a noticeable amount of time anyway...
Downloading actual debs that are not found on install media can be done
after the human-off cutoff.
> You cannot create a partition if you haven't detected the available disks
> and decided how to configure them.
"Detect the disks" is a read-only action. You don't need to actually write
partitions to the disk to answer any remaining questions.
> Same for the packages: you cannot download the packages if you haven't
> configured the package manager and set a mirror.
Configuring the mirror and package selection are prime candidates for
dry-run preseeding.
> You can't configure a mirror if you haven't a working Internet connection.
> You can't have a working Internet connection if you haven't detected the
> available network hardware, loaded any needed firmware, fired it up,
> assigned to it a valid IP address, configured a default GW, and set up a
> DNS.
That's mostly valid, but can be done as a read-only action.
> > For a simple example of the concept see the Raspberry Pi 'raspi-config' utility.
> > Differing configuration UI's could potentially be developed over time...
> > zsh, then ncurses, Xorg based (QT?)... > You are confusing a simple config file that is read once and for all
> during boot time (the config file on raspberry pis) with the complete
> installation of a new system. They are not even comparable. There is
> no thing like "oh I re-run the installer configuration to change the
> layout of my partitions".....
Parts of raspi-config make sense only once, many others are reconfigurable.
Meow!
--
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Ivan was a worldly man: born in St. Petersburg, raised in
⢿⡄⠘⠷⠚⠋⠀ Petrograd, lived most of his life in Leningrad, then returned
⠈⠳⣄⠀⠀⠀⠀ to the city of his birth to die.