Phil Wayne

Yet Another Gentoo Installation Guide

My Dearest Mad-Watchers,

As I was recently suggested by one of my YouTube subscriber, I would like to explain how to install Gentoo. To get some more information regarding my Gentoo adventures, check out my other blog posts about Gentoo. You can also follow along with the Gentoo official documentation.

2 Disclaimers

For this guide, I will assume that all of you intend to work with a stage 3 tarball. If you wish to install Gentoo from a stage 1 or 2, this guide is not meant for you, since I consider you are in no need of my help at the level you have reached.

I know I said earlier I would do everything in a virtual machine. However, this guide has been ready for more than a week and I figured it would not be fair to all of you to make you wait for a video or several videos which may not even be as good as some others which you will easily find on YouTube. Installing a distribution is fun, but it has been seen so many times already... I am not saying I will never install another distribution on camera or shoot videos about installing Gentoo. At the moment however, not only does it not feel right but I should not make you wait any longer.

Outline Of The Installation :

  1. BIOS settings : Legacy mode enabled + CSM support
  2. Burning the ISO
  3. Booting into the live CD
  4. Setting keyboard, language, partition scheme
  5. Turning on the internet
  6. Downloading and extracting the stage 3 tarball
  7. Copying /proc & /dev & /sys into /mnt/gentoo & mounting your partitions
  8. Entering the chroot environment
  9. Setting up /etc/fstab & kernel
  10. Installing essential programs : vim (cause vi sucks), network manager, other...
  11. Installing GRUB or another bootloader
  12. Reboot & pray

The Right First Step

When leaving on a trip, the right first step is to properly prepare. This means packing your bag as thoroughly as possible and anticipating potential issues you might have. Well, when preparing for your Gentoo excursion, I recommend you do several things:

  1. Read the documentation of your targeted distribution. In our case, it is most important you do not skip this bit, since Gentoo's wiki is so vast.
  2. Rehearse in a Virtual Machine: I seriously recommend this. You should be much more confident and relaxed when you perform the actual install later on if you are already familiar with its intricacies.
  3. Back up your home directory on an external hard-drive : this makes it much faster when the install is over to just copy and paste it onto your newly-installed system. If you have a separate /home partition, you may wish to skip this step.
  4. Configure your BIOS: If you can, I recommend you enable both UEFI and Legacy mode. This way you will not have any issues with the one or the other. Also, enable CSM support. Do not forget to configure the boot order so that your new Gentoo system takes precedence over your already-installed operating system.
  5. Download the ISO image which interests you and create a live CD of Gentoo.

These steps are always the same, for any distribution you would install. If you are not familiar with them, Gentoo probably is not the right distribution for you, since you might lack experience with Linux. If you feel ready, however, it is time to get out the door and discover other lands which will blow your mind.

Although, I would add up one last step only for Gentoo. Download the stage 3 tarball and save it on an external hard-drive before beginning the installation. This will avoid any insecure move like downloading it as root from elinks later on, and you will not have to worry about creating another user before the very end of the installation process. Plus, it will also save you time. Downloading the tarball can take some time (generally a few minutes depending on your internet connection), hence you will not have to wait.

The Journey Begins

You have plugged in your USB flash-drive, rebooted your computer, and landed into Gentoo? Good for you! You are now withing the realm of the live CD. Congratulations are in order!

Some troubleshooting :

  • If you have not yet managed to get into the live CD, repeat the lines listed in the right first step : If using a USB installer, the problem is more likely to come from your BIOS setting;. If using the dd command, you may want to check out this link.

The first things to do within the live CD are :

  • Setting up your keyboard layout. The default one is US (without dead keys), which I would advise most of you to keep, at least for now. It is rather straightforward to set it later, especially with this page. For those of you who would follow my advice, just press enter. Same for language configuration, keep the default.
  • Turning on the internet...

Turning On The Internet

As all things are, this is extremely easy. However, you can also easily get lost in the vastness of Gentoo's documentation and overlook the simplicity of turning on the Wi-Fi, so I will come to your aid.

Just in case some magic would be happening, you might check out if you already are connected with :

  • ping gentoo.org

I insist you run this previous command, especially if you are following along in a VM, because it is most likely you will already have an ethernet connection up and running.

For those of you who actually are getting your hands dirty, you have several tools at your disposal. To automatically detect available networks, you may use ifconfig, or the ip command. Below are some other alternatives :

  • net-setup
  • wpa_supplicant
  • PPP
  • PPTP
  • DHCP
  • Manual network configuration

