Language Selection

English French German Italian Portuguese Spanish

Beyond Beyond Linux from Scratch (lfs - part3)

Filed under
Linux
HowTos
-s

In continuing with my Linux From Scratch series with Part 3, I present my adventures in setting up a more productive desktop system. Up until this point I have concentrated on just getting the basic underlying system in place and later installing X and a window manager. Today we strike out on our own some as we venture out of the docbook to go beyond Beyond Linux from Scratch.

Picking up where I left off last time, without kde's ksnapshot I was going to need some way to take screenshots. I remembered Imagemagick contains the "import" tool, but I also remembered scrot. Scrot is a small, easy-to-compile utility that would meet my needs. So, that was the route I took. Download giblib and scrot.

Then it's as simple as:

tar -zxvf giblib-1.2.4.tar.gz
cd giblib-1.2.4
./configure --prefix=/usr && make
su to root
make install

And do the same with scrot:

tar -zxvf scrot-0.8.tar.gz
cd scrot-0.8
./configure --prefix=/usr && make
su to root
make install

Then at the cli, one can take screenshots using a command something like this:
scrot -d 6 desktop.jpg

In this example the option "-d" is delay in seconds. My command delays taking the screenshot for 6 seconds, giving one time to open menus or whatever.

My friend wrote me on the day, actually right about the same time, I published my LFS: Part 2 and sent screenshots of a window manager he installed probably more as a joke than anything. To his surprise I wrote back and said "how cuuute!" I had fluxbox installed already, but my next course of action was to install Equinox Desktop Environment. I googled for the site and downloaded the required library and ede packages. I followed the Installation How-to and they installed in about 5 minutes with no issue. And I can really say that I'm enjoying it. To make icons, one right clicks the desktop, chooses "New desktop item" and fills in the blanks. Ede comes with a few icons in it's package, so that's handy. To set a wallpaper, right click the desktop and choose "Background Settings," and browse to the desired wallpaper. Of course it has all these menu entries for which I don't have applications. Big Grin Actually a few have the corresponding apps and I installed a few. But just when I was thinking "if it just had some other desktops..." I find it does. In the panel there's an icon of an indistinguishable image that allows one to choose another desktop. I find that a little inconvenient as one has to click twice to reach the other desktop, but at least it's there. Included are settings for the fonts, colors and windecs. There are
other themes on the website.

So, for a nice little light desktop that takes about 5 minutes to
install:

Download: the efltk library and the Equinox Desktop Environment package.

tar -jxvf efltk-2.0.5.tar.bz2
cd efltk-2.0.5
./configure --prefix=/usr --disable-mysql --disable-unixODBC --enable-xft && make
su to root
make install

tar -jxvf ede-1.0.4.tar.bz2
cd ede-1.0.4
./configure --prefix=/usr && make
su to root
make install

Then either type:
/usr/X11R6/bin/xinit /usr/bin/startede
or put startede in your ~/.xinitrc file to start it.



        

        

        

        



In case you noticed in my screenshots the output of:


configuration error - unknown item 'OBSCURE_CHECKS_ENAB' (notify administrator)
configuration error - unknown item 'CRACKLIB_DICTPATH' (notify administrator)
configuration error - unknown item 'PASS_CHANGE_TRIES' (notify administrator)
configuration error - unknown item 'PASS_ALWAYS_WARN' (notify administrator)

That's one little bug to which I hadn't paid too much attention at the time of my last write up, but it's easily fixed by editing out those lines in the /etc/login.defs file, as those functions are now handled by PAM. They're harmless and I'd been too lazy to fix it before the screenshots and now I'm too laz...er... busy to redo the screenshots. Big Grin

Next order of business was setting up a word processor or office application. My sources directory had become quite large and at this point I found I was going to have to delete what was in it. Freeing up over 3 GB, I preceded with the download of latest version of OpenOffice.org at the time - beta 2 of 2.0. But what a mess I found. The binary package was all rpms at the time and source package was about 100 different directories with no central configure script or makefile. I wasn't about to spend all day cd into each of those and doing the dance, so I downloaded the 30-day trial of TextMaker. I really like this program, too bad it costs 50 bucks. And of course I have vim and nano installed, so hopefully by the time the textmaker trial is up, OpenOffice.org will have a decent package for us who don't have rpm installed. The installation of TextMaker is simply a matter of untaring/uncompressing the downloaded tar.gz into our directory of choice and the start binary is called tml. So unless you put that directory in your path, you will need the full command to start it.

