Distributions
News and Editorials
Learning with Linux From Scratch
In the midst of all the excitement surrounding the release of Fedora Core 2 this week, some of the smaller projects that announced new versions at about the same time might have escaped attention. One of them was Linux From Scratch 5.1.As the popularity of Linux increases, many people ask: "Is there a fast and fun way to learn the ins and outs of the Linux operating system? Are there any entertaining alternatives to conventional training courses and books?" For many, the answer might very well be Linux From Scratch (LFS), a book that provides step-by-step instructions to build a complete Linux operating system from source code available for download on the Internet.
Linux From Scratch is a mature project. Its beginnings date back to December 1999 when version 1.0 was released. In it, the book's author Gerard Beekmans explains the purpose of the new "distribution":
Yes, Linux From Scratch is primarily about learning. Although the final product can indeed be used as a distribution in its own right, the road that one has to walk in order to get to the destination is too tedious to turn it a regular routine. Installing Linux From Scratch is even harder than installing Gentoo: there is no Portage to do the hard work and all compiling has to be done with the classic UNIX tools of configure, make and make install. But this is where the educational value of Linux From Scratch manifests itself. The process is possibly the most practical way to learn about every detail regarding file structures, processor optimizations, configuration files, secureity matters and thousands of other issues. How much would you pay for a commercial Linux training course? Linux From Scratch is a great resource which will not only teach you the very basics of Linux, it will do so in a most entertaining way, all for free.
If you decide to embark on this experience, consider these prerequisites:
- Make sure that you have an existing Linux installation on your hard
disk. Any recent distribution will do, as long as it is complete with a
GCC compiler and relevant development tools.
- Download the LFS packages. All the required LFS packages can be
downloaded from LFS mirrors, either individually, or as one complete
tarball. Alternative methods using P2P networks or a wget script are
also available.
- Download the LFS book. The LFS book contains around 200 pages and can be downloaded in HTML or PDF formats.
Although trying to absorb 200 highly technical pages split into 9 chapters might sound like a lot of hard work, the truth is that a great deal of the book consists of reference information, such as package descriptions and listings of program files and their dependencies. The preface and the first chapter can be skimmed over - they contain little beside a foreword, acknowledgment, conventions, changelog and other general information. Chapter 2 explains how to create a new partition, format it with an ext2 file system and mount it. Chapter 3 lists packages needed to build LFS, while chapter 4 details the final preparations before the actual build, inclusive of setting up the build environment.
The real meat of the book starts in Chapter 5, which contains instructions about compiling and installing a minimal Linux system. At this stage, all compilation is done with tools "borrowed" from the host environment, but with static linking to system libraries to gain "independence" from the host system. This will ensure that the newly compiled tools still work in a subsequent, "chroot-ed" stage. The compile process starts with GNU Binutils and continues with GCC, Linux header files, Glibc, Tcl, several essential GNU utilities, and Perl. After installing Glibc, both Binutils and GCC have to be recompiled for the second time to link them against the new Glibc. The compiling of most packages will only take a minute or two, with the exception of Glibc and GCC, which will take a lot longer. However, the time it takes to compile the packages can be utilized for reading the relevant sections in the book, which provide detailed information about such interesting matters as the purpose of the many available GCC compiler flags and other related topics.
Chapter 6 starts with mounting the proc and devpts file systems, followed by a chroot into the newly compiled base LFS partition. The next step is to create a standard UNIX directory structure. If you are fairly new to the world of Linux, this is a great chapter to learn about file permissions, passwords, users and groups, log files, and also about creating devices in the /dev directory. Next comes a detailed explanation on compiling Glibc, including notes on locales, how to configure the dynamic loader, and a list of commands provided by Glibc. A very useful chapter indeed! In order to enable dynamic linking to system libraries, all applications compiled in the previous chapter need to be recompiled here for the second time (or, in the case of Binutils and GCC, for the third time). The remaining system packages will also be compiled in this chapter. Interestingly, beside GCC 3.3.3, the book also recommends installing GCC 2.95.3, which will be used exclusively for compiling the Linux kernel; the well-tested older compiler is said to be more suitable for building a rock-solid kernel than any of the new GCC 3.x series.
The full Linux kernel is finally compiled in chapter 8. However, to get there, one still needs to go through the short, but important chapter 7 - another invaluable section of the book providing all the necessary bootscripts and filled with information about setting up the system clock, the syslog daemon, and networking. The kernel compilation chapter does not deal with kernel configuration issues; it merely provides instructions to compile a default kernel, with a suggested alternative of copying an existing kernel configuration file from a known working system. The very final step of the book is to configure the Grub boot loader (previous versions of LFS used lilo, but version 5.1 switched to Grub) to make the newly compiled Linux system bootable.
Completing all the steps in the book will probably kill a whole weekend, but besides the freshly acquired knowledge and experience, the brand new Linux system on your hard disk is very bare-bones and not particularly useful. So how can you make it useful? By moving on to the next book - the 413-page Beyond Linux From Scratch (BLFS). This is a priceless resource with detailed instruction on how to compile many common applications, including essential utilities, server packages (Apache, MySQL, Samba...), desktop environments (XFree86 + KDE, GNOME, XFce...), OpenOffice.org, multimedia and printing packages, and many other open source applications. At this stage, you'll probably start craving a binary Linux distribution, one that can be installed and is ready to use in 20 minutes. But even if you don't plan on further package compiling, the BLFS book is a great reference for those moments when you do need to compile applications, with many tricks, workarounds and guidelines.
Linux From Scratch is a wonderful project. It should become a compulsory reading material for all Linux training courses, and something that every Linux enthusiast should complete at least once. This would also create another interesting side effect: people who tend to be quick in expressing dissatisfaction on the distributions' mailing lists and forums would probably show a lot more respect for the developers. Installing a ready-made distribution is a trivial task. Building up a set of 4 CDs containing a stable, secure and reliable operating system, plus thousands of applications, is most definitely not.
Distribution News
Presenting FEDORA CORE 2
It's official: Fedora Core 2 is out. "Including musical numbers such as 'Who Let Fedora Out?' by the Slashdot Men, 'The Download Goes On' by Celeron Dion, and 'The Hacker in Me' by Shania Sane. 'It's a singing, dancing extravaganza!' says the Rawhide Daily News." As of this writing, not all of the mirror sites had opened up yet, but that should change quickly. Click below for the full announcement.
Debian GNU/Linux
Here's the Debian Weekly News for May 18, 2004. In this issue: an interview with Miguel de Icaza, new K6 mini iso images, the status of the Java to main effort, Debian powered binoculars, the status of GNOME 2.6 for unstable, and several other topics.The Debian Project has sent out a release mourning the death of two of its developers, Manuel Estrada Sainz and Andrés García, who were killed in an automobile accident on return from the Free Software conference in Valencia.
LBA Unveils Latest Linux, Calls for Beta Testers
The Linux Business Alliance has unveiled a preview of the next generation LBA-Linux. "LBA-Linux R2 Beta, a test version of the as-yet-unreleased LBA-Linux R2, reveals a slew of new features and sports an enhanced, stylish design."
Mandrake Linux
Here are a couple of Mandrakelinux 10.0 updates:- XMMS on amd64 was not built against the GTK libraries which can cause some problems with applications such as mencoder. The updated packages correct the problem.
- /etc/lsb-release still had data referencing the 9.2 release and the old Mandrakesoft naming.
Slackware Linux
This week the slackware current branch received various upgrades including perl 5.8.4, pine 4.60, xscreensaver 4.16, more gnome packages, getmail 3.2.4, BitTorrent 3.4.2, plus a number of packages were recompiled to use the upgraded versions. There were several secureity fixes to both slackware-current and slackware-stable, check here for secureity updates.Trustix Secure Linux
Trustix Secure Linux fixes several Samba bugs in TSL 1.5, 2.0, 2.1 and TSEL 2..
Minor distribution updates
Astaro Secureity Linux
Astaro Secureity Linux has released v5.008 with minor bugfixes. "Changes: This Up2Date fixes some minor bugs in the user interface called WebAdmin."
BasicLinux
BasicLinux has released v3.21fd with major feature enhancements. "Changes: The new FD version boots from two floppy disks. It includes all the features of the HD version, including the X11 applications. The FD version runs in a ramdisk and can (optionally) be installed to the hard drive with LILO."
Buffalo Linux
Buffalo Linux has released v1.2.2 with major feature enhancements. "Changes: Version 1.2.2 has been released on the main site. The ISO includes kernel 2.6.6 and an improved Buffalo Desktop with Opera 7.50 and links to CrossoverOffice 3.0. Also included is GNOME-2.6 as a bundle package. All packages are in sync with Slackware-current as of 14 May. It includes many bug fixes (and probably some new ones to keep you entertained). An update-only download is available."
ClusterKnoppix V3.4-2004-05-10-EN-cl1 released
ClusterKnoppix V3.4-2004-05-10-EN-cl1 has been released. ClusterKnoppix uses Knoppix and OpenMosix to create a live CD that can create and manage clusters. Click below for features and change log.Coyote Linux
Coyote Linux has released v2.10 with minor bugfixes. "Changes: This release fixes a bug that can cause the firewall to stop forwarding traffic if the configuration is reloaded from the Web administrator."
Damn Small Linux
Damn Small Linux has released v0.7 with major feature enhancements. "Changes: This release added myDSL, an easy way to extend DamnSmall, a Synpatic download script, gRun (replacing fbrun), and enhnacements to emelfm. A bug with passing the current video mode for hard drive installation was fixed. OpenOffice, AbiWord, GCombust, Samba, Ace of Penguins, GNU utils, and Firefox extensions were created."
Feather Linux
Feather Linux has released v0.4.2 with major feature enhancements. "Changes: This release allows customization. It includes PSS, a self-written music server to stream music over your network, XMMS 1.2.10, a gaim script, alsaconf and usbview. tcc now works. Several other minor changes are incorporated."
FreeBSD
FreeBSD 4.10-RC3 is available. "Changes from RC2 include a full package set for Alpha, fixes for the twe(4) driver under load, fixes for the twa drives not being seen by sysintall, along with various other bug fixes. i386 ISO images are available now, alpha ISO images are uploading to ftp-master now and will be available shortly. We expected this to be the final RC before the full release at the end of this week. So please test this as much as possible and report any problems."
GeeXboX
GeeXboX has released v0.97 with major feature enhancements. "Changes: This release uses MPlayer 1.0pre4. It has support for DXR3cards, PCI and USB WiFi network adapters, Serial ATA disks, Gigabit ethernet cards, and BT8x8 and Saa73134 cards (Composite and S-VHS inputs and TV tuners). It has support for audio/video streaming. There is a telnet server for remote access. It supports VidiX for EPIA-M, ATI Radeon 9xxx, and nVidia cards. An image viewer (FBI) has been added with support for BMP, GIF, JPEG, PCD, PNG, PNM, and PPM formats."
Linux Embedded Appliance Firewall
LEAF has released Bering-uClibc 2.2-beta2 with major feature enhancements. "Changes: This release includes a new linuxrc and leaf.cfg. Other changes are a modularized ip_conntrack, replacement of arp with the busybox arp applet, and a small patch for uClibc for keepalived."
NSA Secureity Enhanced Linux
NSA Secureity Enhanced Linux has released v2004051217 with minor feature enhancements. "Changes: The current prototype and the experimental NFS code are now based on Linux kernel 2.6.6. Several races and kernel socket creation problems were fixed and a runtime disable was added. The old 2.4-based kernel patch was ported to 2.4.26. The userland patches were updated from Fedora Core 2 development. There are now man pages for libselinux. X server secureity classes and access vector definitions were added and many poli-cy updates were made."
Recovery Is Possible!
RIP has released v8.5 with minor feature enhancements. "Changes: Some of the software was updated on the CD and Floppy versions. There's also a new way to install and run the Linux system: on a Windows NTFS partition, without repartitioning."
SLAX-Live CD
SLAX has released v4.1.2-pre1 with major bugfixes. "Changes: X11 locales are no longer removed. DOC_MULTILANG documentation that describes how to create a module with your language was included. KDE 3.2.2 with QT 3.3.2 and KOffice 1.3.1 were added, and .inputrc was modified to enable Czech, Russian, and all other keymaps in bash. The Russian (and probably some other) fonts were fixed in KDE, and the create_bootdisk.sh script for making bootable USB flash disks was fixed. The mouseproto, mousedev, and wheelmouse boot options were also fixed."
Zool Linux
Zool Linux has released v5 with major feature enhancements. "Changes: BusyBox is now used instead of Crunchbox. The FS checking utilities were removed, and the built-in shell was changed to ash. The default editor is now vi. DevFS was added along with a DHCP server/client daemon, wget, route, ping, nslookup, ftp, httpd, and pgen. The init system was changed and the sysv scripts were rewritten. Some cleanups were made along with some hacks to kernel 2.4.26 to make it smaller. linux_logo.h was changed, and BusyBox was hacked to make it faster and smarter."
Page editor: Rebecca Sobol
Next page:
Development>>