The easiest way is to use the net-setup script, which we will do here. When you first install a distribution such as Gentoo, you want to be nice with yourself and not do too many things manually. Give yourself time to familiarize yourself with this new environment. net-setup will automatically detect available networks (wi-fi, ethernet...) and let you choose one. Then there will not be much left apart from entering a password...

Setting Your Partition Scheme

If you already have experience manually installing other distributions, such as Arch Linux, this step should be a walk in the park. Several programs are at your disposition :

  • fdisk or cfdisk
  • parted

I am more comfortable with cfdisk, so this is the one I will present in this guide. It is very straightforward, so I strongly recommend it. I will also assume that you are partitioning /dev/sda.

If you have existing partitions, such as /home or /boot/efi, it is up to you to delete them or not. When installing Gentoo, a man should know what he is doing. If there is no existing partitions or you have already deleted all of them, here is the scheme I would like to suggest you try out :

  • Device Size Type
  • /dev/sda1 512M EFI System
  • /dev/sda2 4G Linux swap
  • /dev/sda3 184G Linux filesystem
  • /dev/sda4 50G Linux filesystem

If you wish to only have a /root partition, or a /root partition and a /boot partition, these schemes work fine too. I am merely suggesting what I consider the best option. If you wish to hibernate your computer, you need a SWAP partition. The general rule is that it should take twice the size of your RAM. However, this may prove difficult nowadays since modern computers sometimes have a tremendous amount of RAM and it would take up the entire hard-disk to follow this rule. In my opinion, the amount of RAM you should set is really up to you. You should only keep a few things in mind, regarding why you would need a SWAP partition:

  • Does your system have less than 1GB of RAM? If so, most applications will exhaust the whole amount of RAM very quickly. Hence you need SWAP.
  • If you intend to run resource-heavy applications like games, video-editors, or just compile everything from source whenever you update your system, having a bit of SWAP will prevent your computer from crashing when using up too much RAM.
  • For hibernation, the SWAP should be at the very least the size of your RAM, because the content of the RAM will be written in the SWAP.

Regarding the SWAP partition, I would just like to add a word of warning. Don't expect it to simply be more RAM. Swapping too much can seriously slow down your applications. It will prevent them from crashing but it will not make your computer more efficient.

Separating /root and /home is useful too, especially if you wish to tweak your scheme later on or entirely change your distribution. In that case, you would only need to erase the content on /root without touching /home and doing any back-up, which I find quite convenient.

Finally, and this is the last warning, do put /root as /dev/sda4 or as the last partition in your scheme. Otherwise you will not be able to modify it later. If it is last, and /home the penultimate, you can remove it later and even resize /home when /root is gone. So, do not neglect this, or use LVM (Logical Volume Management).

In cfdisk, you only need to select available space and create a new partition on it. You give it a size in M or G (T if you have that luxury) : 4G for SWAP, for instance, and then you are done. You then do the same for all other partitions. When all partitions are created, you only need to give them a type. For /root or /home, you want Linux filesystem. For /boot you want EFI system (only if you need a /boot partition, that is) and, finally, your swap should be of the Linux swap type.

When you are done, you need to apply a filesystem to your partitions :

  • mkfs.ext4 /dev/sda3
  • mkfs.ext4 /dev/sda4
  • mkswap /dev/sda2
  • swapon /dev/sda2

Do prefer a ext4 filesystem for your /root and /home partitions. Plus, do not forget to activate your swap partition. For you /boot partition, you may prefer an ext2 filesystem.

The only thing left at present is to mount /root :

  • mount /dev/sda4 /mnt/gentoo

Extracting the Stage 3 Tarball

Before going farther, you should set the date, just so that it is done and out of your way. You may use the date command with this format : MMDDhhmmYYYY (Month, Day, hour, minute and Year). I do not advise you to use any other automatic tool such as ntpd since it comes with a price and manually setting the time is a walk in the park, seriously.

As I stated earlier, I recommend not to download the tarball during the installation itself, but prior. If you have followed this piece of advice, then you merely need to plug in your hard drive and copy-paste the previously-acquired tarball from your external drive to your local machine (in /mnt/gentoo) :

  • mkdir /mnt/external-drive
  • mount /dev/$device-name /mnt/external-drive
  • cp -rv /mnt/external-drive/$tarball-location/$downloaded-tarball /mnt/gentoo

