Language Selection

English French German Italian Portuguese Spanish

Linux From Scratch 6.1 (part 1?)

Filed under

Linux From Scratch 6.1 was released on July 10 and I thought I'd take a look. This will be my third attempt at installing LFS. My first attempt was way back when I still ran Mandrake everyday (ie. - about 3 years ago) and I got as far as setting up the filesystem directories when I decided this was too much like work and abandoned the quest. My second was not so long ago when 6.0 was the latest and greatest version. I got a base installed and booted, but could not get xorg (blfs) to build. The project was put on the back burner until it simmered away. Today I begin again. Will I have the time and inclination to complete it this time? You know what they say, "third time's a charm!" ... or it is "three strikes, your out?" We'll see.

The first thing I did was untar/uncompress the LFS-Book-6.1-html. Yep, that's how this unique distro is distributed - not by iso or stage tarball, but by instructions. I fired up Konqueror and navigated to the index.html where I read the prerequisites telling me if I didn't know about linux, read "some links to newbie's guides". Then next the system requirements.

I wanted to build from my gentoo install, and I knew that I was using a 2.6.12 kernel with gcc 3.4.4. The system requirements stated that "the host must be running at least a 2.6.2 kernel compiled with GCC-3.0 or higher." So, I guess I'm good.

I recall reading their "book" from cover to cover, or at least until the building of xorg last time, so I refreshed my memory some by reading the preface and introduction. I was a little anxious to get compiling, but I knew if I skipped this step - I'd be sorry later. One of the subheadings is called Errata, and they recommend clicking on the link and checking for any pressing issues prior to building. Yippee - none were listed yet - this version was only just released today. I'll be one of their guinea pigs. I could just follow the guide.

Heyyyy, Chapter 1.1 - How to Build an LFS System states that "As an alternative to installing an entire separate distribution onto your machine, you may wish to use the Linux From Scratch LiveCD. The CD works well as a host system, providing all the tools you need to successfully follow the instructions in this book. Additionally, it contains all the source packages, patches and a copy of this book. So once you have the CD, no network connection or additional downloads are necessary. For more information about the LFS LiveCD or to download a copy, visit" augh well.... Skipping to Chapter 2... Big Grin

I already had a partition set up and a filesystem created, so... whoops, it's reiser and they recommend ext2 or 3. I guess I'll mke2fs /dev/hda13 and tune2fs -j /dev/hda13. Next, mount it. I still had my /mnt/lfs from the last attempt, so I export LFS=/mnt/lfs as instructed as well as mount /dev/hda13 $LFS and mkdir $LFS/sources. Thus begins the tendious task of downloading all the recommended packages and patches. One bit of advice for ya here: download all tar.gz packages. In my infinite wisdom, I chose as many tar.bz2 packages as possible, but not all are available in bunzip2. Later it would make for more delays when having to check if the package was gunzip'd or bunzip'd and issueing the correct command to decompress.

Next was setting up some further environmental variables and stuff, followed by binutils. LFS offers a suggestion to keep a time on this first compile so that you may be able to estimate how long the remaining packages take to compile - measured in BSUs. My BSU for binutils was:
real 2m26.874s
user 1m44.221s
sys 0m29.469s

As the first pass of gcc builds, I can report the problems encountered so far with book. Root directory owned by root and package sources and directory owned by host system user, causing permission problems when we got to the mkdir ../binutils and ../gcc build directories. Also, no /home/lfs instruction which caused the su - lfs to fail the first attempt. I mkdir /home/lfs and chown lfs:lfs /home/lfs and then as root from host system, just chowned lfs:lfs /mnt/lfs. I hope this is okay and doesn't cause problems later on. But with everything being built and installed by the lfs user, that is of course the permissions on all the files and executables. It only stand to reason the initial directory permissions should be the same. We'll see.

