Preparing a new partition Introduction In this chapter the partition which will host the LFS system is prepared. We will create the partition itself, make a file system on it, and mount it. Creating a new partition In order to build our new Linux system, we will need some space: an empty disk partition. If you don't have a free partition, and no room on any of your hard disks to make one, then you could build LFS on the same partition as the one on which your current distribution is installed. This procedure is not recommended for your first LFS install, but if you are short on disk space, and you feel brave, take a look at the hint at . For a minimal system you will need a partition of around 1.2 GB. This is enough to store all the source tarballs and compile all the packages. But if you intend to use the LFS system as your primary Linux system, you will probably want to install additional software, and will need more space than this, probably around 2 or 3 GB. As we almost never have enough RAM in our box, it is a good idea to use a small disk partition as swap space -- this space is used by the kernel to store seldom-used data to make room in memory for more urgent stuff. The swap partition for your LFS system can be the same one as for your host system, so you won't have to create another if your host system already uses a swap partition. Start a disk partitioning program such as cfdisk or fdisk with an argument naming the hard disk upon which the new partition must be created -- for example /dev/hda for the primary IDE disk. Create a Linux native partition and a swap partition, if needed. Please refer to the man pages of cfdisk or fdisk if you don't yet know how to use the programs. Remember the designation of your new partition -- something like hda5. This book will refer to it as the LFS partition. If you (now) also have a swap partition, remember its designation too. These names will later be needed for the /etc/fstab file. Creating a file system on the new partition Now that we have a blank partition, we can create a file system on it. Most widely used in the Linux world is the second extended file system (ext2), but with the high-capacity hard disks of today the so-called journaling file systems are becoming increasingly popular. Here we will create an ext2 file system, but build instructions for other file systems can be found at . To create an ext2 file system on the LFS partition run the following: mke2fs /dev/xxx Replace xxx with the name of the LFS partition (something like hda5). If you created a (new) swap partition you need to initialize it as a swap partition too (also known as formatting, like you did above with mke2fs) by running: mkswap /dev/yyy Replace yyy with the name of the swap partition. Mounting the new partition Now that we've created a file system, we want to be able to access the partition. For that, we need to mount it, and have to choose a mount point. In this book we assume that the file system is mounted under /mnt/lfs, but it doesn't matter what directory you choose. Choose a mount point and assign it to the LFS environment variable by running: export LFS=/mnt/lfs Now create the mount point and mount the LFS file system by running: mkdir -p $LFS mount /dev/xxx $LFS Replace xxx with the designation of the LFS partition. If you have decided to use multiple partitions for LFS (say one for / and another for /usr), mount them like this: mkdir -p $LFS mount /dev/xxx $LFS mkdir $LFS/usr mount /dev/yyy $LFS/usr Of course, replace xxx and yyy with the appropriate partition names. You should also ensure that this new partition is not mounted with permissions that are too restrictive (such as the nosuid, nodev or noatime options). You can run the mount command without any parameters to see with what options the LFS partition is mounted. If you see nosuid, nodev or noatime, you will need to remount it. Now that we've made ourselves a place to work in, we're ready to download the packages.