How to Create your own custom Linux system, step by step

by Janeth Kent Date: 14-06-2019

Here is some information where you can learn step by step how to customize a Linux distribution to create your own Linux. If we follow the steps, even the less experienced will be able to create their own Linux to their liking.

Personalizing a distribution not only serves to have a distribution different from the rest and genuine, but also to make our lives easier. For example, when we format our computer (or if we have to install operating systems and software on several computers), we must install the distro and then go installing one by one all the software or programs needed. If we had them all together, this would not be necessary, so it would be much simpler. We can even have a LiveCD with the tools we need for our work.

Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for creating your own custom Linux system, entirely from source code.

Currently, the Linux From Scratch organization consists of the following sub-projects:
 
  • LFS :: Linux From Scratch is the main book from which all other projects are derived.
  • BLFS :: Beyond Linux From Scratch helps you extend the finished LFS installation to a more customizable and usable system.
  • ALFS :: Automated Linux From Scratch provides tools to automate and manage LFS and BLFS compilations.
  • CLFS :: Cross Linux From Scratch provides the means to cross-compile an LFS system on many types of systems.
  • Suggestions : The Suggestions project is a collection of documents that explain how to improve your LFS system that are not included in LFS or BLFS books.
  • Patches :: The Patches project serves as a central repository for all patches useful to an LFS user.


Step by step

Linux From Scratch (LFS)


LFS is a project that gives you step-by-step instructions to build your own custom Linux system completely from the ground up.
 

Why use an LFS system?


Many wonder why they should go through the hassle of building a Linux system from scratch when they could simply download an existing Linux distribution. However, there are several benefits to building LFS. Let's consider the following:

LFS teaches people how a Linux system works internally. Building LFS teaches you about everything that makes Linux work, how things work together and depend on each other. And most importantly, how to customize it to your taste and needs.

 
When you install a normal distribution, you often end up installing many programs that you would probably never use. They're just installed there taking up disk space. It is not difficult to install an LFS system of less than 100 MB. You can get a system installed in up to 5 MB of space.

The construction of LFS could be compared to a finished house. LFS will give you the skeleton of a house, but it's up to you to install pipes, electrical outlets, kitchens, bathrooms, wallpapers, etc. You have the ability to turn it into any type of system you need, completely customized for you.

It will compile the whole system from the source, allowing you to audit everything, if you wish, and apply all the security patches you want or need to apply.

In this link you can read or download the latest version of the book LFS

 

Beyond Linux From Scratch (BLFS)

BLFS is a project that continues where LFS ends. It helps users develop their systems according to their needs by providing a wide range of instructions for installing and configuring various packages on a basic LFS system.

Why would I want a BLFS system? What can I do with my BLFS system? Almost anything! An LFS system is ready to become a system that adapts to any need you have. BLFS is the book that takes you by the hand. I could build a workstation in your office, a multimedia desktop, a router, a server or all of the above! And the best part is that you only install what you need.

In this link you can read the BLFS documentation
 

Automated Linux From Scratch (ALFS)


ALFS is a project that creates the generic framework for a system builder and a scalable package installer.

After reading the LFS and BLFS books more than 2 or 3 times, you will quickly appreciate the ability to automate the task of compiling the software you want for your systems.

The goal of ALFS is to automate the process of creating an LFS system. Try to follow the book as closely as possible by extracting instructions directly from XML sources.

The official implementation of ALFS is called jhalfs . It was originally created by Jeremy Huntwork, then developed and maintained by Manuel Canales Esparcia, George Boudreau, Thomas Pegg and Pierre Labastie. It has become a light and practical method of automating an LFS compilation. It is a Bash shell script that makes use of Subversion and xsltproc to first download the XML sources from the Linux From Scratch book and then extract the necessary commands, placing them in executable shell scripts. Finally, jhalfs generates a Makefile that will control the execution of the shell scripts, allowing recovery if the compilation finds an error. Pierre Labastie has added a framework for using package management.

The latest version of jhalfs stable can be downloaded from http://www.linuxfromscratch.org/alfs/downloads/jhalfs/stable/.

The development of jhalfs is now hosted at github. To get the latest development version, you can use this command:
git clone https://github.com/automate-lfs/jhalfs.git

To find out which book versions are compatible with each version of jhalfs, see http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks .

An ALFS extension to automate package building in the BLFS book is now included in jhalfs. It is still a work in progress, but the dependency chain code works, and most packages can be built automatically. Still, about 10% of pages lead to non-functional scripts, due to book design, or unavoidable circular dependencies.
 

Cross Linux From Scratch (CLFS)

Cross Linux From Scratch (CLFS) is a project that provides you with step-by-step instructions to build your own custom Linux system completely from scratch.

Building CLFS teaches you how to make a cross compiler and the necessary tools to build a basic system on a different architecture. For example, you could build a Sparc toolstring on an x86 machine and use that toolstring to build a Linux system from the source code.

CLFS leverages the capacity of the target system by using a multilib-capable compilation system.

Building CLFS teaches you about everything that makes Linux work, how things work together and depend on each other. And most importantly, how to customize it to your taste and needs.

When you install a regular distribution, you often end up installing many programs that you would probably never use. You can build CLFS even if you don't have Linux running

In this link you can read the CLFS documentation
 

LFS Suggestions

LFS suggestions are small documents that explain how to do things that are not covered in LFS or BLFS books. They provide a variety of information, such as alternative ways to create and configure packages, information about new/unstable packages that have not yet appeared in the books, specialized techniques for specific hardware, and other areas of interest to LFS users.

If you have a specific problem that is not answered by LFS, BLFS, frequently asked questions, or project documentation, there is likely to be a written suggestion about it, detailing everything you need to know. And if there isn't, you can write one yourself !

 

LFS Patches

The patch project serves as a central repository for all patches useful to an LFS user. It also serves as a testing ground for patches that will later be incorporated into the LFS and BLFS book. Patches that are in the repository, but are not included in the book, are intended primarily for users who are already familiar with LFS. The first time LFS users must adhere to versions and patches found in LFS or BLFS.

Patches are submitted by individual users and may not be tested by the LFS testing team. They carry no warranty of any kind. These apply at your own risk.

The patch mailing list is only for sending patches and for discussions related to the development of the patch project. Discussion related to patches must be on the corresponding development or support list. Most likely it will be blfs-dev or lfs-dev.

 
 
by Janeth Kent Date: 14-06-2019 hits : 20676  
 
Janeth Kent

Janeth Kent

Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN AND DEVELOPMENT.

 
 
 
Clicky