News and Editorials
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":
I started this document about 6 months ago. I
tried a few Linux distributions and came to the conclusion that there
wasn't a distribution I totally liked. Every distribution has its own
advantages and disadvantages, but I was never satisfied with what I had
(although Debian comes very close to what I want), so I decided to
explore the possibility of building my own Linux distribution using
nothing but source code of programs. As I found out there's quite a bit
of work involved, but it's also a lot of fun and you really learn a lot
by doing it, since you need to configure every single aspect of the
system. This forces you to read a lot of manuals on how to configure
various software. It also gives you total control over your system
(well, that's the idea). You know exactly what software is installed,
how it is configured and where all the configuration files
reside.
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, security 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.
Comments (5 posted)
Distribution News
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.
Full Story (comments: 10)
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.
Comments (none posted)
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."
Full Story (comments: none)
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.
Comments (none posted)
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 security fixes to both slackware-current and
slackware-stable, check
here for security
updates.
Comments (none posted)
Trustix Secure Linux fixes several Samba bugs in TSL 1.5, 2.0, 2.1 and TSEL
2..
Full Story (comments: none)
Minor distribution updates
Astaro Security Linux has released
v5.008
with minor bugfixes. "
Changes: This Up2Date fixes some minor bugs
in the user interface called WebAdmin."
Comments (none posted)
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."
Comments (none posted)
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."
Comments (none posted)
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.
Full Story (comments: none)
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."
Comments (none posted)
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."
Comments (none posted)
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."
Comments (none posted)
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."
Comments (none posted)
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."
Comments (none posted)
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."
Comments (none posted)
NSA Security 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 security classes and access vector
definitions were added and many policy updates were made."
Comments (none posted)
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."
Comments (none posted)
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."
Comments (none posted)
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."
Comments (none posted)
Page editor: Rebecca Sobol
Next page: Development>>