external-drive being the name your external drive

If you had not downloaded your tarball earlier, it is time to do it. Preferably, create another user in order to browse the internet more safely. Then cd into /mnt/gentoo and use elinks and wget which is available by default to download it from this web page. If you wish to verify what you downloaded, follow the instructions from this link.

Finally, extract the content of the tarball with this command :

  • tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner

Make sure you use the same options as in the Gentoo installation guide or you might have issues (such as permissions issues) which would might make you waste a whole lot of time for nothing.

As another quick warning, I should tell you to beware which tarball you pick, since it will shape your whole system.

Before moving on to the next step, you may also configure the compile options but I would tell you to stick to the defaults for now. Focus on the installation and optimize your system later. Otherwise it is most likely you will not come through...

Entering Chroot Environment

Alright fellows! It is time to install the Gentoo base system. Congratulations if you have survived up until this point.

First off, select your mirror with : mirrorselect. It is an optional step but... Just do it, okay? You did it on Arch, and you are not switching to Gentoo to simplify your life. You want more choices, so make the effort to choose! Everything is explained better than anywhere else on the web right here, at the top of the page.


Before chrooting, you need to do two last things :

  • Copy your DNS info : cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
  • Mount the necessary filesystems /proc, /sys, and /dev:
    1. mount --types proc /proc /mnt/gentoo/proc
    2. mount --rbind /sys /mnt/gentoo/sys
    3. mount --rbind /dev /mnt/gentoo/dev

You may now chroot :

  • chroot /mnt/gentoo /bin/bash
  • source /etc/profile
  • export PS1="(chroot) ${PS1}"

Plus mount the boot partition :

  • mount /dev/sda1 /boot

Configuring Portage

Portage is your brand new best friend, your shiny package manager. To configure it, you have to run a few commands :

  • emerge-webrsync : fetch the latest snapshot of the Gentoo ebuild repository.
  • emerge --sync : this one is optional but you should do it, I believe. It will not take so much more time, and thus your ebuild repository will be up to date.

Choosing A Profile

Run the command eselect profile list and that will list all available profiles. If it is the first time you install Gentoo, do not pick a fancy one. Do not be too minimalist, for instance, you it is most likely you will have an awful time with the rest of the installation process. I speak from experience. I kept the default profile default/linux/amd64/17.0 * and had to switch to default/linux/amd64/17.0/desktop about a day later because I could not install anything I wanted easily. By the way, these profiles are now : '17.1', not '17.0'. If you intend to install something as bloat as gnome or kde, go ahead and choose the appropriate profiles with kde or gnome in the name. I am not sure I can still talk to you if you decide to go down that path, but... well... La vita è così, apparently.

The command to pick a profile :

  • eselect profile set [number]

Now that all this is behind you, you may run this command to update your @world set :

  • emerge --ask --verbose --update --deep --newuse @world

The USE Variable

As I am writing this, it is still a topic with which I am not 100% comfortable, since it is quite subtle to get and work with on a daily basis. Use flags are probably the biggest change from an Arch system and what will require the most getting-used-to from you. You can globally activate or deactivate them from your /etc/portage/make.conf file and also locally set them for one single program in /etc/package.use/. Beware, you will need to configure the USE variable differently depending on which profile you have chosen. I speak mostly for KDE and Gnome users, but you should not have to worry since everything is explained really well on this page of the Gentoo documentation.

If you run this command :

  • emerge --info | grep ^USE

That above command will show you which use flags are currently active on your system. Down below is a screenshot of the output you should get.

My Opinion On Systemd

I am not against systemd. I used it for a long time, first on Mint and then on Manjaro and Arch and really appreciated its simplicity. However there are many other init systems and I am deeply convinced you should run openrc when installing Gentoo. Otherwise just stick to Arch Linux, you will not see a difference. When switching to Gentoo, you need to be willing to try something else, to open your horizons to a myriad of new possibilities. Openrc is brilliant, so just check out this cheat sheet and adopt it! Seize this opportunity to remove the bloatness of systemd from your computer.

Timezone & Locale

For this step, there are only a few commands to copy and paste from the official guide and into your TTY. I was not certain whether it was actually necessary to add them down here but I figured... you know, I am writing a guide, so I better do it properly. Right?

  • ls /usr/share/zoneinfo
  • echo "Europe/Brussels" > /etc/timezone
  • emerge --config sys-libs/timezone-data