At this point I was just more or less highlighting and pasting the given commands into the virtual environmental shell. All went well and it was time to chroot into lfs and continue with chapter 6. The permissions issue mentioned in the previous paragraph are addressed here. A root group/user is added and directory permissions are changed.

From that point on I just followed the guide through the package recompiles. It was as they say "by the book". I configured the kernel and skipped the grub portion. I set up some of the config files "the book" suggested - some I copied from gentoo, like my /etc/resolv.conf. I copied the boot kernel and files to /boot, then mv'd that to /boot.bak. I then mounted my hda5 as /boot and copied all the files from /boot.bak to /boot. I set up an entry in my gentoo's lilo.conf, ran lilo and rebooted.

The system rebooted into my fresh LFS install without issue. All the included configuration instructions seemed fairly complete and accurate enough given the users' input and ability to know small details about their machines. Overall I found the instructions in the book easy to follow and accurate. I think anyone with basic commandline experience could have a successful install and with just a few more hints (for example: delete previous gcc-build directory/sources and untar/compress fresh), a newbie might too. Tho LFS is designed to be just your basic system ready for your customizations and additions, the book really needs to include at least a console web browser (links or lynx) and wget. It took me about 10 hours or so to go from clicking on the html book to logging into my new system (bearing in mind I had to break from time to time to eat, watch some movies, and fight with my boyfellar). So for anyone wanting their own homemade system or to learn more how a Linux operating system is put together and works (if one pays attention to valuable information/explanations included as opposed to <cough>mindlessly <cough>copying and pasting), I can recommend LFS-6.1.

Now on to BLFS. Unfortunately Beyond Linux From Scratch is always a book behind it seems. To me it's not a real install until one can log into a window manager. Hopefully by next weekend BLFS will be caught up and we can possibly have a part 2. But I have a base ready and waiting for it. Big Grin

I remember...

Within my first year of linux, back under RH 7 or Mandrake.
I seem to remember I had a nice LFS install on a smaller partition (500Mb), the biggest problem I had was adding it to my host lilo config.
I remember I was able to boot to bash in under 5sec due to the lack of what some people would consider 'functionality' and under 10sec for a minimal X session with mplayer fired up waiting for me to play a dvd.
I even got as far as installing KDE 3.5 on that sucker a few weeks before it became available under Mandrake (that was a mission with dial-up) I ended up buying a source cd from somewhere Big Grin

I ended up down this route after finding I had to keep rebuilding my kernel for a winmodem which had a working driver which wouldn't be accepted into the mainline kernel or the distro ones either.

Reiser is available under LFS provided kernel support and reiserfsprogs (see BLFS) are built and installed in the minimal system (stage 2 i seem to remember).

I eventually gave up with this as I like living on the cutting edge too much (escpecially with KDE4) and my laptop is not capable of rolling it's own gentoo weekly which requires less personal input into the configuration and dependency managemnet than LFS which is quite intensive for watching dependencies (although there's no circular dependencies which makes sence).

Speaking of which I installed paco as a text based package manager which I still grab again for my SuSE install when I have to compile that all-so-important package from source. I find it's quicker than me generating my own rpm, which (I suppose) would be easier to upgrade...

At the moment I have a chroot jail on my system which I copied loosley from LFS which allows me to do any work with the latest compilers etc without polluting my main system.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

