a comprehensive guide
to iso building
This guide aims to be complete.
This guide will point you to the information you need.
This guide will become gradually more difficult as the numbering increases.
The vision of ArcoLinux in regards to building is simple:
If we can build isos so can our users
So follow any of the tutorials on the https://arcolinuxb.com website in the menu BYOI.
It is simple.
It is easy.
You will get an up-to-date iso.
If you want to learn about the scripts, you read this article.
If you change the packages list – you will be adding more or less packages to the iso and it will become
your personalized iso
Your packages need to come from the Arch Linux or the ArcoLinux repos at this moment in time.
I want better driver support for my hardware
You may have discovered that your hardware is better off having no xf86-video-driver xxx or just the opposite.
I want the smallest possible iso
Often people want to know what packages they can leave out and still have something “usuable”.
So a bare or a minimal version of one of our isos.
Combine the information shared and know more about all the building blocks (often called lego-blocks in the videos).
In the ALCI project we start with archiso and put Calamares on the iso. That is as minimal as it gets. Check out those articles too.
In step 1 we have added packages or removed packages.
Often people want their look and design on the future OS.
I want my own configuration
These are defined often in two folders
If you can determine what files and folders you need then you are set.
We have explained to you in the menu “personal” on arcolinuxb.com how you define that.
In this step we keep it still very simple and basic.
We give you a folder called “Personal”. You will find it when starting to build the iso.
Put any of the files you deem necessary in there.
Build the iso.
Install the iso.
Type the alias “personal” in your terminal and all your configurations will go on your future system.
We do NOT recommend you dump the whole content of your .config or .local on your future system.
Later we can make this more complex by making a package and putting it on a repo.
I want to combine desktops
You may want just the one desktop or you may want to combine desktops.
With the right tool to compare aka meld that is super easy.
We have a tutorial to create an iso with Xfce4 and Plasma.
We have a tutorial to create an iso with Gnome and I3.
We have a tutorial to create an iso with Openbox, Awesome, Bspwm, I3, Herbstluftwm,Qtile and Xmonad.
We can now add or remove packages and we can add our configurations via the personal folder. Later this can be done via your repo.
the packages I want are not on the repo
You can NEVER add packages to your isos that are not available with a “sudo pacman -S”.
A package has the extension TAR.ZST.
Packages can come from all kinds of sources on the internet.
- your own repo
We have the official repositories – they are defined in your standard /etc/pacman.conf.
and its testing repos. Testing repos are there to experiment with the packages. Betas if you will.
We have the unofficial repositories – you can find a list of those here.
We have the repositories that you create. You find a package that is not on the previous repos. You find the pkgbuild on the AUR.
In order to use that package you will have to gather the knowledge how to build a package and how to put the package in your repo.
At this time we recommend you use just the official repositories and your own. Leave the unofficial ones out for now.
Until now you have used our Calamares and our archiso folder and its building scripts.
At some time you want more control.
Archiso is delivered and updated by the Arch Linux team.
Calamares is delivered and updated by the Calamares team.
Read anything you can put your hands on about these two projects.
You need to able to configure both.
Archiso uses the Linux kernel by default.
Linux is all about making choices.
You can decide to go for a linux-lts, linux-zen or a linux hardened kernel.
You can create packages and put them unsigned on your repos.
using unsigned packages will work just fine
If you want to sign packages so pacman knows the origin and the validity of the package you need to learn about signing the packages.
This is by far (for me) the hardest part I had to figure out on my own.
You can learn on the Carli project how it is done.
More technical knowledge about signing.