With the first command, you will check out which zones are available in /usr/share/zoneinfo. With the second, you will echo into a file the timezone which interests you. Care to replace 'Europe/Brussels' with the timezone you wish to set for your system. Finally you just need to reconfigure the timezone-data package with an emerge command. Piece of cake, right?

Before moving on to configuring your kernel, do select and generate a locale :

  • vim /etc/locale.gen : add whatever configuration you want.
  • locale-gen

Here is my /etc/locale.gen in case you would need an example.

In case you would like to copy-paste:

  • en_US ISO-8859-1
  • en_US.UTF-8 UTF-8

Then do the same with eselect to configure your system-wide locale settings.

  • eselect locale list
  • eselect locale set $number-of-locale-you-want
  • Reload the environment with the following command : env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

Configure Your Kernel

This is probably the one step when you want to be reasonable and do something simple. In this guide, I will not make you do anything such as configuring your kernel manually. That would be torture and I am not so cruel. When I first installed Gentoo a few weeks ago, I did not go through that ordeal, and I seriously recommend you do not force yourself to do it. If it is your second or third time installing Gentoo, you have the experience required and that piece of advice do not apply to you. But if it is the first time, beware!

Since we have decided to keep with the default (because the goal is to reach the end of the installation, not to show off), we will run the following commands in our terminal :

  • emerge --ask sys-kernel/gentoo-sources : this will be the source of our kernel with emerge.
  • emerge --ask sys-kernel/genkernel : this will install genkernel, the program we need to automatically build our kernel.

You also need to be mindful of this bit in the official installation guide. Except you should use vi instead of nano, if you have any taste...

  • vi /etc/fstab

  • genkernel all
  • ls /boot/vmlinu* /boot/initramfs* : run this when the previous command has finished to check if the kernel has been generated correctly.

I would not say you need to configure the kernel modules since it is presented as an optional step in the official documentation and I didn't do it when I installed Gentoo (and everything works perfectly). However, I do recommend you run the following command to install the linux firmware :

  • emerge --ask sys-kernel/linux-firmware

Finish Configuring Your System

If you have reached this point in the installation, you must have a lot faith, and I must say you are almost through! I am saying almost because some funny business is still possible. Actually, the installation is just some sort of rite of passage. Your whole experience with Gentoo might expose you to funny business... If you have never written /etc/fstab by hand, for instance, I am here to tell you that you can survive this last challenge. It is a huge pain, but it is possible (proof is, so many people have done it, right?)

/etc/fstab

Gentoo's official guide and the arch-wiki are your best friends to complete this challenge. You may also check the result of the man command. I added a screenshot below so that you have an example :

Here is also mine :

Warning : Do not just copy the examples above! Remember the partition scheme you used and simply put it here. All your mounted partitions should appear in your /etc/fstab. To get the UUIDs (partition labels), you can use the blkid command, like so :

  • sudo blkid /dev/sdaX

Grub2

Beware, this is supposed to be easy but if you do not do this bit properly, your system will not boot. I could have presented another boot loader, such as systemd's, lilo, or syslinux, but for obvious reasons I will not.

  1. emerge --ask --verbose sys-boot/grub:2
  2. Warning : Some commands vary if you use UEFI or not.
  3. emerge --ask --update --newuse --verbose sys-boot/grub:2
  4. BIOS : grub-install /dev/sda
  5. UEFI : grub-install --target=x86_64-efi --efi-directory=/boot

root & users

Do not forget to set the root password & do create a user account for daily use. Since you are installing Gentoo, I will consider you are advanced users and already know commands such as passwd, useradd, usermod. Now that you know the words, I am certain you will not be against a bit of DIY, right?

Networking Information

  1. vim /etc/conf.d/hostname : Set a name for your computer. Any name. All characters should be lower case.
  2. emerge --ask --noreplace net-misc/netifrc
  3. vim /etc/hosts : Exhibit A below.

Install Essential Packages

Some programs can obviously wait until you reboot, like LibreOffice, but there is no harm in doing it directly from the chroot environment. Especially if you do it the smart way and install all these programs at night. Anyway, I merely intended to give you a non-exhaustive list of useful programs.

