Home | News | Download | Packages | Forum | Wiki | Github

Reimagining Installation Process


#1

The installer actually does a very good job at congifuring stuff. In fact what is an installer if not a configurer? I’ve gone through the Arch installation process and the more than half of it was configuring the new system. The current installer main menu looks like this:

Only Source, BootLoader, Partition, Filesystems, and Install are specifically related to installation. RootPassword and Hostname are more sysadmin-y. Everything else, namely everything above BootLoader except for RootPassword and Source, is something user would normally want to configure in their system.

I propose a boot-configure-install process to replace the installer.

The boot part is not obvious since Windows has changed how the computer is booted. A tutorial on how to get the computer to boot from a different disk on Windows and Mac is necessary.

The configuration part, i.e., Keyboard, Network, Locale, Timezone, and UserAccount, should be delegated to a manual teaching people how to configure them in the live image. If the image is a server version then those would be commandline stuff, but if the image is a GUI version then those should be in GUI as much as possible. GUI part is probably Desktop Environment specific. Making the installer pick up these configurations automatically shouldn’t be too hard.

The sysadmin part, i.e., RootPassword and Hostname, should have a sane default so that user don’t need to worry about them. Ubuntu disables root login altogether by default, probably with passwd -l root. Mac defaults the hostname to <Username>s-Macbook-<Pro|Air>. I think we can take those ideas, disabling root login by default and defaulting the hostname to <Username>s-Void-Linux.

The installation part ideally should also be a default game, one click and wait. but it is harder than the system admin part to come up with a good one for, especially considering it is hardware-specific, with UEFI vs BIOS and GPT vs MBR. The issue actually starts before booting, when preparing the installation medium. Since defaulting this part probably involves some hardware detection magic I am not familiar with I prefer leaving it intact for now.

What do you think? What would you like to change about the installation process?


#2

On a second and more radical thought, what about only asking for a username and generating a password for the user to write down? The user would probably put the paper near the computer, but at least it would deter passwords that are weak to dictionary attacks. It would also be an opportunity to tutor the user about how to change the password.


#3

One of the big perks of Void is that it makes very few choices for the user. Instead, it hands the user a blank slate and lets them build their own system.

A lot of your points seem like things that would be included in a noob-friendly distro like Ubuntu.

  • If you need a tutorial on how to boot into Void, you probably shouldn’t be using Void. Sorry but it’s true. Void is not noob-friendly and doesn’t need to be.
  • Void does not have to be like Arch. Those configuration items (Network, Locale and Timezone specifically) are pretty important and should be completed as early in the process as possible, thus I have no issue with doing them in the installer.
  • Disabled root logins, default hostnames and one-click installers have no place in Void.
    That’s Ubuntu stuff.
  • Again, Void does not make choices for you. I’ve never heard of a distro generating passwords for its users. If you need tutored on how to change a password, you should not be using Void.

Sorry but I disagree with nearly all of this. The installer could use a few tweaks but I see no problem with it conceptually. It’s also optional as @Duncaen says.


#4

You can install void in the same way you install arch, the installer is optional.
There are multiple guides in the wiki for more specific setups that don’t use the installer.


(oliver) #5

If void locked root and set a hostname for me those would be the first things I’d change :slight_smile:


#6

I’ve often found the mentality of “not for noobs” misplaced. Who do you define as “noobs”? I am proposing more documentation. If anything it’s the techies who read the documentation, otherwise we wouldn’t need to remind all the noobs to RTFM.

If you need a tutorial on how to boot into Void, you probably shouldn’t be using Void. Sorry but it’s true. Void is not noob-friendly and doesn’t need to be.

I don’t think OpenBSD is regarded as a noob-friendly system. This is their documentation on preparing media for installation.

One of the big perks of Void is that it makes very few choices for the user. Instead, it hands the user a blank slate and lets them build their own system.

Void is offering the same number of choices as long as the manual option is there. The blank state concerns out-of-box packages, not configurations which rely mostly on already essential tools.

Void does not have to be like Arch. Those configuration items (Network, Locale and Timezone specifically) are pretty important and should be completed as early in the process as possible, thus I have no issue with doing them in the installer.

