
Overview
This project was created alongside a classmate in my first-year experience course at UTSA, Academic Inquiry and Scholarship for Engineering, Math, and Sciences (AIS 1243).
Prior to beginning college, I held a strong interest in running alternate OSes in virtual machines—first as a hobby, then competitively in CyberPatriot competitions in high school. As such, when I was presented with the opportunity to put together my first university CS project, I leaped at the opportunity to put together a custom OS image. My knowledge of Linux distribution "remixes" (e.g., Fedora Linux remixes) meant that I definitely believed it to be doable, even with my amateur knowledge at the time.
However, there were a number of obstacles that I faced when I found a partner and began this project—most significantly, the challenge of finding a build tool that would allow me to create a Linux “remix” in the first place. Many image-building utilities turned out to be unmaintained, and putting together a Linux From Scratch project would have been excessively time-consuming to test and present. However, a tool named KIWI-NG turned out to be a good middle ground, allowing for customization using scripts and files, while not requiring me to recompile the image’s individual components over and over. Armed with this tool, I ran straight to its documentation to put together an image that included relevant tools and shortcuts for UTSA's computer science students.
After figuring out a build method, coordinating tasks between me and my partner was the next hurdle—with one of my most important takeaways from this project being the need for good communication between project partners. As we did not have any classes together, we found it difficult to meet and strategize our project’s development—but in the end, we were able to pool our abilities into a final build and presented our final work to our professor.
Ultimately, while I believe that this project could have been more ambitious in its goal of creating a custom Linux image, I believe that it provided a good amount of experience with Linux CLI and imaging tools—an indispensable skill for IT and development environments. In addition, the media I had to create for the project (e.g., desktop icons in Illustrator, editing the presentation video in Premiere Pro) also provided a good exercise in my media creation skills. Overall, it served as a good exercise in both working in Linux environments, and in presenting my findings with an understandable presentation.
Methods used
Skills
- Experience and comfort in working in a Linux command-line environment
- Familiarity with modifying/substituting Linux system files (e.g., the launcher icon used by the DE)
- Ability to write Bash scripts (e.g., to change permissions on files, install
snap
programs, etc.)
- Familiarity with virtual machine environments, especially in installing OS images on virtual hardware
- Recording and video editing skills in putting together a presentation video with a voice-over
- Ability to comb through software documentation and apply provided examples to build a product
- Design skill in putting together media used in the image (desktop icons, OS logo)
Software, tools, and libraries
Project files
Project presentation (.pdf)Unfortunately, I do not have the right to make all project files publicly available at this time.
Media credits
Thumbnail; OS screenshot; and VMWare Workstation, Adobe Illustrator, and Adobe Premiere Pro icons were created by me. The KIWI-NG icon was created by me and is licensed under the CC BY-SA 4.0 license, being derived from kiwi fruit of the OpenMoji emoji library. Download the icon here.