If you wish to install brave as your main browser, you will not be able to do so before setting up an overlay, which roughly is the equivalent of the AUR for Arch users. By the way, I am not certain I still want to recommend brave as a main browser. There is a lot of controversy around it and I honestly am rather confused.

  • Network manager : Takes hours to compile but it is worth it.
  • Firefox-bin : Because having a web browser is cool.
  • A window manager of your choice such as : Qtile, I3, Dwm, Awesome... Desktop managers are so bloat, right? ^_^ ( I mean, if you are switching to Gentoo, you have to agree with this last statement).
  • Thunderbird-bin : To manage your emails, or (neo)mutt.
  • Libreoffice : This one can wait until after you reboot, but it really is up to you.
  • Vim, Neovim : Can anyone live without them?
  • Git : Can anyone live without Git?
  • A shell : bash (the default), zsh, fish...
  • Acpi : To manage your battery
  • A terminal emulator of your choice : Terminator, termite, urxvt, st, alacritty...
  • Some other programs :
    1. mlocate
    2. alsamixer / pulseaudio / pavucontrol : To manage sound.
    3. xorg / wayland : Generally, people only need one, but some of you will want both.
    4. setxkbbmap & libXklavier: check out my YouTube video about it to configure your keyboard layout. Otherwise Ibus does the job, I guess...
    5. sudo

Conclusion & Sign-Off

This guide should not be an excuse to avoid reading the official documentation. I voluntarily skipped some parts which I considered unnecessary here. If you need anything, such as more information about your init system (openrc), do check out Gentoo's documentation. Be curious!

Thank you for taking the time to read this blog post! If you liked it, feel free to let me know via email, by subscribing, liking, and/or commenting. You may also check out some more of my work. I also have a Patreon page, a YouTube channel, if you wish to support me there, and a GoodReads account.

Take care of yourselves,

Phil.

This image has an empty alt attribute; its file name is copyright.png

MageiaOS : A Quick First Look

My Dearest Mad-Readers,

I was recommended a GNU/Linux distribution called MageiaOS only a few weeks ago by one of my YouTube subscribers. I thought it at least deserved a blog post and a simple video for you to discover it with me. I am not particularly interested in such distributions but, hopefully, some of you may find it more to your taste!

A Few Words Of Introduction

Mageia is a French project protected by the GNU GPL license. It has an active community and is so easy to install that even a child could do it with their eyes closed. The only bit which requires to think during the installation is when you accept the license terms. Even then, however, you would probably not have complicated thoughts. In my case, I was seriously hesitating between installing the only GNU/Linux distribution in the whole world which requires me to accept a license and flush it down the toilet.

I do not mean to be unfair, however.

I could keep criticizing and say that I find that the documentation is a real mess. You click on a link which redirects you to another link, which is very likely to redirect you to yet another link, and you have no certainty to find the particular piece of information you actually were looking for. Nonetheless, I will stop.

Indeed, I should be happy that a French organization created its own Linux distribution from Mandriva in 2010. I should also be happy that said organization makes my dearest operating-system more accessible to novices. As I said earlier, MagieaOS has a childlike installation, which means that whether you are novice, an intermediate, or a more advanced user, MageiaOS can offer you a whole new world of possibilities. You may use several desktop environments right out the box: Gnome, KDE Plasma, LXDE, IceWM... It certainly does not make it the best distribution out there, nor the most popular (or you would have heard of it), but it makes it a distribution worth considering and, perhaps, installing.

Its Installation

If you wish to know more about its installation process, I shot a video which should tell you more than a thousand words which most people nowadays could not even gather the concentration necessary to read them anyway.

https://youtu.be/WLSkcldDaMM

An Unusual Sign-Off?

I am aware it has nothing to do with that but I watched The Social Dilemma on Netflix yesterday and I would like to advise everybody who is reading these lines to have a look at it too. Our future and well-being depend on the behavior of every single individual in this world. Please take them seriously.

Take care,

Phil.

Optimizing Your Computer's Performance

My Dearest Mad-Readers,

This is no joke. Nowadays, normies spend most of their time on one single program : their web browser. What if one could strive to change this digital behavior, however? What if today was the day I managed to convince you to uninstall your display manager? If you are not running GNU/Linux or a Unix-like operating-system yet, I once heard that it is never too late...

Disclaimer

This blog post is here to raise your awareness. I would like you to think about why you need a graphical user interface. There are countless contexts in which you need none, such as watching movies or writing for your own pleasure. The content of this article does not apply to the workplace, although all developers would gain much in applying these tips.

A World Without Xorg?!