For example in my case that would be:

/usr/local/textmakertrial/tml.

...Or actually I made a desktop icon to that for me. FYI, the BLFS handbook does contain full instructions for installing OpenOffice-1.1.4.

I soon grew tired of the little xterm and decided it was time to install Eterm. It was merely a matter of installing libast and then Eterm. No problems there and now I could use my "myeterm" script to which I've grown quite spoiled. Eterm is my favorite terminal emulator because you can customize it so easily. If you wish to use Eterm:

download: the libast library and

tar -zxvf libast-0.6.1.tar.gz
cd libast-0.6.1
./configure --prefix=/usr && make
su to root
make install

download: Eterm and

tar -zxvf Eterm-0.9.3.tar.gz
cd Eterm-0.9.3
./configure --prefix=/usr && make
su to roo
make install

The command I use to start mine so that it'll look like the terminal is running on the background (transparent with no windec or scrollbars etc.) is this:
Eterm --trans -g 75x25 -f white -F '-*-lucidatypewriter-medium-r-normal-sans-16-*-*-*-*-*-*-*' -O --tint=#ffffff --shade 0 --borderless --scrollbar-popup --scrollbar-floating --scrollbar no --double-buffer -a "toggles buttonbar false"

If you are like me, there is nothing more annoying than booting a system to do some work and notice that your time is off by 15 minutes or even 6 hours. There should be a law against an OS changing anything in the bios!!! This is another petpeeve of mine. To quietly handle this problem, I enlist the services of ntpdate. The instructions for installing NTP-4.2.0 are included in the BLFS docbook and work quite well. Follow those, and then instead of running the ntpd all the time, we can just use the included utility ntpdate. You can run ntpdate as a stand alone command any time you wish in any terminal, set it up to run periodically as a cron job, or as I do as a boot time service. After your ntp package install, forego the configuration instructions unless
you're needing to supply time service to your network. Instead:

nano /etc/rc.d/init.d/ntpdate
and simply type and save as root:

/usr/sbin/ntpdate -b time.nist.gov

Then as root issue the following commands to make it executable and run at boot:

chmod ug+xr /etc/rc.d/init.d/ntpdate
ln -s /etc/rc.d/init.d/ntpdate /etc/rc.d/rc3.d/S22ntpdate

You may even wish to adjust your bios time, and in which case you can add on the next line in your /etc/rc.d/init.d/ntpdate file:

/sbin/hwclock --systohc

The -b switch tells ntpdate to use 'settimeofday' instead of the 'adjtime', which I'm convinced is a curse from satan himself (no hate mail please). And the --systohc for hwclock tells it to set the bios time to our new adjusted system time.

For image manipulation, Gimp is outlined in the BLFS docbook, but if you follow it word for word, it won't be able to decode jpegs. So, modify their suggestions to:

./configure --prefix=/usr --sysconfdir=/etc --disable-print && make

And as a bonus, the menu entry in Ede now works. Big Grin

Some other applications from the BLFS docbook one might need are: unzip, which, and openssh. The instructions work well for these.

For a backup and the availability of xffm, I decided to include xfce4 as well. For the sake of brievity I don't think I'll outline each and every command used, as this is quite a collection of modules. However, download the xfce4 package. With the xfce4 package uncompressed you will find many directories containing the required library and base install as well as the different modules that you might like. Just cd into each one of interest and do the configure, make, make install routine. A graphical installer is available as well, although it installs an older version and the site is in German.

    

I use bash for my file manager, but it's always nice to have a graphical version available. A real nice and extremely useful one is emelfm. You can download it here. Installation is easy peasy, just

tar -zxvf emelfm-0.9.2.tar.gz
cd emelfm-0.9.2
make
su to root
make install

Note however, the executable will be located in /usr/local/bin.

So at this point we have our basic system with X and nvidia graphic drivers, three window managers from which to choose, xffm and emelfm for file management, mozilla and opera for browsing, news and email, feh, iv, and gimp for image viewing and manipulation, and TextMaker, vim, and nano for publishing and editing. Next is multimedia. <deep breath>

    

