installer: a basic Gentoo system anyone can install

Good day everybody :)

Finally, I’m writing in English, and the best way to begin the internationalization of my posts is to introduce to all of you my tiny project, installer.

What is installer designed for?

installer is a quite simple Python program designed to aid users (especially those who are installing Gentoo for the first time) in the installation process. It is not meant to be a replacement for the Gentoo Handbook, instead, it is designed to work with it and provide a summarized amount of information to the user and if he/she needs more detailed info, the Handbook should be the first point of reference.

Who can use installer?

It requires from users the ability to navigate on a terminal, create partition tables manually, download files, extract, copy or edit them… well being comfortable with the shell in summary. Since the first ACTION available is ‘beginner’, it assumes that the user has never installed Gentoo Linux, but he/she knows enough about how to work to be able to attempt an installation.

Will installer replace the Gentoo Handbook?

Absolutely no. The Gentoo Handbook is the heart from installer, it will point substantial information to users, and especially, it will be the ultimate reference during the installation process, installer only pretends to summarize some of the information and present it in a convenient terminal-size way.

How can I use installer?

Once in the shell, it is as easy as:

installer beginner

I’ll use my terminal to show you some of the steps required to install Gentoo using installer. This process would be the same as in the Live CD or SystemRescueCD images, the idea is to be able to use installer in both environments and that way begin the normal installation process (I’m working on an ebuild to be able to add installer into both images). As root I’ll execute:

instsaller beginner

And I’ll see the first page:

installer will open a new shell inside where you can write the commands listed above, or any other command that you consider needed to accomplish the task.

Once you are satisfied with your commands, exiting the shell will show the next message, some steps will validate some information that is absolutely required to accomplish next steps, so let’s write exit and see what happens.

installer does not want to provide the definitive solution to your installation, because of that, it will always suggest what suits for a beginner user, but it’s up to himself to do as installer suggests. Let’s suppose that I only created one big partition for my installation and let’s proceed to the next step.

Once again, installer will suggest information to the user, in this case regarding the filesystem, but again, it will be the user’s decision. Let’s see the next step:

Once mounted, installer will follow the “usual” installation process, meaning that it will assist you downloading the stage3 tarball, extracting it, configuring your make.conf file, updating your ebuild repository and the base system, selecting your profile, entering the chroot, etc.

Once inside the chroot, you’ll be able to resume installer and continue with the system configuration, kernel compilation, bootloader installation, among all the other things required to have a working Gentoo box.

You’ll keep going with all the required steps until you reach the final step, where the user will have to exit the chroot, remove installer from the mounted partition, and reboot in order to start enjoying Gentoo Linux.

What else can installer do?

Another action that installer is capable of is stageX generation. A stageX is a tarball that contains most of the configuration required during the installation process. Let’s suppose that I already have a working configuration on my system, and now I want to install the same configuration on a new computer, all I need to do is to generate a stageX tarball with installer generate

Now I can extract a normal stage3 on the new computer, then extract my stageX tarball and I’ll just have to do the last steps from the installation process.

installer‘s Terminal User Interface (TUI)

This is a feature that I’ll still be working on, Gentoo is designed to be as flexible as possible, and each user should be capable of tweak it’s box to the point he/she feels absolute control, when we try to do that with a TUI, the amount of options would be huge, but maybe with some time it’ll be capable of list every possible tweak on an easy to read interface. Right now it helps users to resume from any point of the installation, you only need to execute: installer beginner -t

Final thoughts

If you are here, you pretty much have an idea of my project and thank you for reading this far. If you find it interesting and/or have an idea of a really cool feature, please let me know :) I’ll keep working on the beta for a couple of weeks, installer works right now in English and Spanish, if you want to add another language, let me know and I’ll be more than glad to help you in the translation effort.

Best regards,