This tutorial will guide you through the installation of either a "Base Install" - similar to what used to be a "Manjaro netinstall" - or a pre-configured Manjaro Desktop Environment using the Manjaro-Architect ISO with the current version 0.8.8 of manjaro-architect.
I will try to keep this updated with further development of the installer.
Manjaro-Architect is a CLI (or actually TUI) net-installer, which means it does not need or provide a (real) graphical interface but uses a console or terminal menu to download all packages for the target system from the internet during installation rather than extracting a compressed ISO image.
Compared to traditional unpack-installation with a graphical installer like Calamares this has some apparent advantages:
- The install media can be very small. In this case the download is about 500MB. Also since no video-drivers are needed for the text-only environment it is unlikely that you will run into problems booting the M-A ISO.
- The packages installed to the resulting target will be the latest available on the chosen branch and no matter how old your install media might be, you will not need to update the fresh install.
Like that the manjaro-architect ISO will basically never be outdated. Even the installer itself will be updated automatically when you launch the ISO.
- The same install media can be used to install any desktop environment - even those DEs and WMs not maintained as an edition by Manjaro.
- Options for customization are basically unlimited. You are free to choose your kernel(s), drivers, init system, desktop environment (or none) and any other packages and you will have many more and very detailed ways of configuring the target install to your liking.
At the same time, if you prefer, you can use mhwd's automatic driver installation and access the pre-configured iso-profiles of Manjaro's supported editions to install an environment of identical configuration with what you would get by unsquashing one of our ISOs.
On the other hand, installation with this tool
- requires more time for configuration and download of packages.
- requires some understanding of a Linux system and you will need to make several decisions on your own rather than someone else has made them for you beforehand.
- does not provide a live environment of the resulting deskop. You will see what you get when you get it - WYNSIWYG
To deal with an actually useful example for this demonstration we will install a version that is currently not available as a normal Community Edition ISO. We are going to install Manjaro-i3 with init system openrc.
So lets get started!
Once you have booted the M-A ISO you will be greeted by this login screen:
You can login as user manjaro or as root, in any case using password manjaro.
Then start the launcher by typing:
Now manjaro-architect-launcher will download and install the latest available version of the installer and then look for an active internet connection. If none is detected you will land on this screen with nmtui where you have the opportunity to connect to a network:
After that you can choose between several languages for the installer. Some translations are not complete, yet, but in theory, these are available at the moment:
Brasilian Portuguese, Danish, Dutch, English, French, German, Hungarian, Italian, Polish, Portuguese, Russian and Spanish.
Some more system checks in the background and you will reach the main menu:
The idea is that you follow the menu entries and their submenus step by step and once you have reached at least the end of number 3 you should be able to quit the installer with 'Done' and boot into your freshly installed Manjaro system.
1. Prepare Installation
1.1. Set Virtual Console
At this point M-A will already have chosen a keyboard layout (vconsole) for the CLI environment automatically based on your language choice. If the default to be expected works for you, meaning you have for example chosen German and you are using a German QWERTZ keyboard, you can skip this menu entry or just open it briefly and it will show you the current configuration so you can decide if you want to leave it like that.
NOTE: The same setting will later be used for the Console configuration of the target install - it is however independent of the keyboard layout for the Desktop Environment, which is a different thing (xkbmap) and will be defined in a later step.
1.2. List Devices
Here you can list your available harddrives and other storage devices if you like. You can skip this step safely.
1.3. Partition Disk
In case you haven't prepared the needed partitions for your install before, this step offers tools to partition storage devices with a choice of CLI tools (cfdisk, cgdisk, fdisk, gdisk or parted) and you also have an option to automatically partition your selected disk. In that case M-A will create a separate boot partition of 512MB next to a root partition of the remaining disk space for you.
Additionally this submenu includes an option to securely clean your disk using the tool wipe.
In our example we will choose automatic partitioning to keep it simple.
Submenus 1.4. and 1.5. deal with LUKS Encryption and LVM. Use those if you like and if you know what you're doing. Else I will leave these chapters to someone more experienced with these features. In our example we will just decide to skip these steps.
1.6. Mount Partitions
Here you will be asked to specify which partitions to mount and how, starting with ROOT. We'll select the bigger one of our partitions that have been auto-created in the preceeding step and use filesystem ext4, which is common for a Linux system. On the next screen we are offered a list of different mount options. If you don't know of any special needs, just leave all of them unselected and confirm with [OK], or else choose what you need.
Next step is about SWAP. We haven't created a separate swap partition but we still have the option to use a swap file. In that case we can specify its size on the next screen. Or just don't use swap and continue with 'None'. Or of course you can choose another existing partition here to be mounted as swap by the final install - sharing a swap partition with another system on your computer is also an option of course. Just select it here like any other partition.
A /boot partition (if needed) should be mounted as filesystem vfat.
If you decide to mount more partitions you will be asked to specify their respective mountpoints (/home /opt /var ...).
Once all our partitions are mounted as desired we can leave the 'Prepare' submenu with 'Done' and return to Main Menu.
Submenu 2 will already be highlighted for us:
2. Install Base
As you already know we will need to fetch quite a lot of data from the net very soon. So it will be good to optimise our download a little.
The ISO's live script will already have tried to find a mirror in your region. To rank available mirrors by speed, to switch to a different branch than the default 'stable' or to tweak pacman in other ways by editing its config files you can use submenu 2.1. Configure Installer Mirrorlist.
I recommend you use at least the Rank Mirrors by Speed function.
Normally 2.2. Refresh Pacman Keys entry will not be needed.
2.3. Install Base Packages
Now we will already install the Manjaro base system. After the package database has been updated we will be asked to choose our init system. In our example we will select openrc.
NOTE: In case you are in fact installing an openrc base, please make sure that your favourite environment is currently working well (or at all) in combination with the alternative init system. Right now a lot is happening in this sector and we are still in the process of evaluating which profiles will work reliably with openrc. The installer will only exclude profiles that haven't been configured for openrc at all - right now this is only GNOME, but as I just said, that doesn't mean at all that all of the others will work ... I can tell you for sure at least, that Xfce, KDE, Lxqt and i3 should be fine with both init systems.
In the next dialog we need to select at least one Manjaro kernel.
Navigate to the desired list entry and select it with the [Space] key.
It makes sense to choose an alternative kernel here already, so we won't need to install a backup kernel later manually. In my case I know that my hardware works best with linux41 but I also want a newer kernel installed, so I just tick linux49 aswell.
The base-devel group will be needed if you want to use the AUR in your installed system. If you are not sure that your selected profile actually provides base-devel and yaourt, just select the entry here together with the kernel(s).
In this specific case I know that the Manjaro-i3 profile has AUR support configured, so I can leave it unchecked.
(Duplicate packages will automatically be removed from the list later, so you don't need to worry about that...)
Next you will see a selection of all the available kernel extramodules. Since for my wireless card I will need the broadcom-wl module, I will select that one here and the matching driver packages for both my selected kernels will be installed. The rest of the listed modules I will not need.
Now we can relax for a little while and watch M-A doing its job. It will create a list of needed packages and download and install them for us...
The download will be a little less than 1GB. Depending on your internet connection and the available selected mirror it will take some time to get everything we need...
Back to the 'Install Base' submenu you can either skip the next chapter, if you are happy with a pure Base Install (in that case you should continue with 2.5. Install Bootloader and 3. Configure Base), or continue with
2.4. Install Manjaro Desktop:
M-A will now download the manjaro-iso-profiles packages before presenting a list of available environments, currently looking like this:
The list of packages to download will now be even longer of course, depending on the chosen profile. In our case, download is 1.8GB - time for a cup of tea ... or so ...
Some profiles offer a choice between a 'basic' and a 'full' version. In that case the architect will ask you about that. In the case of i3 just one version is available.
Once all our packages have been installed successfully, Manjaro's hardware detection tool mhwd will install needed network drivers automatically. After that you will see this dialog about video-drivers installation:
Pretty self-explanatory. Option 3 will let you choose manually exactly which driver you would like to install while options 1 and 2 will install available free or proprietary video-drivers automatically.
After that you will see a list of "common packages" that have not yet been installed by the profile. In our case we see:
The i3-profile has already installed pamac, so I will not need another package manager. Neither do I use any of the other packages listed, so I will just hit [OK] without selecting anything here.
Our system is now already installed, but still there are some important things we need to do:
2.5. Install Bootloader
The list of choices in here is short for now. You can install 'grub' or 'grub + os-prober'.
You will like to use os-prober in case more than one system is to be found on your computer. If the Manjaro system you are installig right now is the only one or if you use a custom GRUB configuration, GRUB alone will do. The device where GRUB will be installed can be selected in the next step. Likely just one device will be listed.
If a system including a bootloader is already present on another partition of your computer you may want to not install a bootloader at all and skip this menu entry altogether.
Most of the steps in the next submenu are also important if you want to end up with a functional system!
3. Configure Base
3.1. Create fstab
The fstab file specifies where exactly on your drive(s) the partitions to be used by your system are located.
If you don't know anything about the options available here, just use number 3 Device UUID, which is the current standard that would be used by the graphical installer.
3.2. Set Hostname
Here you can enter what will elsewhere be called 'computer-name'.
3.3. Set Locale
The so-called 'locale' defines the language to be used in the target environment and will also play a role in a DE's automatic selection of a default currency, measure units and other regional "oddities" ...
3.4. Set Desktop Keyboard Layout
As said before, the keyboard layout to be used by the graphical environment.
3.5. Set Timezone and Clock
In my case I select 'Europe' first, then 'Vienna' and confirm the selected timezone Europe/Vienna.
Next, since I am not dual-booting with windows I can say 'yes' to using utc.
3.6. Set Root Password
This step is needed, even when you are going to use the same password for root as for your only user. Just type it in twice, also for Root.
3.7. Add New User(s)
Enter a user name (lower case letters only), choose the default shell (bash/zsh/fish) and provide the password(s)!
With this, we are in fact DONE!
If you like you can now in the Main Menu use 4. Review Configuration Files, which will look for available config files in the new system and offer the opportunity to open and edit them with text editor nano:
The whole content of 5. Advanced Installation is not part of this tutorial. It includes more options and different ways of installing and configuring environments and of tweaking some security settings. Maybe you will want to discover all that some time later ...
Now just lets finally hit 6. Done !!
Before quitting, the installer will perform a final check of some vital parts of the installation and will tell us if maybe we skipped or forget something important, like if we didn't define a root password or not install a bootloader and the likes.
We will finally also have the choice to save the installation log to the target's root directory.
In case something doesn't work out as expected this will later be helpful to find out what might have gone wrong...
But now lets reboot, shall we?
Overview of the menu structure in current version manjaro-architect 0.8.8:
│ ├── show devices
│ ├── partition
│ ├── luks
│ ├── lvm
│ └── mount partitions
├── Install Base
│ ├── config_mirrors
│ ├── refresh_keys
│ ├── install_base
│ ├── install_manjaro_DE_WM
│ └── install bootloader
├── Configure Base
│ ├── fstab
│ ├── hostname
│ ├── locale
│ ├── time_n_date / hw_clock
│ ├── root_pw
│ └── create_user
├── Edit config files
│ ├── vconsole
│ ├── locale
│ ├── hostname
│ ├── hosts
│ ├── sudoers
│ ├── mkinitcpio
│ ├── fstab
│ ├── crypttab
│ ├── grub/syslinux
│ ├── lxdm/lightdm/sddm
│ ├── pacman
│ └── xinitrc
└── Advanced Installation
├── install manjaro dev profiles
├── unconfigured desktops
│ ├── xorg
│ ├── de_wm
│ ├── dm
│ ├── network
│ ├── multimedia
│ │ ├── alsa_pulse
│ │ ├── codecs
│ │ └── acc
│ └── custom_pkgs
├── hardware drivers
│ ├── graphics drivers
│ │ ├── free drivers (automatic)
│ │ ├── proprietary drivers (automatic)
│ │ └── manual video-driver installation
│ └── network drivers
├── journal logging
├── coredump logging
└── kernel log access