You may not know this about me, but I have to have xawtv. I've tried a lot of tv applications over the years, but none stack up to the stability and resource overhead of xawtv. So the next order of business was installing xawtv. This isn't the daunting task it once was before the kernel included bttv drivers. Now it's just simply a matter of enabling support in the kernel and installing xawtv. Xawtv is a fairly straight forward compile. Download: xawtv and tv-fonts.

tar -jxvf tv-fonts-1.1.tar.bz2
cd tv-fonts-1.1
./configure --prefix=/usr && make
su to root
make install

then:
tar -zxvf xawtv-3.94.tar.gz
cd xawtv-3.94
./configure --with-x --enable-gl --enable-quicktime -with-xvideo
--with-alsa --prefix=/usr && make

su to root and make install.

You'll need a configuration file, ~/.xawtv, and if you don't have one, here's an exerpt of mine for an example:

[global]
freqtab = us-cable

[defaults]
input = Television
norm = NTSC

[WKRN (2)]
channel = 2

[VMP (3)]
channel = 3

[WSMV (4)]
channel = 4

[WTVF (5)]
channel = 5

That was the easy one. Next I require mplayer, and I require mplayer to play anything it encounters. In the old days that meant downloading all the libraries and codecs from many many sources and reading a long doc to get all the flags to use during compile time. This became obsolete with distros like pclos, gentoo, and some others. All this to say, I'm a little rusty in this area. But thankfully the BLFS has the instructions in their docbook and a lot of the codecs are bunded together in one (or two) package(s). And of course, it went without a hitch. Using the information in the instruction I can now watch any movie file I run into.

    

Also included in the multimedia section of the docbook are xmms and cdrecording applications and tools. At the risk of repeating myself, the instructions work wonderfully in these areas as well and I recommend just following the instructions.

As of now, I have a fairly complete system all compiled from scratch and taking up about 1.3 gig of space. It boots in less than 30 seconds and performs very well. It's fast and stable. More than that is the satisfaction and sense of accomplishment that can come from completion or near completion of a daunting task. I found the whole experience quite fullfilling, educational and fun. I can't encourage you enough to visit the Linux from Scratch website and download your instruction book today.

Part 2
Part 1

Excellent series

Thanks for the LFS/BLFS/BBLFS series. They were very informative and makes me want to try it again. I did get a basic LFS up and running two years ago, but never went beyond mainly because the computer I was playing with is a P2 300 Sad Time to convince the wife that we really could use new computers Wink

re: Excellent series

Why thank you kind sir for your nice words. It was really quite a bit of work, but it was a labor of love - not done for the sake of an article (or 3). Big Grin

I know what you mean about the slower computers, I put gentoo on a p150 about 18 months ago and well, it don't get updated too often. Tongue

----
You talk the talk, but do you waddle the waddle?

re: comparison

Well, I'd say that gentoo is much easier in that it does all the grunt work for you. If I want an application/package in gentoo I type emerge <application> and it handles all the downloading and installing of dependencies as well as the compile and install. And their repository is so huge, I've rarely searched for something and it not be in gentoo's portage. Although some packages I prefer to do on my own, KDE being one of them, I can still get the dependencies installed through portage. For the source-based distro fan, it's like having your cake and eating it too. Fortunately the lfs/blfs docbooks lists dependencies and provides links, and that helps big time.

As far as kde not being installed on my LFS, I was being lazy or in too bigga hurry I guess. KDE itself is a fairly easy compile usually, but it does have a lot of dependencies and can take quite a bit of time. Yes, mozilla/firefox and opera were shortcuts to getting on the internet. The BLFS docbook contains instructions for kde and gnome.

----
You talk the talk, but do you waddle the waddle?

Part 4 Perhaps? :)

Hi!

First off, great review regarding LFS!

I know it's been quite some time since your last review/reply to comments here. I've wondered how goes the LFS install?

Have you continued to tweak it, expand on the package? I've wondered if you kept it around, played with it, and, or, made it a part of your everyday computing experience Smile

I'll try not to date myself heavily here, I started way-way back with only a CLI learning basic/basica and dabbled in assembly. Through that time I went from dos/unix/posix/windows/linux (variations ie: DosLinux) and I always found myself coming back to Linux in one flavour or another.