I expect most of you will not know this, but most things can still be achieved (very) efficiently without a graphical interface. Yes, my dearest mad-readers, you do not even need to turn on Xorg or Wayland to get anything done. You do not need dwm, qtile, xmonad or any window manager to work or study. You only need a TTY. Within a TTY, you can work in vim, write programs, use LaTex, watch movies, listen to music, and I am certainly forgetting A LOT of things which go beyond my imagination.

In said TTY, a whole world design to distract you completely disappears : Forget about YouTube, Netflix, Medium, newspapers, social networks... They will be nowhere to be found, and this is for the best!

A Recently Published Video?!

As you know if you have been following me for some time, I have been focusing on my YouTube channel for the past two weeks. As I am writing this, I cannot believe it has been two weeks, by the way. Time does fly by when you are having fun! Anyway, I published a video about optimizing your computer's performance. I do not expect it to be perfect but I am proud of all the progress I have done with shooting videos.

I was able to trim out everything which I did not need, add a background music, I removed my intro and replaced it with an outro. I was also much more concise. This video is about ten minutes long, instead of fifteen.

https://youtu.be/hD-5UhS6nHQ

If you wish to provide me with any feedback, feel free to do so in the comments or via email!

As A Summary

There are three key elements to optimizing the performance of your computer and your experience as a user. Yes, I said as a user too! After all, it is much more fun to be a power-user than a normie, right?

  1. Run programs which are less greedy: Neovim instead of LibreOffice, a terminal music player instead of one with a full graphical interface...
  2. Do NOT use what you do NOT need: If there is no need for a GUI for your present activity, do not turn on Xorg. If you do not need the internet, do not turn it on. You will naturally become more efficient since you will be less tempted to consume distracting content.
  3. Be willing to change: It is all well and good to say that I am wrong and delusional in the comments, it is some other thing to deny the truth behind my words. Do not be content within your comfort zone and learn something from this, even if you disagree.

Logging Out...

If you could take even a mere pinch of awareness out of this article, I am certain your computer's battery would thank you for it. Not only however. Your concentration certainly would too!

Any program to recommend? Any constructive criticism?

I hope you liked it and that it was helpful. If you did, consider supporting me by subscribing to my blog, via email or Wordpress, or to my YouTube channel. You are also welcome to spend some more time here too!

Cheers!

Phil.

This image has an empty alt attribute; its file name is copyright.png

Yet Another Arch Linux Installation Guide

My Dearest Mad-Readers,

I had not played around in VirtualBox in a few weeks, except to have a quick first look at MageiaOS (which will be the subject of a later post and video). Since I am in great need of a Virtual Machine to demonstrate things in future YouTube videos, I figured I would install Arch Linux and seize this opportunity to re-work a guide I wrote many months ago.

Shred Of Nostalgia

Since I have already done it once on camera, I will not do it again today. If you are curious, here is my very first YouTube video. You may compare it with my latest ones and notice there (hopefully) has been some progress over the months. You can also use this video as a guide, since it goes through the whole installation process in a Virtual Machine, from zero to Xorg.

https://www.youtube.com/watch?v=N-AnwsxOFlU

Some Of Its Upsides

  • The first and most obvious one is its community. Arch has a wide community of passionate users and it is a rare thing not to be able to find an answer to a question or an issue you may have. This is a huge advantage.

  • The second one is its documentation. As a beginner, and sometimes even now (becomes do not be fooled, I am no expert), I struggled a lot with documentation. Today, I am ready to acknowledge that Arch has the best documentation out there. Gentoo is a fair competitor but, in my humble opinion, Arch is doing a slightly better job. You want proof? I switched to Gentoo and still search for solutions to my issues in their documentation (if I didn't find it in Gentoo's)!

  • The third advantage is its package manager. Let's face it, pacman rules. Plus, who wouldn't like watching pacman updating their system? You also get the AUR, and that cannot stay overlooked!

Its Main Downside

You see, even though arch gives you much freedom, I believe it still does not give you enough. When running Arch, like with most other distributions, you cannot choose whether you will install the dependencies of a program or not. You have no choice. If you want to install gdm (gnome-display-manager), for instance, you have to install all its dependencies (like gnome-sessions). Same thing when updating your system: what if you do not want to update a package? Well, again you have no choice. As for Gentoo-based distributions, they have a nice way for fixing this issue, but this will be the topic for another post. If you are curious, check out "Gentoo @world file".