I proposed “a manual teaching people how to configure them in the live image”, meaning they are configured before the user invoke the installer. Those settings can be reasonably picked up from live image by the installer to migrate to the installed system. The proposal is to teach user right in the live image, before they start installation, in expectation that user might change them in the future, when the installer is not there. Or to turn the installer into an interactive tutorial about configuration.

Disabled root logins, default hostnames and one-click installers have no place in Void.
That’s Ubuntu stuff.

Try OpenBSD’s installer. For the most part it’s next step through defaults.

The password thing is a showerthought. But again, here is OpenBSD’s password documentation

The choices that an OS offers is not restricted by its installer. The purpose of an installer is to simplify installation in meaningful ways. Since Void offers so many choices, the installer should shine light on how to take advantage of the choices. The simplification comes from the unification of installation and tutorial.


#7

And that’s the point. You’d be motivated to find out how to change those things, and I hope that those information would be in live image easy to dig up at your disposal.

I am also curious though about why would you want root to be a separate login. Is sudo su any different?


(oliver) #8

Functionally, I guess sudo su isn’t much different but what’s the point if you’re just using sudo to get a root shell? So that you don’t have to remember two passwords?


(de69ja) #9

@teniv im sure with a bit of coding and compilation and mangling of Lua C++ bindings … you could make a Plymouth-style ‘jacket’ for the installer … i guess having a graphical interface to build tools utilities would be useful for some users.

I dont mind Ubuntu … it filled a niche … i even ‘liked’ the Unity desktop :no_mouth:
… and i get the feeling,Mark Shuttleworth had as much a bruising time as the OLPC XO guys did … but Ubuntu is responsible for as many innovations as it has made compromises too far.

Im working on the feasibility of a Libreboot element for the Void installer.

And trying to concentrate on the features (and strengths) that Void comprises of - by informing and contributing to runit,musl,libressl,etc - then Void Linux grows … and we will have the resources to implement grand schemes :wink:

I do have some sympathies though,teniv … as XBPS originates from a NetBSD project (NetBSD prides itself on portability - ive heard stories that if you plug your computer into a root vegatable … you can run NetBSD :wink: ) … a more informative debate on hardware installation in an environment of ‘internet of things’ would be progressive.


(Martijn van Buul) #10

<greybeard>
Because Sudo, /usr-merged systems and journalling filesystems are newfangled shenanigans. And get off of my lawn! :wink:

In the (g)olden days, when /[s]bin and /usr/[s]bin where distinctly different entities and / and /usr were on different filesystems, there would be several very good reasons:

  • The shell of root resided in /bin, and had no dependencies outside the root filesystem. This made it rather bare-bone (using bash as /bin/sh is still an atrocity in my book…)
  • Root’s home directory had to be on the root filesystem, which is typically very small.

There is a point to this madness: Since / is rather small and contains very few files which receive constant activity (any sysadmin worth their salt would have /var and /usr and preferrably /home on different filesystems) the chances of it getting severely damanged during a system crash is comparitively small. In case an error mounting filesystems it would drop you to a root shell ( after asking for the root password! ) and give you enough just tools to get things going again - or to restore backups.

These days, people seem to rely on journaling filesystems, recovery USB sticks, and surprisingly complex solutions like sudo. The first of which will let you down at some point, the second is usually not around when you desperately need it, and the last one is unlikely to work on a system that is only partially functional. And ever since systemd all but required the usr-merge, it has become moot anyway. At least NetBSD still sticks to their guns in this respect, don’t know about the rest.

By the way, you still need to have a seperate root user for ‘sudo su’ to work. It’s just that it doesn’t require a valid password.

</greybeard>


#11

So that you don’t have to remember two passwords?

Yes, although I don’t deliberately remember my passwords but use a password manager instead. The point is that If sudo is enabled then the root password is of questionable utility, because there is no reason to log in as root in daily usage, then it doesn’t guard against sudo su anyway if the user account is compromised.

EDIT: Got a good lesson from @pienjo above.


#12

TIL! In that context it is better to keep RootPassword intact.


(Masato the Empty) #13

freaking AWESOME!

(best thing I’ve read tonight)


#14

Adding to the whole noob perspective, i’ve been using linux for less than a year, so… Personally, i find the installer to be among the best.

