How to Develop Own Custom Linux Distribution From Scratch

Have you ever thought of making your own Linux Distribution? Every Linux user in their journey to Linux thought of making their own Linux distribution, at-least once. Even I was not an exception as a newbie to Linux land and have given my considerable time developing my own Linux Distribution. Developing a Linux Distribution from scratch is called Linux From Scratch (LFS)

Before starting, I concluded a few things about LFS which can be described as:

1. Those who want to develop their own Linux Distribution should understand the difference between Developing a Linux distribution from scratch (by scratch means starting from the beginning) or all you want is just to tweak an already available Linux Distro.

If you just want to tweak flash screen, customize login and preferably work on the look and feel of Linux OS, you can choose any fair Linux Distribution and customize it the way you want. Moreover a lots of tweaking tools there will help.

If you want to put all the necessary files and boot-loaders and kernel and choose what to include and what not to include and then compile everything yourselves you need to develop Linux From Scratch (LFS).

Note: If you just want to customize the look and feel of a Linux OS, this guide is not for you. If you really want to develop a Linux distribution from scratch and want to know where to start and other basic information, here is the guide for you.

2. Pros of Developing own Linux Distribution (LFS):

  1. You get to know the internal working of Linux OS.
  2. You develop a very flexible OS as per your need.
  3. Your developed OS (LFS) will be very compact as you have full control over what to include/exclude.
  4. You Development (LFS) will have added security.

3. Cons of Developing own Linux Distribution (LFS):

Developing a Linux OS from scratch means putting all the necessary things together and compile. This requires a lot of reading, patience and time. Also you should have a working Linux System to develop LFS and fairly enough disk space.

4. Interesting to know, that Gentoo/GNU Linux is closest to LFS to certain extent. Both Gentoo and LFS is the customized Linux System built entirely out from compilation of Source.

5. You should be experienced Linux user having good knowledge of package compilation, resolving dependencies, and pro in shell scripting language. Knowledge of a programming language (Preferably C) will ease things for you. Even if you are a newbie but a good learner and grasp the things quickly, you may start as well. The most important part is you should not loose your enthusiasm throughout the process of LFS development.

If you are not determined enough, I fear you may leave building your LFS in the middle.

6. Now you need a step-by-step guide, So that Linux can be developed from scratch. LFS is the official guide to develop Linux From Scratch. Our partner site tradepub has made available LFS guide to our readers and that too for free.

You can download the Linux From Scratch book from the below link:

Free eBook: Linux From Scratch

Download: Linux From Scratch

About: Linux From Scratch

This book is created by Gerard Beekmans, who is the Project Leader of LFS and Edited by Matthew Burgess and Bruse Dubbs, both of whom are Co-leader of the Project. This book is extensive and expands over 338 pages.

Having covered – Introduction to LFS, Preparing for the build, Build LFS from Scratch, Setting up of Boot scripts, Making LFS Bootable followed by Appendices, it has all you want to know on LFS Project.

Also this book gives you the estimated time required for the compilation of a package. The estimated time are calculated based upon the reference of the compilation time of the first package. All the details are presented in a manner easy to understand and implement, even for newbies.

If you have plenty of time and really interested in developing your own Linux Distribution you would never want to miss a chance to download this ebook and that too for free. All you need is, to start developing your own Linux OS using this ebook along with a working Linux OS (Any Linux Distribution with enough Disk Space), Time and Enthusiasm.

If Linux fascinates you, if you want to understand Linux from scratch and want to develop your own Linux Distribution, then this is all you should know at this stage, for most of other things you may like to refer to the book, in the above link.

Also let me know your experience with the book. How ease it was to get along the elaborated LFS guide? Also if you have already Developed a LFS and want to give some tips to our readers, your feedbacks are welcome.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide
The Complete Linux System Administrator Bundle
Become an Ethical Hacker Bonus Bundle

You may also like...

15 Responses

  1. Frank says:

    Good article! I want to develop and grow the Linux kernel, but not idea what to read, where to go. I love device drivers and Linux kernel internals. I like how it all fits together from the really internals, to the customization of the desktop. Actually, I’m learning operating system concepts. Thanks for the this article!

  2. Giorgos says:

    When I tried LFS (long ago), it had one major downside: The absence, of a package manager. Using LFS for every day’s tasks was meaning at the time, that you had to check manually (lets say, on a weekly basis), for software updates and of course downloading and installing them.

    Personally I’m voting for Gentoo. It’s a complete distribution, with package manager and all.

  3. mark says:

    How do you make a Linux From Scratch finished system bootable?

    I mean can you put it on a USB disk and install on another system ?

  4. Burp says:

    The only thing you need to know is how to re-roll your own distro from a running system into a live dvd. Unfortunately as far as I know there are no tools or tutorials that teach you how to do this, short of compiling Linux Kernel from scratch its best to install an existing distro.

  5. Vishal says:

    hey can you tell me the real difference in gentoo and LFS (Linux From Scratch) both of them are looking very similar I am a newbie can you help me.

  6. tekNorah says:

    Customization ≠ New Distro. Creating a new distribution involves the desire/need to publish a new flavor of Linux that would be beneficial for others to consume and/or be reused for a particular purpose.

    There are too many distros that have little to no support because some guy just wanted to make their own distro because he could. Please, before publishing your own distro, consider if there is a similar distro out there that may just require a few tweaks (via packages and dotfiles).

    • dragonmouth says:

      Totally new original unique distros are few and far between.

      Not everyone who creates their own distro using LFS, Gentoo or SUSE Studio will publish it for the entire world. In fact, as far as I know, nobody has. Most of the code kiddies use Ubuntu as a base. There isn’t a week that DistroWatch does not announce another Ubuntu knock-off.

      There are too many distros. DistroWatch has 870 distros in their database. Relatively few are really unique. Most of them are knock-offs of existing distros. The creator changes the desktop environment or some cosmetics and publishes it as a brand, spanking new distro. Unfortunately the Linux culture revels in “variety” and that encourages the proliferation of distros.

  7. rashin says:

    Hey, Dawg.. Could you please give me a brief discription of commands to run the procces pf making own distro.??
    I’m really interested to make one really !! :D

  8. Revemulo says:

    Another way to create one’s custom Linux distribution, without the pain of having to compile everything from source, is to use Arch Linux. The base Arch Linux installation is simple bare-bones system (nothing but a command line, network connection, and pacman package manager), which can then be customized to every last detail. I have Arch on my laptop with MATE desktop environment, Ambiance theme to make it look like Ubuntu in the golden days, plus nothing but my favorite applications. All this with the goodness of Arch’s outstanding wiki, excellent package manager, and vast software repository (AUR). Since Arch is rolling release, periodic full-system upgrades keeps my machine updated and eliminates the need to ever do another install.

  9. Tachyon says:

    Nice little summary of two ways to do it yourself Linux wise.
    One other option I think should be pointed out is SUSE Studio. It’s probably the easiest way to not only build your own custom Linux distribution, but to save it and share it with others.

    • Avishek Kumar says:

      Dear Tachyon, I have never tested SUSE Studio, but after seeing your feedback i am going to try it. Thanks for the information.

  10. Sreekumar says:

    They are asking for company details
    Is it available for students?

    • Avishek Kumar says:

      Dear Sreekumar,
      You may enter NA (Not Applicable)

      Also note that this is a one time details filling Procedure. Fill the details once and Download as many books as you want.

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.