I could go on for hours speaking about Arch, or I could actually explain how to install it. So let us move on to the second part of this post: installing Arch.

You want to proceed methodically. It is no difficult task, but it is easy to forget something and go through avoidable trouble just because you felt like going faster than you should have. Just take things slow, alright? There is no rush!

RTFM (please)

You may not be familiar with this abbreviation. If you are not, it is a friendly way of saying that you should open this link in a new tab: https://wiki.archlinux.org/index.php/Installation_guide.

Reading the manual is, in my experience, the most valuable skill you should practice above all others. Why? Because it will open the gates to the kingdom of knowledge to you. What does it matter if you know a programming language if you do not know what has changed from one day to the next, what has become deprecated overnight? Just learn reading. It is the most useful skill of all, and it should get you through the process of installing all the Linux distributions in the market without having to read long blog posts (such as this one).

Needless to say, I expect you to follow along with Arch installation guide opened in another tab. All the commands which you will need are clearly laid out on their guide. There really is no point in copy-pasting them here one more time, right?

Virtualbox

Whatever virtualization tool you want to use does not matter, but if you have never installed a distribution, it is helpful to get into the habit of trying and making mistakes in a safe environment.

I will just use VirtualBox (you guessed it), because I am used to it. Just do the same if you have no idea what else to use. It is free and opensource, which should be enough to convince you.

Download Arch's ISO Image

Pick a mirror on this page https://www.archlinux.org/download/ and download the ISO file which you will need to boot the live environment. For a faster download, select a mirror which is as close to your location as possible.

When you have done it, you may or may not verify the image signature. As this is (is it not?) a tutorial, I strongly recommend verifying it. As I am going to do the whole thing in a virtual machine, I will not bother doing it. It is the whole point of virtual machine... you know... breaking things (and then fixing them, let us be serious for a second).

Are you done verifying the signature and all? OK! Let's move on! Get psyched, it should get more interesting from here. I mean, soon you should have the satisfaction of having installed the "most difficult" (LOL?) linux system, so get ready to be proud of yourself, alright?

Boot The Live Environment

Fire up virtualbox. It is done? Good. Now, click on "New". It is the button on the left of "Settings" and next to "Tools" at the top of your screen. I know, it is SO accurate... but you are so talented I am absolutely sure you will find where it is. After clicking on "New", name your virtual machine "Arch Linux" (or whatever...), select "Linux" for the "type" drop-down and "archlinux" for the "version" drop-down. Then click next. You can keep the default settings for the memory you want to allocate your virtual machine. I personally like to give it 2048Mo, but you are free to do whatever you feel like doing. I mean, we are Linux users, freedom is our kingdom, init? (hum, systemd? Moving on...)

Just keep the default settings for most things. The only thing I would really recommend that you do is that you increase the size of your virtual disk. You would not go very far with just 8G, so move it up to 15G, alright? Click next and... Yay, you are done! Oh, no actually there is one last thing. Press the "start button".

Now, it is very important that you select the right iso. If you are a normal person (as normal as you can be cause you are installing arch, guys). If you do not, I have to tell you that you probably would not be installing arch. Sorry...

Mess In The Live Environment

Be curious, fire an "ls". You should at least see "install.txt". from now until the end of this installation, this file is your best friend. Or, if you are like me and you have wi-fi, the arch wiki does a pretty good job on its own. If you are in the US, the good news is that you should not have to change your keyboard layout. For the others, if you have to change the keyboard layout, #RTFM. I have not counted how many times my brother told me to RTFM, so I am proud to do just like him today. You will thank me one day. I am sure you will. I mean, I hope you will...

You will, right?

BIOS or UEFI

  • ls /sys/firmware/efi/efivars

This command is most important. You need to know whether you are in UEFI or BIOS mode. That is why I took the time to type this command here. If you want the installation process to go well, do not neglect this step!

Connect To The Internet

If you are following my advice (you better be :p), then just run ping google.com and you should soon realize that you are connected to the internet. When you found out that you are, just read the next two sections of the installation guide: Update the system clock & Partition the disk.

If you are going head-on and installing Arch on an actual machine, it is to be expected that you will have no internet connection. I recommend you check out this link then. You will soon discover that connecting to a network is a piece of cake.

Is it though?

