Language Selection

English French German Italian Portuguese Spanish

Linux From Scratch 6.1 (part 1?)

Filed under
Linux
Reviews
-s

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 http://www.linuxfromscratch.org/livecd/." 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

An Insight to PureOS 9.0 Hephaestus

Unlike many other secure & privacy-respecting operating systems, PureOS does not get celebration in every release. Say for example QubesOS, Tails, Whonix, and OpenBSD, they all get celebrations every time they reach a new version. However, after a period of version 8.0, now PureOS reaches version 9.0 as per February 2020 I could tell. This article overviews PureOS in general and version 9.0 in particular starting from a little Librem computers intro, then things about the new Amber codename, the switch from Rolling to Stable style of release, and more. I also added valuable links at the end about its history and development. I hope this article can sum up well about PureOS for you. Enjoy! Read more

Today in Techrights

Planet Changes and Cilium

  • Planet Arch Linux migration

    The software behind planet.archlinux.org was implemented in Python 2 and is no longer maintained upstream. This functionality has now been implemented in archlinux.org's archweb backend which is actively maintained but offers a slightly different experience.

  • Cilium drops 1.7 release, upping insight and manageability

    Network and API connectivity project Cilium has been released in version 1.7, providing users with a UI for observability platform Hubble and the option to apply cluster-wide network policies. Cilium is an open source project developed by US startup Isovalent to provide and secure network connectivity and load balancing for workloads such as application containers or processes. It is based on a virtual machine-like construct called Berkeley Packet Filter (BPF) which can be found in the Linux kernel.

OSS and Development

  • Someone is selling the free, open source Playnite launcher on Steam for $100

    Playnite is a free open source PC application designed to be an all-in-one answer to the growing number of game launchers we've all got on our desktops. In other words, it combines libraries from the likes of Steam, Epic Games Store, Uplay and GOG Galaxy, and then lets you organise them however you see fit. Jody tried it last year and came away impressed. I should emphasise the "free" above: it is available straight from the source here and, according to the site, "no features are locked behind a paywall and the complete source code is available under the MIT license". The MIT license basically surrenders the software to any kind of use with no restrictions, including resales.

  • uGet is an open source download manager for Windows and Linux that also supports Torrents and Video downloads

    The GUI has four panes, a menu bar and a toolbar. The Status pane in the top left corner displays all downloads and the ones which are Active, Queuing, Finished, and Recycled (deleted). The total number of downloads for each category is displayed next to its name, and you can click on any of these to see the list of items contained. Switch to the Category pane to jump between the default and the ones you have created. You can use the Category menu to add new sorting options, set the default download folder for each category, maximum active downloads, and also the maximum upload and download speeds. The pane below the toolbar is the download list pane; anything that you select in the status pane is displayed here. It shows the name, the file size of the download that has been completed, the total size, the progression percentage, time left to complete the download, and the upload/download speeds of each file. The View menu can be used to customize the columns that are displayed in the list pane, and the other visual elements of the program. Highlighting an item in the download list brings up its summary on the bottom pane.

  • Open Source Music Tagger Picard 2.3 Released With Custom MP4 Tags Support

    Free and Open source MusicBrainz announced the point release of Picard 2.3 with major changes to the user interface, tag, and desktop integration support. MusicBrainz stores all the metadata of the music and Picard is the official tag editor that helps in identifying and organizing the digital audio recording.

  • For Square Crypto, the Way to Bitcoin Mass Adoption Is Open Source

    When Jack Dorsey founded Square in February 2009, Bitcoin was all of one month old. In fact, Satoshi Nakamoto and Dorsey were likely laying the groundwork for their respective creations concurrently in the year prior. Ten years later, the two would converge in what now seems like an inevitable collision. Square launched its Venmo-like payment service, Cash App, in 2013. The application features common stock investing, and i

  • Gold-nuggeting: Machine learning tool simplifies target discovery for pen testers

    Recognizing this analogy with the precious metals industry, researchers at Delve Labs have developed Batea, an open source tool that leverages machine learning to find valuable information in network device data.

  • ’Second Revolution’ In Electronic Bond Trading

    Sri Ambati, chief executive and founder at H2O.ai, told Markets Media that the firm’s open source platform can perform one billion regressions in less than five seconds.

  • Google ‘AutoFlip’ can resize video using AI

    The way we consume video has changed a lot over the course of the last decade. We now watch videos on our mobile devices from anywhere and because of this, video content comes in a wide variety of formats. Google recognizes this shift and so last week their AI team announced ‘AutoFlip’ an open-source framework for “intelligent video reframing.”

  • This open-source framework, ‘AutoFlip’, can do automated video cropping using AI

    Many times when we see a video on mobile devices is badly cropped, it is not much you can do about it. Understanding this problem, Google’s AI’s team has built an open-source solution on top of MediaPipe, Autoflip, which can reframe a video that fits any device or dimension (landscape, portrait, etc.). AutoFlip works in three phases. The first phase includes scene detection; the second is the video content analysis, and the third is reframing. For this tool, if a video and a target dimension are given, it analyzes the video content. Later it develops optimal tracking and cropping strategies, which finally enables it to create an output video at the same time limit in the desired aspect ratio.

  • Tech Events in Africa: Nerds Unite, Open Source Festival and #CodeZone

    It’s a new week and another opportunity to meet up with like-minded people, become better in your chosen field and seal those deals for your startup. And we at TechNext want to help with a list of tech events happening around you this week.

  • An unofficial version of Brave browser brings native ARM64 support

    Privacy-focused Brave browser launched late last year after almost four years of being in the works. The browser is based on the Chromium open-source project and joins the likes of Microsoft Edge that is built on that platform. However, while Mozilla Firefox and Microsoft’s offering currently support ARM64 PCs natively in the stable channels, Brave does not. That might change, as Windows Insider MVP Jeremy Sinclair was able to compile an unofficial build of the open-source Brave browser that natively supports ARM64 PCs. The recompiled build (version 1.6.33) uses Microsoft’s ARM64 Chromium libraries and can run natively on those PCs like the Surface Pro X. Samsung Galaxy Book S. Native support results in improved performance and efficiency since the browser will not have to run in emulation.

  • The Brave web browser is taking on Google Chrome: Is it safe?

    The creator of Brave, Brendan Eich, also created JavaScript and co-founded the Mozilla Project that led to the development of the Firefox browser. Brave is based on the open-source Chromium browser that’s also the basis for Google’s Chrome, Opera and most recently Microsoft’s Chromium Edge browser. Open-source means that anyone can take the source code and build whatever they’d like out of it, but it doesn’t mean that all the browsers are the same. In the case of Brave, they chose to focus on user privacy by blocking trackers, scripts and ads by default. The natural by-product of blocking all this activity that usually goes unnoticed by the average user is faster load times. Brave can also make use of the wide variety of extensions for Chromium-based browsers via the Chrome Web Store at chrome.google.com.

  • This new tool could improve economic analysis of sub-national climate policies in the US

    Empowered by the Paris Agreement and a lack of national leadership on climate policy in the United States, state and local governments are leading on their own climate initiatives. California, New York and Colorado have set ambitious greenhouse gas emission and renewable energy targets for 2030. Just last week, Massachusetts introduced sweeping climate legislation targeting net zero emissions by 2050. As these environmental and energy policies move ahead, experts need to invest in economic data and tools that allow them to conduct robust economic analysis, to better inform policymakers, stakeholders and the public on how to design robust alternative climate and energy policies.

  • 2020 Open Access Award Finalists Named

    The Benjamin Franklin Award for Open Access in the Life Sciences is a humanitarian/bioethics award presented annually by Bioinformatics.org to an individual who has, in his or her practice, promoted free and open access to the materials and methods used in the life sciences.

  • Are we having fund yet, npm? CTO calls for patience after devs complain promised donations platform has stalled

    At the end of August, JavaScript package registry NPM Inc said it intended "to finalize and launch an Open Source funding platform by the end of 2019." But instead of a platform, what's available at the moment might be better referred to as a feature of the npm command-line interface (CLI). The announcement was received with some skepticism at the time and the project hasn't managed to defy that expectation: There was a minor milestone last November with the addition of the "fund" command to npm v6.13.0. But not much has changed since then.

  • RcppSimdJson 0.0.2: First Update!

    RcppSimdJson wraps the fantastic simdjson library by Daniel Lemire which truly impressive. Via some very clever algorithmic engineering to obtain largely branch-free code, coupled with modern C++ and newer compiler instructions, it results in persing gigabytes of JSON parsed per second which is quite mindboggling. I highly recommend the video of the recent talk by Daniel Lemire at QCon (which was also voted best talk). The best-case performance is ‘faster than CPU speed’ as use of parallel SIMD instructions and careful branch avoidance can lead to less than one cpu cycle use per byte parsed. This release syncs the simdjson headers with upstream, and polishes the build a little by conditioning on actually having a C++17 compiler rather than just suggesting it. The NEWS entry follows.

  • Nvidia Blames ‘Misunderstanding’ for Activision Faux Pas

    When Nvidia Corp. abruptly dropped Activision Blizzard Inc. games from its new GeForce Now service earlier this week, it left customers wondering what happened. Nvidia said on Tuesday that Activision had asked to have its titles removed from GeForce, but didn’t explain why. It turns out that the video-game giant wanted a commercial agreement with Nvidia before they proceeded -- and the situation stemmed from a simple misunderstanding, Nvidia said on Thursday.