Bruce Schultz <brulzki <at> gmail.com> writes: > >> Matthew Marchese <maffblas...@gentoo.org> writes:
>> I see that you've found stager. I'd like you to share your thoughts >> on what a perfect installer Gentoo could do. A successful gentoo installer will: Be multi-faceted so that many different, but common installation outcomes are not only possible, but are automated to the point of extreme convenience for folks to use them, as they choose. Let's face it no matter what we do, most noobs will not use Gentoo. But, those folks with some level of experience and competence will use gentoo; many more if there is an automated (base)installation. After all, when google or others corporations install and use gentoo, do you think they have folks spend 1-2 days using the handbook? NO, their gentoo(derivative) has an automated installation. So a base-installer for your [category 1] is the most important part. So in that train of thought, WE, should parse out all of the good parts of many different installers and installation schemes, as a part of the research and leverage as to what exists that can be leveraged or emulated, Debian included. OpenSuse has (13.2) has a slick install that allows for btrfs without lvm or mdadm. That was the default pathway. I've read that you can end up with a full raid install if you choose the "advanced" pathway. I'm still researching that one. Then there is 'Calculate Linux' that more than one gentoo dev uses routinely to install Gentoo. There are many pathways to streamline the installation of Gentoo. Many, for onerous reasons believe that is a bad idea. There is plenty of existing installation code that sets up MBR and ext*; so that's a no brainer on how to do that. Newer technologies, like btrfs are tricky. > In my opinion, there's really 3 parts to the install process, and I think it helps to distinguish > between them. I think a complete installer program has to address all 3, but each task could be > modularised. > 1. The low level decisions, like disk partitioning, raid and disk mirroring, filesystem choices > like ext4, btrfs, zfs, or some other. For a VM, the choices here might include creating a > new LVM volume or btrfs subvolume Gentoo is not going to formally support ZFS as has been stated before. However supporting ZFS by others is well documented and some maverick could easily extend the gentoo-base installer for a target system (after your Category-1) where ZFS is installed. Just not officially gentoo. > 2. Installing system files, which is not much more than untaring the stage3, and low level > system configuration of make.conf settings, choice of profile, locale & timezone settings, > users & passwords, networking, choice of syslog & from, etc Category-2 This is a pretty easy part to automate. Many have stated that all of this information could be gathered up before the actual installation (batched) begins and parsed out at the appropriate time during the actually (automated) installation. All of Category 1 as well as some parts of Category-2 are what I refer to as the base-install. After that point is when you make key decisions like workstation vs server vs embedded vs tablet. > 3. Higher level system configuration to get to a finalised state This is the part of the traditional Gentoo handbook I do agree with. This is the part of the installation where noobs begin to actually learn gentoo, or at least those parts necessary for routine administration and usage. This is part of the handbook that is trivial for experience *nix folks as most are familiar with more than one package manager or software installation semantic. Most of these sorts of noobs (folks that struggle with maintaining a *nix system) are never going to profile low level kernel code or compare one file system against another, so why make it mandatory to master category 1 in order to install, use and enjoy gentoo? Currently, the lack of a gentoo installer is exactly that:: a blocker to noobs. That's not my issue:: the devs are using 'mis-direction' here to prohibit the creation of a slick-smooth-unattended-useful base-install semantic for those with moderate *nix skills, imho. YMMV. That's my issue. Dont belive me? Just go to gentoo-dev and read the flack that MaffBlaster caught on the list, merely for discussion a new installation semantic. Hence the focus on 'stage-4' install code. > (Of course, there's quite a bit of blurring between the stages.) Yes, understood, we're talking at a high-level of abstraction here. > I'm not so interested in 1, but gentoo really shines here because there are no restrictions. > But there are so many options that it makes it a big task to tackle, unless you pare it down > and focus on a few typical use cases like a standard desktop install. OK, well this is where we part company. If you really believe this and all we end up with is a competitive distro install with buntu, what's the point? Critics are going to seize on this and say see, your recruiting the idiots and ricers from buntu to come to gentoo for indentured support. Like them, that's not really the target of my goals. I do think some will learn a sufficient amount about gentoo and using *nix in general that they will stick around and benefit the community. I think a solid base-install that is automated benefits the folks that already know their way around *nix and they can quickly benefit form the source code build out tools very, very quickly. If somebody does not know the difference between C and C++, I'm not for catering to their needs. But the lack of a good, automated installer for the basics does run off many accomplished *nix folks who could then the gentoo community tremendously, imho. If somebody wants to build a firewall, a stealth sniffer (no ether traces, a bridge, an embedded system product, a workstation with openrc and lxqt or wayland, a cluster (in house hardware) or a cloud (outsourced hardware) then that is where we need to distinguish gentoo's installation. It becomes a tool for those with expertise to rapidly install the base-system and then do things you cannot do with buntu. Note:: I use the term 'base' to distinguish from 'default' which is the terminology chosen for gentoo's profile system of choices. They are similar, but I believe that a base-install is less than a default system on a given architecture. This is a concept that I am still trying to refine for categories of systems like tablets, embedded and other kinds of minimal hardware types of systems. It's a different issue for a different thread. > Part 2 is where it would be good to have a standardised approach, along the lines of > debian's debootstrap utility. Something that takes a target directory and installs all the > files needed to build a bare-bones system inside it. Its actually not that difficult > to write a shell script to achieve this, which is probably why there are so many > posted around the interests. But something standardised could be the basis of a gui > installer, or the center of a container installer such as the lxc-gentoo script or > whatever the docker equivalent is. What you are talking about here, to me, can be part of your category-3. In fact, I modify what you have written to only (2) parts Step-1(base-install) and Step-2 (Final Target). Step-2 does not need to be automated by gentoo officially imho. It's mostly a few config questions and a collect of packages. You can actually auto this right now. Just create your own 'profile' on top of a default installation and use ansible. MuffBalster said the first part is the easiest part; that is to go back to supporting (stage-4) installs. Lot of subtle intricacies with 'stage-4' but I'll give you my take so you can see where the devs are rolling. If you have expertise and have created one utopian install for a highly targeted need, then a stage-4 installation semantic will allow you to quickly clone that work and build many more similar system, in a fully automated fashion. So for Clustering, cloud, google, large institutions or consultants with advanced skills, it become a defacto private installation sematic where the inner circle and those with a strong set of admin/programming skills prosper. Maybe an inner circle? The noobs are still filtered out. Those in the middle to do gain from the knowledge and expertise of the inner core of devs. Is that the way it should be? Not for me to decide. I'd just like some help with newer file systems (btrfs), gpt, grub2, and such issues in Step-1. Those that have painted my position to be recruiting the masses of noobs from buntu, are using mis-direction to prevent the large number of moderate-skilled gentoo community from the benefits of a streamlined installation. The fact is that gentoo had a very useful, mostly automated installation, and it was abandoned because of the catering to the noob issues. But they did not have to abandon the STEP-1 needs of those with sufficient *nix skills to benefit from installation automation. > The 3rd task is more in the realm of tools such as ansible or puppet. Step 3 already exists in rudimentary form:: Both Sephan and Alan have posted on using ansible for gentoo installs. It's just not polished to the point of being an installer, imho. There are many other formulas, playbooks and such for installing gentoo, but they are cumbersome, imho. Folks stop short of finishing them, as is their right to do so. Once you go down the path of applying noob_polish to the installation semantic, it does become an unsustainable nightmare, or at least that is the propaganda:: which I am neutral on. >> Having that said, and having done few Gentoo installations: I'm merely >> wishing installing Gentoo wasn't such a lengthy process. It's lengthy >> in that you have to do the steps manually while browsing the excellent >> handbook. Ah, so you agree, streamline the base and most can streamline the target part of their installation needs without much assistance; thus avoiding noob_population_explosion. >> If there was an installer that would guide you through these steps and >> bring up the files you need to edit in an editor, that could save a lot >> of time already. It could reduce the possibility for error, as in >> overlooking that you need to do some step. > Which is what part 2 is about. I started writing my own installer based on using > ebuild files for the configuration. But I like your idea of an interactive mode for configuration. >> Otoh, I have to come to like how Gentoo is installed. You can do >> whatever you like, and the process is pretty straightforward. I don't >> see how an installer could give you that, yet a perfect installer would >> need to. > And that is the difficulty inherent in a gentoo installer... If its too restrictive, > its not really gentoo anymore; if its flexible to cover all the options, you may as > well just stick with typing commands in a shell... I disagree. If the base-install is automated then the second half of customizations are trivial to automate or following the handbook to learn gentoo, as it is very easy and straight-forward. Once you do that part a few times, it's a collection of configs and ebuilds that are easy to master and automate. >> How about support for booting from ZFS? I'd really like to see that; >> itshould be as easy as booting from other file systems. Without it, we >> have to do ugly things. ZFS is a different (license?) issue. There was a ZFS livedvd circa 2012..... Go look at that for ideas. If I seem 'conciliatory' to those opposed to the install software development, it's because I put in some time looking at the issue from their prospective. Your breaking apart of the installation ssemantics did help me focus on the Step-1 issue; which is the point and what need to be automated, imho. Last Zinger:: SystemD created quit a stir on this list right down to the heart of gentoo's soul as a distro. I believe that was healthy. When I go round the net, that is still the single biggest issue where gentoo get's respect from all corners (except Lennart's hottub parties)...... I just which we, gentoo as a distro, were embracing and automating the installation of BTRFS, like we pursued systemd. BTRFS is a game changer and many advanced folks and institutions are using it. It's a bear. So, I'd settle (be very happy) if out of these installer threads we just end up with an automated way to complete a BTRFS, raid-1 system that includes a completed fstab, gpt and grub2 issues in some sane and automated way. WE can still filter out the noobs........OK? PEACE? James