I do not believe you will need any help regarding the system clock, but I will say a quick word on partitioning. If this is your first install of arch, just keep things as simple as possible. Use cfdisk, you may find it much more clear than fdisk, and keep a simple partition layout. Create a partition for root, aka / and a swap partition. As a rule of thumb, the swap partition should be twice the size of your RAM. Otherwise you will not be able to enable hibernation on your newly-installed system. Since I expect all of you to be working in a VM, you do not have to make a swap partition. Who would hibernate a VM when you can simply save its state?

When you are satisfied with your partition scheme, move on to Format the partition & Mount the file systems. These two sections are quite self-explanatory and there is a lot of copy-pasting going on, so I will not dwell on them. Same with "selecting the mirrors".

I will merely add that you want to only keep the mirrors closest to you. if you live in the USA, keep 4 or 5 mirrors located in the USA and delete the others (or comment them out, your choice).

Installing Essential Packages

When you run this command: pacstrap /mnt base linux linux-firmware, I recommend that you install vim, neovim (or emacs, if you want to feel different).

Do not forget to install a network manager as well. I recommend networkmanager. Also, do not forget the packages to access the man and info pages. You never know, you might need to RTFM.

Users

If you want to be able to log in, it can be nice to set a password for root, and while you are at it, you may as well create another user...

...and set its password too!

Rebooting & Praying

Once you have done that, there is only one thing left to do: exit the chroot environment & reboot (I know, that’s two). Or… no, actually, I believe there IS one thing we have forgotten to do:

The boot loader!

I recommend you install grub and then configure it with the commands provided in the arch wiki. Be careful though, the commands are not the same if you are on BIOS or UEFI mode.

Congratulations & Sign-Off

Did you pray hard enough? Has it worked? If it has, you can be proud of yourself. You are one step closer to becoming a power-user. If it has not, you can still be proud of yourself! Re-read this tutorial, study some more the arch-wiki and give it another go. Do not give up! Your curiosity led you to arch, this is no coincidence. You have a lot of potential, so USE IT. Always keep learning!

Any program to recommend? Any constructive comment on this short guide?

I hope you liked it and that it was helpful. If you did, consider supporting me by subscribing to my blog, via email or Wordpress, or to my YouTube channel. You are also welcome to spend some more time here too! If you are facing any difficulties, let me know too! Shoot me an email, or comment below ;)

Take care,

Phil.

Take Advantage Of Technology To Learn Foreign Languages

My Dearest Mad-Readers,

I hope you all are doing well, in these dark times, but especially that you are capable of seeing the silver lining of the tiresome cloud which already has been obscuring our vision for far too long. Yes, a lot of us are stuck at home. However, this does not mean that one should remain idle and wait for the rain to pass. No, people! Dance under the rain! Embrace your hardships, for this is how one learns.


Speaking of learning! I have been focusing on customizing my Gentoo system for a few days, and more specifically dwm & st.

You may now find the source code of my custom builds there :

No need to look for them in my Dotfiles/ repository, because you will find neither dwm nor st in it. I am rather satisfied with how I patched st and dwm at the moment. I still have a few minor details to set up or fix, but they are fully functional. This morning, I added new custom keybindings to get quick access to applications such as pavucontrol, LibreOffice, Anki and, much more importantly, I created bindings to manage sound and screen brightness with a simple key press. I love XF86 keys!


I also have been working on making and editing videos. As you all are aware of, this is a brand new trade for me. Publishing the results on YouTube puts even more pressure on my shoulders, but it also makes it extremely exciting.

If you are curious, look at my very first video and one or two of my latest ones. In a few months, I have already become much better. I still have a long way to go, of course. However, I am really happy to have taken the first step on this path!

I am currently aiming at reaching a 100 subscribers on my YouTube channel, exactly as I was with this blog a few months ago,. I plan to do it by Christmas in order to be able to apply to the LBRY partnership program and mirror my channel there. This way it should gain a lot in visibility.


Here is a link to my latest video. I worked on it the whole day, yesterday, because I wanted to set up OBS more precisely. By the way, I hope you will enjoy said setup! Do tell me your opinion in the comments! I value constructive criticism.

https://youtu.be/dWYJe6xHpZs


Before I leave you, I would like to say one last thing : This is my 90th blog post. Can you imagine ? Only 10 more down the road and I will have reached 100. I hope you folks all realize how privileged we are!

Being a blogger is extraordinary!


Photo by Rakicevic Nenad on Pexels.com

Take care & have the best day!

Phil.

This image has an empty alt attribute; its file name is copyright.png