Adithya V. Sastry Robotics + Origami Creator of Tin Can Linux Research Science Institute Lover of all things tiny "A dream is not that which you see while sleeping, it is that which does not let you sleep." -- Dr. APJ Abdul Kalam
![]()
![]()
![]()
Tin Can Linux: A Custom Linux Distribution 07/2024 - present This summer I began working on a custom Linux package manager, and soon after began to design a custom distribution using this package manager. This is a place for me to write about how I got here and write about the process. For specifics about the distribution and installation instructions, see the official website at https://tincan-linux.github.io. === A Brief Overview ==================== Tin Can Linux is an independent hobby distribution made with the goal of being compact, understandable, hackable, and easy to maintain. It aims to achieve this by using unconventional packages that reduce the footprint of the distribution, eliminating unnecessary dependencies, and making some modifications to the standard file system layout. It also uses a custom package manager to handle installation and removal of software. At the moment, I have added enough packages the to repositories to start a graphical session with a terminal and web browser (NetSurf). Here's some screenshots of Tin Can in action:![]()
![]()
I am continuing to work on adding a few more packages, completing the transition from Xorg to Wayland, and shrinking the footprint of the distro. Tin Can is still in its initial stages; however, at the moment it is reasonably stable, and I am able to use it for simpler tasks like programming and web browsing. It also has a small base of around 10 users. === How and Why? ================ I have wanted to make my own Linux distribution ever since I discovered Linux From Scratch (LFS) a few years back. The first time I tried it, I was eventually able to work through the build process, but much to my dismay it wouldn't boot. Since then I've revisited the idea on and off, with further attempts to make my LFS boot, exploring Kiss Linux, and taking on the simpler task of making a minimal distro for the Raspberry Pi Zero based on Cross-LFS Embedded. Though the process has been slow, taking on these little projects and spending more time actively using Linux has helped me gain a better understanding of how it works. So, when I decided to try my hand at making a custom distribution again, it actually panned out, and Tin Can is the result. I primarily started doing this just for the fun of it. This project has been a nice thing to have going on the side, to occasionally fall back on when I'm bored, stressed, or just need a quick distraction. But aside from that, one of my motivations for making this was to try making a distro that was as compact as possible and required the fewest packages while still being reasonably usable. I've always been curious about the ways that I could push an operating system to the limits specifically in terms of the footprint, and the flexibility and control that Linux offers has made it a perfect testing ground to satiate this curiosity. And finally, I've been inspired by various other really cool and unique projects from the community, including: - Kiss Linux (https://kisslinux.github.io) - StaLi (https://sta.li) - Glaucus (https://glaucuslinux.org) - Oasis Linux (https://github.com/oasislinux) - Linux From Scratch (https://www.linuxfromscratch.org) to name a few of the most direct influences. === Future Direction ==================== For now, I plan to finish transitioning the distribution from Xorg to Wayland as the choice of display server protocol and work on further simplifying the file system layout. I also have plans to make some changes to which packages are included (change OpenSSL to BearSSL, bison to byacc, flex to reflex, etc) and try removing more dependencies. <<< Go back