Recently, the last year or so I've found myself totally going over to Linux. I missed the CLI environment and feel of yesteryear..lol With that I've been put off in a sense with many of the distributions and such that just seem to weigh down a really top-notch OS such as Linux. I stumbled across LFS somehow, who knows, and now my son and I (he's 14, yes I'm old) have a bit of a competitive project going on. We're both currently working on building the base LFS system then we're going to migrate to BLFS as well and see who's system is the best in functionality and asthetics, but not only that, we'll both be taking a step neither of us ever considered and it's kind've added another new excitement to beyond computing in general Smile

Your review was just what I was looking for and should've read it beforehand. It's helped a lot seeing someone successfully complete the process and give it a very decent pat on the back.

Thanks for taking the time to review it, and thanks for reading this rather lengthy comment Smile

Take Care!

re: Part 4 Perhaps? :)

Um, no I haven't kept it up. I played with it for a few months adding features and stuff, but I didn't implement one of the package management ideas and soon just quit messing with it. If I hadn't already been settled into Gentoo I might have made it my permanent system. It's a very cool project for sure. I surely enjoyed setting it up.

Thanks for your visit and comments. I might look around and see if I still have it around here somewhere and if it can be saved.

LFS or Arch Linux

Hi, Im reading this exellent review of LFS, because I have just downloaded liveCD of LFS. Im new to Linux, about four months, I have passed through few distros: Fedora, Ubuntu, and Slackware, ending up with Mint and Arch Linux. I wonder if you could compare LFS with Arch, witch I enjoy very much for its simplicity, speed, and the pacman command. But, Im thinking to give LFS a try, although some say that LFS is not good as distro for daily use, but just as learning experience to know Linux better.
Blessing.

re: LFS or Arch Linux

Well, I really couldn't compare LFS with anything else - not even Gentoo. Although Gentoo would probably be the closest. Arch is a binary distro with a great commandline package manager. LFS didn't have a package manager last I messed with it. There were methods of managing packages, but the user had to sorta build it from scratch. Big Grin

There's no reason why LFS couldn't be fine for an everyday desktop if that's what you wanted to do. If so, perhaps you might want to look into some of those described package management solutions.

Go ahead and go for it. I don't know how you have your disk partitioned, but I suggest slicing it up into several partitions so that you can play with one distro while keeping one or two intact for daily use.

LFS or Arch Linux

Hi,
thanks a lot for this fast reply. Yes. I will take your advice about partitioning. I wonder why there are so few good reviews of LFS. The more your afford is appreciated. Take care.

The nice thing about LFS

The nice thing about LFS is that you can always install any package manager including pacman, make packages and even start your own distribution.

Comment viewing options

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

More in Tux Machines

Kernel: Kernelci.org, Tripwire, Linux Foundation, R600 Gallium3D

  • Kernelci.org automated bisection
    The kernelci.org project aims at continuously testing the mainline Linux kernel, from stable branches to linux-next on a variety of platforms. When a revision fails to build or boot, kernel developers get informed via email reports. A summary of all the results can also be found directly on the website.
  • Securing the Linux filesystem with Tripwire
    While Linux is considered to be the most secure operating system (ahead of Windows and MacOS), it is still vulnerable to rootkits and other variants of malware. Thus, Linux users need to know how to protect their servers or personal computers from destruction, and the first step they need to take is to protect the filesystem. In this article, we'll look at Tripwire, an excellent tool for protecting Linux filesystems. Tripwire is an integrity checking tool that enables system administrators, security engineers, and others to detect alterations to system files. Although it's not the only option available (AIDE and Samhain offer similar features), Tripwire is arguably the most commonly used integrity checker for Linux system files, and it is available as open source under GPLv2.
  • Open Source Networking and a Vision of Fully Automated Networks
    Arpit Joshipura, Networking General Manager at The Linux Foundation, discussed open source networking trends at Open Source Summit Europe. Ever since the birth of local area networks, open source tools and components have driven faster and more capable network technologies forward. At the recent Open Source Summit event in Europe, Arpit Joshipura, Networking General Manager at The Linux Foundation, discussed his vision of open source networks and how they are being driven by full automation. “Networking is cool again,” he said, opening his keynote address with observations on software-defined networks, virtualization, and more. Joshipura is no stranger to network trends. He has led major technology deployments across enterprises, carriers, and cloud architectures, and has been a steady proponent of open source. “This is an extremely important time for our industry,” he said. “There are more than 23 million open source developers, and we are in an environment where everyone is asking for faster and more reliable services.”
  • R600 Gallium3D Gets Some Last Minute Improvements In Mesa 18.0
    These days when Dave Airlie isn't busy managing the DRM subsystem or hacking on the RADV Vulkan driver, he's been spending a fair amount of time on some OpenGL improvements to the aging R600 Gallium3D driver. That's happened again and he's landed some more improvements just ahead of the imminent Mesa 18.0 feature freeze.