For noobs like me, it provides the installer script which is pretty straightforward. Experienced users can skip the script altogether and go hands on with a chroot.


#15

I have my own system for passwords. It would mess up my system.


(Artsiom) #16

passwords that are weak to dictionary attacks

In OpenBSD password must be at least six characters long and not purely alphabetic. Its total length must be less than _PASSWORD_LEN (currently 128 characters). A mixture of both lower and uppercase letters, numbers, and meta-characters is encouraged.
http://man.openbsd.org/passwd.1

Maybe we can try to use passwd from OpenBSD or find/ask to write/write patch to gnupasswd.


(Artsiom) #17

A lot of your points seem like things that would be included in a noob-friendly distro like Ubuntu.

There is nothing wrong in being noob-friendly. Void shouldn’t make choice for user to be user-friendly.

One of the big perks of Void is that it makes very few choices for the user. Instead, it hands the user a blank slate and lets them build their own system.

Listofexistentsourcebaseddistros.txt

Void does not have to be like Arch. Those configuration items (Network, Locale and Timezone specifically) are pretty important and should be completed as early in the process as possible, thus I have no issue with doing them in the installer.

I agree

one-click installers have no place in Void

Bacause you say this ?


(Artsiom) #18

I don’t think OpenBSD is regarded as a noob-friendly system.

But it does. Because OpenBSD is secure by default.


(Masato the Empty) #19

This is exactly a choice for Void to make. Because it’s a choice as to what Void should and will be or become.

But Void is already user-friendly. To say otherwise is to assume all the other users have the same wants and needs, which seems to me a rather “lowest-common-denominator” statement. It’s like saying a game designer should not make a difficult game (cough danmaku cough) because not everybody will enjoy it.

Keeping in mind that “user-friendly” is a subjective term that can and has evolved over time, it would seem more fair to say “noob/n00b/newb-friendly” or “novice-friendly” any time that’s what one really means. (But if @AbelCain admits n00bness, and thinks it’s just fine, shouldn’t we take that into account?)

Now, I think you are absoluely right, along with others that have said the same: there’s nothing wrong with being novice-friendly. I don’t really have anything against other distros (I’ll admit only to the occasional guilty pleasure of pointing and snickering…). You’d think using “the wrong OS” could be equated with killing puppies and other cuddly things, the way some discussions go…

One size does not fit all.

I don’t think @KeepBotting was simply making an arrogant statement without any context. Rather, more because the Void design itself seems to indicate this. There does seem to be at the least a lack of interest among Void’s core in this sort of thing, and among some, even a strong desire to stay away from it… Ye shall know them by their fruits as the saying goes.

I would be, nonetheless, merely guessing the minds of people of whom I have no personal or inside knowledge, so there’s that… Caveat lector…


(de69ja) #20

Personally i dont see the problem,thanks to FOSS coding standards you can create any solution and put it in multiple repositories - if its something through official channels,it will be peer-reviewed on its merits for inclusion.

The irony of ‘n00b’ distributions,is they tend to add all sorts of features which makes the operating system more complex than they need to be … and whilst for some users who’s habits are still wedded to the GUI of ‘other’ operating systems might find it easier to use …
(baring in mind,when Munich government first moved its systems over to Linux … the number one complaint was the menu graphic logo in the bottom left of the screen wasnt BLUE - the fact there was still a menu graphic logo in the bottom left of the screen,just another colour … is revealing)
… what it does provide is more points of failure and makes learning Linux more difficult … i spent the first year of Linux battling my wits through GTK/Qt/Wx widgets and their incompatiabilities … and they arent even necessary!

Its as you say @masato each one of the wide variations of FOSS offers a package that would appeal to individual users … some would say the choices are confusing,but having the perspective that distributions are CD tracks,but the artist is the Linux kernel/GNU userspace+ helps.
Besides,i once talked to a fresher about their views about the distribution they used … they said they wanted the distro to be No.1 in the Distrowatch charts … they wasnt even a developer of the distro,its just it bothered them,that a distro that they used wasnt No.1 - as such pointless competition usually makes me want to fall asleep … i suggested they find the distro page and click repeatedly on their browser reload :cheese: