Linux from Scratch
Linux from Scratch
To gain a deeper understanding, it’s better to experiment with Arch (pre-compiled) or Gentoo (source-based) rather than working with LFS (source-based, no pre-testing, no fixed configurations, etc.). Learning how Linux functions is easier this way. I’m not completely clear on what you’re referring to. Creating a distro from scratch will take time, but it’s manageable for one person. The real challenge comes when you turn it into a full distribution, as the maintenance responsibilities grow significantly. This is why many distros adopt others like Ubuntu or Debian as starting points. Running a distro solely based on another distro can also be demanding, since you must ensure everything operates smoothly and keep your user community satisfied. These factors explain why distros frequently rise and fall, aside from the sheer number already available. You have options, but you’ll need to decide what to base your project on—whether it’s a repo of some kind, whether source-based or precompiled. You’ll also need to organize files in the file system, track versions, origins, and find a way to host the repository. Here are some references for comparison:
- https://github.com/rpm-software-management/dnf
- https://git.archlinux.org/pacman.git/tree/
You’ll likely need to adapt open-source projects to fit your needs, since Linux doesn’t have fixed packages—only common ones. I’d suggest starting with something simpler. Linux could really benefit from improvements in its graphical interface, perhaps by finding an existing project without one and enhancing it.
It isn't feasible within my timeline. Would it be okay to bypass creation and use APT instead? Clarifying whether I should adjust my approach is important—my focus is on the complexity of the task. What determines if I can succeed? I’d appreciate suggestions on tools or methods that fit your schedule, or if maintaining the current state is more practical. Let me know how you’d like to proceed.
Start looking at it now, in preparation. See for yourself how you understand it/feel about it - only then will you be able to know if that's a viable project for you. There's no miracle, we can't know your skills. And you can't jump into complete unknown and commit to a project when you don't yet even know what any of it is about...
I’m starting from basic concepts in the LFS book and making some adjustments along the way. Right now, keeping things organized isn’t a problem. If I learn valuable lessons, I’ll definitely create something improved later. @Nayr438 Is LFS really challenging to understand? Do you know of other books or guides that could assist? I’d really like to try, but I’m unsure how long it will take to build the distro on my own. Also, do you think following LFS might be time-consuming? Thanks!
APT adaptation for non-Debian distros involves significant effort. The complexity stems from managing thousands of packages. A typical Linux distribution requires deep customization. You might find it helpful to try Gentoo in a virtual environment first. It offers flexibility but demands hands-on work. Understanding the full scope of a distro's development is challenging without direct involvement.
The issue is that LFS might not always match another distribution, which makes it hard to understand exactly what you're dealing with. If you're not comfortable with Linux, you'll need to start from scratch and manage everything yourself. Since all components of LFS are developed from source, you'll have to compile and set up everything on your own. If you're not used to Linux development, you might struggle without guidance if problems arise. The time required depends on your Linux experience, how quickly your system compiles packages, and your problem-solving skills. It can range from a single day to several weeks. For example, compiling the kernel alone on a basic system could take a whole day, while a more powerful machine might finish in just an hour. Most distributions use automated servers to build packages continuously. In general, it's difficult to give a precise estimate without knowing your background. It ultimately depends on your familiarity with Linux, your goals, and whether you prefer building from source or using another distro as a foundation. Remember, most distributions start with something like Ubuntu, swap a few items, and evolve over time with community help. Choose what feels right for you.