OSS Leftovers

  • Reliance Jio and global tech leaders come together to push Open Source in India
    The India Digital Open Summit which will be held tomorrow at the Reliance Corporate Park campus in Navi Mumbai -is a must-attend event for industry leaders, policymakers, technologists, academia, and developer communities working towards India’s digital leadership through Open Source platforms. The summit is hosted by Reliance Jio in partnership with the Linux Foundation and supported by Cisco Systems.
  • Open-source software simulates river and runoff resources
    Freshwater resources are finite, unevenly distributed, and changing through time. The demand—and competition—for water is expected to grow both in the United States and in the developing/developed world. To examine the connection between supply and demand and resulting regional and global water stresses, a team developed Xanthos. The open-source hydrologic model is available for free and helps researchers explore the details and analyze global water availability. Researchers can use Xanthos to examine the implications of different climate, socioeconomic, and/or energy scenarios over the 21st century. They can then assess the effects of the scenarios on regional and global water availability. Xanthos can be used in three different ways. It can operate as an independent hydrologic model, driven, for example, by scenarios. It can serve as the core freshwater supply component of the Global Change Assessment Model, where multiple sectors and natural systems are modeled simultaneously as part of an interconnected, complex system. Further, it can be used by other integrated models and multi-model frameworks that focus on energy-water-land interactions.
  • “The Apache Way” — Open source done well
    I was at an industry conference and was happy to see many people stopping by the Apache booth. I was pleased that they were familiar with the Apache brand, yet puzzled to learn that so many were unfamiliar with The Apache Software Foundation (ASF). For this special issue, “All Eyes On Open Source”, it’s important to recognize not just Apache’s diverse projects and communities, but also the entity behind their success. Gone are the days when software and technology, in general, were developed privately for the benefit of the few. As technology evolves, the challenges we face become more complex, and the only way to effectively move forward to create the technology of the future is to collaborate and work together. Open Source is a perfect framework for that, and organizations like the ASF carry out a decisive role in protecting its spirit and principles.
  • ​Learn how to run Linux on Microsoft's Azure cloud
  • LLVM 6.0-RC1 Makes Its Belated Debut
    While LLVM/Clang 6.0 was branched earlier this month and under a feature freeze with master/trunk moving to LLVM 7.0, two weeks later the first release candidate is now available. Normally the first release candidate comes immediately following the branching / feature freeze, but not this time due to the shifted schedule with a slow start to satisfy an unnamed company seeking to align their internal testing with LLVM 6.0.
  • Hackers can’t dig into latest Xiaomi phone due to GPL violations
     

    Yet another Android OEM is dragging its feet with its GPL compliance. This time, it's Xiaomi with the Mi A1 Android One device, which still hasn't seen a kernel source code release.  

    Android vendors are required to release their kernel sources thanks to the Linux kernel's GPLv2 licensing. The Mi A1 has been out for about three months now, and there's still no source code release on Xiaomi's official github account.

  • 2017 - The Year in Which Copyright Went Beyond Source Code
    2017 was a big year for raising the profile of copyright in protecting computer programs. Two cases in particular helped bring attention to a myth that was addressed and dispelled some time ago but persists in some circles nonetheless. Many lawyers hold on to the notion that copyright protection for software is weak because such protection inheres in the source code of computer programs. Because most companies that generate code take extensive (and often successful) measures to keep source code out of the hands of third parties, the utility of copyright protection for code is often viewed as limited. However, copyright also extends to the “non-literal elements” of computer programs, such as their sequence, structure and organization, as well as to things such as screen displays and certain user interfaces. In other words, copyright infringement can occur when copying certain outputs of the code without there ever having been access to the underlying code itself.
  • Announcing WebBook Level 1, a new Web-based format for electronic books
    Eons ago, at a time BlueGriffon was only a Wysiwyg editor for the Web, my friend Mohamed Zergaoui asked why I was not turning BlueGriffon into an EPUB editor... I had been observing the electronic book market since the early days of Cytale and its Cybook but I was not involved into it on a daily basis. That seemed not only an excellent idea, but also a fairly workable one. EPUB is based on flavors of HTML so I would not have to reinvent the wheel. I started diving into the EPUB specs the very same day, EPUB 2.0.1 (released in 2009) at that time. I immediately discovered a technology that was not far away from the Web but that was also clearly not the Web. In particular, I immediately saw that two crucial features were missing: it was impossible to aggregate a set of Web pages into a EPUB book through a trivial zip, and it was impossible to unzip a EPUB book and make it trivially readable inside a Web browser even with graceful degradation. When the IDPF started working on EPUB 3.0 (with its 3.0.1 revision) and 3.1, I said this was coming too fast, and that the lack of Test Suites with interoperable implementations as we often have in W3C exit criteria was a critical issue. More importantly, the market was, in my opinion, not ready to absorb so quickly two major and one minor revisions of EPUB given the huge cost on both publishing chains and existing ebook bases. I also thought - and said - the EPUB 3.x specifications were suffering from clear technical issues, including the two missing features quoted above.
  • Firefox 58 Bringing Faster WebAssembly Compilation With Two-Tiered Compiler
    With the launch of Mozilla Firefox 58 slated for next week, WebAssembly will become even faster thanks to a new two-tiered compiler.
  • New Kernel Releases, Net Neutrality, Thunderbird Survey and More
    In an effort to protect Net Neutrality (and the internet), Mozilla filed a petition in federal court yesterday against the FCC. The idea behind Net Neutrality is to treat all internet traffic equally and without discrimination against content or type. Make your opinions heard: Monterail and the Thunderbird email client development team are asking for your assistance to help improve the user interface in the redesign of the Thunderbird application. Be sure to take the survey.

