Creating a new Calamares version – updating other packages

This article takes you through the ongoing development and updates of Carli, a customized Arch Linux ISO. We begin by discussing the initial steps of booting from the SSD containing the Carli system, explaining the choices made to simplify the installation process and avoid password prompts. The focus is on making updates to the system, especially to Calamares, the installer tool used for the Carli ISO.

The article covers the history of Carli, starting with the first versions that included various desktop environments like XFCE, Cinnamon, and Plasma, and noting the minimal package requirements to get a fully functional desktop. The primary packages that come with Carli are mentioned, such as XFCE 4 and its essential goodies, making it a lightweight and efficient desktop environment. The article also includes a look at the ongoing efforts to update and improve Carli, with a special focus on updating Colaris, a key tool used in the development process.

A significant portion of the article is dedicated to working with GitHub and Git to manage code and keep track of updates. The GitHub repository is essential for understanding what’s changed in the system over time, as well as reading the documentation for new updates and fixes. The steps to interact with GitHub, including making an account, signing in, and navigating through issues, are discussed in detail. The importance of keeping track of commits and the commit reference system is explained, helping developers know exactly which version of the system they are working with and how to revert to previous states if something goes wrong.

In terms of building the system, the process involves copying specific commits, updating package builds, and dealing with the sometimes long wait for updates. The package builds, which define how software is compiled and packaged for Carli, are a central part of the development process. The article describes how the package build for Colaris is updated, tested, and committed back to GitHub. Also covered is the step-by-step approach to updating the system’s packages, including the use of version numbers to track and manage different iterations of Carli. The challenges faced during the build process, including potential issues and the occasional need to troubleshoot, are highlighted as part of the learning process.

The article also touches on the broader open-source ecosystem, mentioning how different Linux distributions use similar tools for system installation and configuration. There is a clear emphasis on learning and testing, as it’s understood that making mistakes and experimenting is part of the journey. The importance of understanding how things work and testing changes in a controlled environment is stressed, offering practical advice for anyone interested in learning about Arch Linux and ISO creation.

Along the way, various tools, packages, and resources are mentioned, including Calamares, Colaris, and other essential Linux utilities. The reader is encouraged to explore the GitHub repositories for these tools, participate in the development process, and learn from the community. The concept of a “Lego block” approach to system building is introduced, where different packages can be added or removed to suit individual needs.

The article also highlights the personal journey of the author in customizing and building Carli, discussing the iterative process of testing, updating, and refining the ISO. It’s made clear that while this project is educational and aimed at teaching how Linux systems are built, it can also be used as a functional operating system for daily use. However, the key takeaway is that this project is more about learning how to build and understand a Linux-based system from the ground up.

Finally, the reader is encouraged to be patient throughout the process of updating and building Carli. The development cycle is ongoing, and updates will continue to roll out. The article ends by reinforcing the idea that understanding the underlying structure of your operating system, making customizations, and experimenting are valuable learning experiences that will deepen your knowledge of Linux and system administration.