Before Linux From Scratch

Matthew Tunstall

| 3 minutes

Before Linux From Scratch

I want to attempt to build Linux From Scratch, but I need something to build it on. Whilst I could use an old laptop, it isn’t going to be compiling from source very quickly.

Instead am going to be building in a virtual machine with plenty of allocated resources. So, I need to setup a virtual machine.

Setting up a virtual machine

I am setting up a virtual machine on my desktop PC running Fedora 35 using Virtual Machine Manager.

It is assumed at this point that virtualisation is supported by the hardware, all the necessary packages are installed and the following steps will just work without any issues.

Installing Virtualisation Software on Fedora

Full guide

Install the virtualisation package group:

$ sudo dnf group install --with-optional virtualisation

Start the libvirtd service:

$ sudo systemctl start libvirtd

Start the libvirtd service at boot:

$ sudo systemctl enable libvirtd

Verify KVM kernel modules are correctly loaded:

$ lsmod | grep kvm
kvm_amd               114688  0
kvm                   831488  1 kvm_amd

Using Virt-Manager to Create VM Storage

Open up Virtual Machine Manager:

Virtual Machine Manager

Start the process of creating a new Virtual Machine:

Virtual Machine Manager

Configure the Hardware for the VM:

Virtual Machine Manager

Enable and create storage:

Virtual Machine Manager

When prompted for storage….

Virtual Machine Manager

Choose to create a new storage pool:

Virtual Machine Manager

Here a new directory “LFS2” is used as a the target location for the pool.

Virtual Machine Manager

The new storage pool location now appears in the list.

Virtual Machine Manager

Selecting the new “LFS2” storage pool we can see that it is currently empty. Before it can be used we need to add some storage to it.

Virtual Machine Manager

Create a virtual disk (of an appropriate size) on which the host OS will be installed.

Virtual Machine Manager

Virtual disk for host OS now appears in storage pool.

Virtual Machine Manager

Create a second virtual disk for the virtual machine to use. It is on this second disk that Linux From Scratch will be installed. Later once LFS is completed, a virtual machine will be able to boot from this disk into a LFS instance. This disk has been made a little larger (30GB) to allow a little room for growth.

Virtual Machine Manager

The LFS storage volume appears in the storage pool.

Virtual Machine Manager

Select the volume from the storage pool on which the host virtual machine will be installed. This is fedora35-2.qcow2 in this example.

Virtual Machine Manager

Begin the creation of the Virtual Machine. In this case the Fedora 35 Live ISO is booted. There is then the option to install Fedora 35. Manually run the installer to install our host os on to our first storage volume. I’ve skipped over the actual installation process as it doesn’t add anything this to this guide. Shut the VM down post install and it will be ready to use for whatever you want.

Virtual Machine Manager

New Virtual Machine appears in list of VMs:

Virtual Machine Manager

Installing Virtual Machine on Fedora via command line

Above the VM was setup using the graphical method. It is possible to do this from the command line and achieve the same result.

TODO: Add this later.

Additional Reading

Linux From Scratch with Training Wheels

Building Linux From Scratch on a Google Cloud Virtual Machine

Related content