IBM code grandmaster: what Java does next

Reports of Java’s death have been greatly exaggerated — said, well, pretty much every Java engineer that there is. The Java language and platform may have been (in some people’s view) somewhat unceremoniously shunted into a side ally by the self-proclaimed aggressive corporate acquisition strategists (their words, not ours) at Oracle… but Java still enjoys widespread adoption and, in some strains, growing use and development. Read more

Programming/Development: Git 2.16, Node.js, Testing/Bug Hunting

  • Git v2.16.0
    The latest feature release Git v2.16.0 is now available at the usual places. It is comprised of 509 non-merge commits since v2.15.0, contributed by 91 people, 26 of which are new faces.
  • Git 2.16 Released
    Git maintainer Junio Hamano has released version 2.16.0 of this distributed revision control system.
  • Announcing The Node.js Application Showcase
    The stats around Node.js are pretty staggering. There were 25 million downloads of Node.js in 2017, with over one million of them happening on a single day. And these stats are just the users. On the community side, the numbers are equally exceptional. What explains this immense popularity? What we hear over and over is that, because Node.js is JavaScript, anyone who knows JS can apply that knowledge to build powerful apps — every kind of app. Node.js empowers everyone from hobbyists to the largest enterprise teams to bring their dreams to life faster than ever before.
  • Google AutoML Cloud: Now Build Machine Learning Models Without Coding Experience
    Google has been offering pre-trained neural networks for a long time. To lower the barrier of entry and make the AI available to all the developers and businesses around, Google has now introduced Cloud AutoML. With the help of Cloud AutoML, businesses will be able to build machine learning models with the help of a drag-and-drop interface. In other words, if your company doesn’t have expert machine-learning programmers, Google is here to fulfill your needs.
  • Re-imagining beta testing in the ever-changing world of automation
    Fundamentally, beta testing is a test of a product performed by real users in the real environment. There are a number of names for this type of testing—user acceptance testing (UAT), customer acceptance testing (CAT), customer validation and field testing (common in Europe)—but the basic components are more or less the same. All involve user testing of the front-end user interface (UI) and the user experience (UX) to find and resolve potential issues. Testing happens across iterations in the software development lifecycle (SDLC), from when an idea transforms into a design, across the development phases, to after unit and integration testing.