today's howtos

  • Font Management On Linux - YouTube

    Many new-to-Linux users have questions about installing fonts and previewing fonts on Linux. While there are some nice GUI applications that help with these tasks, you don't actually need to install any extra programs to manage your fonts.

  • Dmenu Is Great So I'll Keep Simping For It - YouTube

    At this point the only Suckless tool I actively use is Dmenu, it's an absolute great launcher especially if you're the kind of person who doesn't really care about having a super fancy looking app, Dmenu is functional and that's all it needs to be.

  • Remove ^M (CTRL-M) Characters from a File in Linux - Putorius

    Operating systems have different ways to handle a newline in their text editors. For example Windows uses a specific carriage return (CR) which is depicted as ^M on Linux, followed by a line feed (LF) to indicate a newline. Linux and UNIX on the other hand use only the line feed to denote the end of a line. This often causes issues when transferring (or even copy and pasting) a file from Windows to Linux. It is hard to spot, and often leaves people scratching their head and wondering why their configuration file is not working.

  • How to install fonts in Gimp on a Chromebook

    Today we are looking at how to install fonts in Gimp on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  • How to Install Rocket.Chat on CentOS 8

    Rocket.Chat is a free and open-source chat and messaging application built with Meteor. It is an alternative to Slack and allows you to chat with other members, make video and audio calls, create channels and private groups, share files, and folders and many more. It is self-hosted and helps your team to communicate and share ideas on desktop and mobile devices.

  • How to Check Ubuntu Version with Command or Script

    The lsb-release is the standard package for reporting the version on Ubuntu systems. Which is basically written in Python programming language. The lsb-release package provides a command lsb_release used to check Ubuntu version and codename on command line. In this tutorial, you will learn various options to lsb_release command on Ubuntu system.

  • Updated Docker pages

Jetson Xavier system bundles LIPSedge 3D vision camera

LIPS’ IP67-protected “LIPSedge AE400” 3D vision industrial camera is now available with Aaeon’s Linux-driven, AGX Xavier based Boxer-8240AI computer. The RK3399-based camera is built around an Intel RealSense D415 and offers GbE with PoE. Aaeon announced that its Boxer-8240AI edge AI system based on Nvidia’s high-end Jetson AGX Xavier module has received Nvidia Isaac Certification for a bundle that combines the compact, embedded system with LIPS Corp’s LIPSedge AE400 Industrial 3D Camera. The camera is billed as an industrial version of the Intel RealSense dual-lens stereovision camera. Applications for the Aaeon/LIPS offering include autonomous guided vehicles (AGV), vision guided robots, and smart factory systems. Read more

Release of t2 GNU/Linux 20.10

  • T2 20.10 tagged and shipping!

    A decade in the making, T2 version 20.10 was finally tagged and shipped! Grab your favorite release ISO, e.g. highly optimized AMD64, PPC64 for your PS3, MIPS64 for your Sgi Octane or any other of our release builds for playing along at home!

  • t2 Linux 20.10 released

    The 20.10 release of the t2 Linux distribution is available.

Canonical/Ubuntu: FOSDEM 2021 Community DevRoom, Snap Store and Ubuntu Technical Board Call For Nominations

  • Laura Czajkowski: FOSDEM Community Devroom 2021 CFP

    The twenty-first edition of FOSDEM will take place 6-7 February, 2021 – online, and we’re happy to announce that there will be a virtual Community DevRoom as part of the event.

  • When you need the numbers just right – benchmark and profiling applications in the Snap Store | Ubuntu

    The world of software is a vast and complex one, often too difficult to easily assess by human intuition alone. Which is why detailed and accurate measurements of software behavior are essential in helping us understand and gauge how well our applications perform. The Snap Store has a fair share of productivity tools and utilities, including a wide range of benchmarking and profiling tools. These are designed to help developers, system administrators and hardcore enthusiasts get a precise sense of their software, whether as part of research and design or for troubleshooting ongoing problems in production environments. Let’s have a little tour.

  • Ubuntu Fridge | Ubuntu Technical Board Call For Nominations

    The Ubuntu Technical Board is responsible for the technical direction of Ubuntu. It makes decisions on package selection, packaging policy, installation systems and processes, kernel, X server, display management, library versions, and dependencies. The board works with relevant teams to establish a consensus on the right path to take, especially where diverse elements of Ubuntu cannot find consensus on shared components. The current Technical Board is expiring at the end of the year, and the Community Council would like to confirm a new Technical Board, consisting of five people, who will serve for two years.