Gerard Beekmans - Building Linux From Scratch
One of the wildest dreams most of the hardcore computer science engineers have is to build their own operating system from scratch. Well, if you are a Linux fan; you already know him. For the uninitiated; he is the man who teaches thousands of computer geeks and programming freaks to build their own custom Linux Operating System From Scratch!
CrazyEngineers is extremely proud and happy to have Mr. Gerard Beekmans, the founder of the famous "Linux From Scratch" (LFS) project. In an exclusive interview with CrazyEngineers, Gerard answered all our questions. Check it out -
CE: Gerard, you are the LFS initiator and project organizer. What exactly is LFS?
Gerard: LFS, or Linux From Scratch, is primarily a teach aid thats shows people how to build a fully customized Linux system from the ground up. In doing so, you can learn a tremendous amount what makes Linux work.
CE: How are you invovled with LFS?
Gerard: As the project leader, I make sure the project's goals remain true to its ideals, maintain the server the powers the project and work with the other developers in a collaboritive environment to actually perform the work needed.
CE: Why should anyone build linux from scratch? What are the problems that you see with existing Linux distributions?
Gerard: People should build LFS if they want to learn more what makes Linux work and how it's put together. Everybody can load a DVD and wait for it to install. That doesn't really give you a deeper understanding how that handy installation DVD came to be.
Once you finished building an LFS system, it's fully functional and there's nothing inferior about it. There are countless number of LFS systems in mission critical production environments around the world.
I wouldn't say there is anything wrong with a regular Linux distribution. Everything serves its purpose. A regular distribution makes it hard, for example, to fully customize it, or see the rationale behing the decisions that were made.
CE: Why did you decide to initiate the Linux From Scratch project in 1999? What were your initial goals?
Gerard: I tried a number of distributions and could not decide on any one. They were great systems in their own right. It wasn't a matter of right and wrong; it had become a matter of personal taste. With all that choice available, it became apparent that there would not be a single system that would be perfect for me. So I set out to create my own Linux system that would fully conform to my personal preferences.
CE: What are the stages involved in building Linux From Scratch? What level of expertise is required?
Gerard: Stages involve creating a new partition that will hold the system and then proceed to compile every package from source code. No binary pre-compiled packages are used. This system is not geared toward newcomers to Linux, but rather to people already well versed in Linux who want to expand their horizons.
CE: What is the biggest technical challenge in building LFS?
Gerard: If you don't automate it, it can be a time consuming process to build and then subsequently maintain. Other challenges include the knowledge you suddenly need to acquire: In a regular distribution you simply run an update program and trust it does its job properly. In LFS you do it yourself and it requires a new level of understanding why patches are applied, why things are done. It could be argued that any self respecting system administrator would appreciate this rather than find it an unacceptable challenge.
Development challenges exist as well. New versions of packages may introduce problems compiling in certain scenarios, or doesn't work nicely when combined with other packages. This gets especially tricky when important packages like Binutils, GCC and Glibc are affected. A bug in any of those three could potentially affect just about every single program.
CE: What approach do you suggest for CEans while building LFS ?
Gerard: Read the book we wrote for our users. But, don't be afraid to deviate from it. After all, that's the whole point of the project: to make a system for yourself, not according to somebody else's specifications.
CE: Thank you for spending time with CrazyEngineers. What is your message to the CEans?
Gerard: Never settle or accept a solution that you aren't 100% satisfied with. You always have a choice and it's not always so hard or daunting as it may at first seem.