linux magazine uk 005

116

Upload: -

Post on 07-Mar-2016

278 views

Category:

Documents


6 download

DESCRIPTION

Linux Magazine UK 005

TRANSCRIPT

Page 1: Linux Magazine UK 005
Page 2: Linux Magazine UK 005
Page 3: Linux Magazine UK 005

EDITOR COLUMN COMMENT

4 LINUX MAGAZINE 5 · 2001

We pride ourselves on the origins of our magazinewhich come from the very start of the Linuxrevolution. We have been involved with Linux

market for six years now through our sister European-based titles Linux Magazine (aimed atprofessionals) and Linux User (for hobbyists), and through seminars, conferences and events.

By purchasing this magazine you are joining an information network that enjoys the benefit ofall the knowledge and technical expertise of all the major Linux professionals and enthusiasts. Noother UK Linux magazine can offer that pedigree or such close links with the Linux Community.We're not simply reporting on the Linux and open source movement - we're part of it.

General ContactsGeneral Enquiries 01625 855169Fax 01625 855071

www.linux-magazine.co.ukSubscriptions [email protected] Enquiries [email protected] [email protected]

Editor Faris [email protected]

Staff Writers Keir Thomas, Dave Cusick ,Martyn Carroll

Contributors Richard Smedley, Jono Bacon,Martin Milner, Dr. Inder Singh

International Editors Harald [email protected] [email protected] [email protected]

International Contributors Ulrich Wolf, Mirco Dölle, Michael Engel, Christian Reiser,Clemens Rudolph, FrankBernhard, Klaus Bosau, MartinStrubel, Thorsten Fischer, Stefanie Teufel, Jo Moskalewski,Björn Ganslandt, Christian Perle,Hagen Höpfner, Torsten Rahn,Tim Schürmann, Georg Greve

Design vero-design Renate Ettenberger,Tym Leckey

Production Hubertus Vogg, Stefanie Huber

Operations Manager Pam Shore

Advertising 01625 855169Neil Dolan Sales [email protected] Henry Sales [email protected]üro [email protected]

PublishingPublishing Director Robin Wilkinson

[email protected]

Subscriptions and back issues01625 850565

Annual Subscription Rate(12 issues) UK: £44.91. Europe (inc Eire) :£73.88 Rest the World: £85.52Back issues (UK) £6.25

Distributors COMAG, Tavistock Road, WestDrayton, Middlesex England UB7 7QE

Print R. Oldenbourg

Linux Magazine is published monthly by Linux New Media UK,Europa House, Adlington Park, Macclesfield, Cheshire, England,SK10 4NP. Company registered in England.

Copyright and Trademarks(c) 2000 Linux New Media UK Ltd

No material may be reproduced in any form whatsoever inwhole or in part without the written permission of thepublishers. It is assumed that all correspondence sent, forexample, letters, e-mails, faxes, photographs, articles,drawings, are supplied for publication or license to third partieson a non-exclusive worldwide basis by Linux New Media unlessotherwise stated in writing.

ISSN 14715678

Linux is a trademark of Linus Torvalds

Linux New Media UK Ltd is a division of Linux New Media AG,Munich, Germany

DisclaimerWhilst every care has been taken in the content of themagazine, the publishers cannot be held responsible for theaccuracy of the information contained within it or anyconsequences arising from the use of it. The use of the CDprovided with the magazine or any material providied on it is atyour own risk. The CD is comprehensively checked for anyviruses or errors before reproduction.

Technical SupportReaders can write in with technical queries which may beanswered in the magazine in a future issue, however LinuxMagazine is unable to directly provide technical help or supportservices either written or verbal.

Editorial column from Faris Raouf

Judging the worth of an operating system is easyto me. It’s measured simply by how long it stays onmy main PC before I get annoyed with it and revertto my trusty Linux kernel. One operating systemthat didn’t last very long at all was IBM’s OS/2.

As an operating system, OS/2 actually has anawful lot to recommend it. It doesn’t gobblesystem recourses like there was no tomorrow. It isalso very stable and was generally easy to use andadminister.

In its ”Warp” desktop variant, which IBMlaunched at great expense, it can even runWindows desktop applications through a sort ofemulator, using code licensed from Microsoft. Asyou’d expect, running Windows applications is notan ideal thing to do and is much more trouble thanit’s worth. Still, back in the OS/2 heyday it was theonly way for many OS/2 users to get access to thekind of applications they need because few OS/2-specific products of any note ever hit the streets.Those that did were custom written, such as thoseused in the banking sector.

From my point of view, however, the realtrouble with OS/2 was its lack of drivers andrelatively poor hardware recognition duringinstallation. The recognition problem could besolved with a bit of effort but drivers were a realproblem – few hardware manufacturers couldn’tbe bothered to write any.

The end result of all this (plus a few otherfactors, of course, including Microsoft’s marketingmachine) is that OS/2 is far from popular. I hearthat it is nowadays an order of magnitude better ateverything than when I tried it out. But how manypeople do you know who run it? Some predict a

similar fate for Linux for similar reasons but they areundoubtedly wrong. I know this because Linux hasstood the test of time and has remained on mysystem ever since I first installed it.

Using my criteria above, it’s clear that Linux hasa great future ahead of it – you only have to look atthe amount of news generated and the number ofbig name manufacturers getting involved with theoperating system in one way or another. More andmore manufacturers are voluntarily producingLinux drivers for their hardware too, which meansbetter compatibility than ever before (as you’ll findif you look at our notebook supertest on page 34).

Not only that but comprehensive and stableUSB support is now almost with us, as you’ll see inthe USB storage feature in this issue. And witheach new distribution released, hardwarerecognition gets even better and systemconfiguration gets easier. I installed Linux Madrakea few days ago and could count on one hand theamount of clicks and key strokes I undertook!

And this being Linux, if you are willing toexperiment you can download patches and testversions of drivers and Kernels almost as soon asthe last line of code has been written.

The unstoppable momentum behind Linux isbringing it head to head with Windows soonerrather than later. Of course it will still be a very longtime before a little Penguin appears on almosteveryone’s screens instead of a Microsoft logoduring boot up. You never know, though –Microsoft might decide to start speaking Penguinat some point. It could happen, you know. Onlytime will tell.

Faris Raouf

Faris Raouf discusses the fate of Linux in the coming years

FUTUREPROOF

Page 4: Linux Magazine UK 005

NEWS

8 LINUX MAGAZINE 5 · 2001

Linux lowdown

Next year will see the publicationof Linus Torvalds’ book giving hisaccount of how he came todevelop Linux. ”Just for Fun: TheStory of an AccidentalRevolutionary” has been co-written by Torvalds and DavidDiamond and will be publishedby HarperBusiness. The bookcombines Torvalds’autobiography with his businessphilosophy and technologyinsights. In it, he describes theexperiences and long-standingbelief in free software that ledhim to develop a free, opensource alternative to theoperating systems on the market.

With a user base of morethan 12 million people, thesuccess of Linux is supported byan international community ofprogrammers and users whocontribute to its refinement, whileTorvalds continues to control theessential kernel software,orchestrating the contributions ofa core group of programmers.

”The Linux operatingsystem has offered a realchallenge to the power ofMicrosoft and other proprietarysystems,”said HarperInformationAssociate Publisher AdrianZackheim, ”and the principle offreely-shared code offers arange of new business modelsand development options to thetechnology industry. Theinsights and experiences of sucha key figure as Linus Torvaldswill be invaluable in thischanging environment.”

Dreaming?Rumours of a Linux kernel for Dreamcast havebeen flying around the Internet for months,but they may be set to become reality.According to Linux Magazine’s sources, work isunder way for at least four different ports ofLinux for Dreamcast, all at different stages ofdevelopment. Reports go on to say that some developers haverecently joined forces on the Dreamcastlinuxand the DCLinux site. Although unofficial ports have appeared,these ports may become the first to be madepublicly available with source. According tosources, developers are now trying to trackdown as many of the unofficial ports aspossible, in order to use them in theintegration, where possible. Linux Magazine’s source did not wish to namethe author of a ”pre” port kernel, writtenbefore the project got off the ground, until theauthor’s breach of GPL could be addressed, butadded, ”Hopefully he will release his code tothis project and become a part of it. Hiscontribution would of course be very valuable.”

Info http://www.dreamcastlinux.orghttp://www.dreamcastlinux.org/http://dclinux.sorceforge.net

Easy does itThe latest version of Easy Software’s HTMLdocument conversion and formatting software,HTMLDOC, features a new portal CGI, enablingweb servers to dynamically serve PortableDocument Format (PDF) versions of their HTMLpages.In addition HTMLDOC v1.8.9 adds support forROWSPAN in tables, BMP image files, new pagenumber formats, and HTTP file references.

Infohttp://www.easysw.com

Linus Torvalds,leader of therevolution...

Fox adds it all upFox on Linux has launched its accounting softwaresolution for the Linux environment. Fox on Linuxprovides businesses with an Internet based multi-user accounting solution. It has a 12 kbs bandwidthrequirement and is designed to be easily integratedwith other corporate front-end applications. Thesoftware comes with online support and training.

Fox on Linux spokesperson, Mark Rees said, ”Wedeveloped Fox on Linux to meet the growing trend inbusiness for easy to use Linux applications. We took a

well honed financial package used in acommercial environment and securedexclusive rights to port and support itfor Linux.”

Fox on Linux is currently invitingthose interested to trial the system byregistering online and use thesoftware over the Internet for alimited time period.

Infowww.foxonlinux.com.

Trend Micro launches new anti-virus solutionInternet gateway anti-virus solution provider TrendMicro has announced that the next release of itsInterScan VirusWall gateway virus protection andcontent-filtering solution will be available for RedHat, SuSE and Turbo Linux.

Scheduled for release in the first quarter of nextyear, InterScan VirusWall 3.6, offers an optionalcontent filtering module InterScan eManager v3.6,which supports Red Hat Linux (v6.1 and v6.2), SuSELinux (v6.4 and v7.0), and Turbo Linux (v6.1J andv6.1). The software sits on the gateway server toprovide real time Internet protection against virusesand other types of malicious code. Becausedetection is from the gateway, the protection can beextended to any platform. The virus scanning enginefeatures both rule-based and pattern recognitiontechnologies to detect and remove viruses.

The software integrates with Trend’s centralmanagement console Virus Control Systemenabling virus protection to be managed across theenterprise. Some versions of InterScan are fullyintegrated with Check Point FireWall-1 and thesoftware is compatible with most other majorfirewalls. Evaluation copies of the software areavailable for download from the Trend Web site.

Oscar Chang, senior vice president of productdevelopment at Trend Micro, said, ”The addition ofthe SuSE and Turbo Linux versions of InterScanVirusWall really stemmed from developers whowanted the same gateway-level protection TrendMicro was currently offering for other platforms,like Red Hat Linux. Developers and technologistshave always been an important part of ourcustomer base, so we wanted to give somethingback to the open-source community.”

Infohttp://www.antivirus.com

Page 5: Linux Magazine UK 005

NEWS

5 · 2001 LINUX MAGAZINE 9

New Itanium-based prototype atManchester

The Computer Services for AcademicResearch (CSAR) organisation based at theUniversity of Manchester has announcedthat it has installed an Intel Itaniumprocessor-based prototype systems from SGIto be used for porting parallel scientific andengineering codes to the Itanium processorplatform. CSAR aims to replace its existing 816processor Cray-T3E 1200E with a nextgeneration system from SGI by the end ofnext year.The installation is one of the first in Europeand the initial configuration is a multi-nodeLinux cluster with two pre-release IntelItanium processors per node, and using aMyrinet interconnect.The CSAR service is operated by the CfS(Computation for Science) consortium, which iscomposed of CSC, SGI and the University ofManchester, and is dedicated to providing stateof the art, high end computing facilities to theUK research community.Jan Silverman, vice president of marketing atSGI commented, ”We are delighted to bedelivering one of the first Itanium processorbased systems to be installed in the UK. Thisdemonstrates our continued commitment inhigh performance computing and academicresearch. The combination of the IntelItanium processor and SGI Pro64 highperformance compiler technology willenable new price performance for theacademic and research market places.” ■

Tooled up!Hard Hat Linux developer MontaVista Software hasannounced the availability of its toolkit for enablinglegacy VxWorks code from Wind River Systems torun on a Linux platform.

The MontaVista suite provides applicationswith a VxWorks virtual machine whichimplements key system calls and behaviours of theVxWorks kernel to run on a standard Linuxplatform. This means the VxWorks APIs can oftenbuild and run unmodified, or with onlymodifications to the header files. The MontaVistatools emulate the most frequently used APIsassociated with the VxWorks executive. OtherAPIs may translate directly to commonUNIX/POSIX APIs native to Linux, or requireVxWorks configuration and initialisation calls notneeded in a Linux environment.

Kent McMullen, MontaVista vice-president ofmarketing commented, ”This multi-tiered approachreflects how Hard Hat developers already aremaking the move away from proprietary embeddedOses. We are just delivering a no-nonsense, off-the-shelf package that accelerates and standardizes theporting process.”

The VxWorks to Linux toolkit is available fordownload from the MontaVista project site and willalso be bundled with the Hard Hat LinuxProfessional Developers Kit, along with targetedand supported pre-built packages for each of theMontaVista target embedded processors.

Info http://www.vxworks2linux.org

The biz

Following its announcement in October that Red HatLinux would support the full IBM eServer range and allIBM Linux enabled software, Red Hat has continuedits work with IBM to introduce new IBM softwareinfrastructure packages for enterprises of all sizes.

The new software will be available through RedHat’s channel and from its Web site from the firstquarter of next year. It aims to extend the range ofoptions open to enterprises that wish to deploytheir mission critical e-business applications on theLinux platform. The bundles are the first of a series,which will later include IBM DB2 UniversalDatabase and WebSphere Application Serversoftware solutions for the enterprise.

The Red Hat Domino Bundle is an integratedmessaging, collaboration and Web applicationsoftware platform aimed at expanding companies.

The bundle includes Lotus Domino R5

Application Server, 25 Lotus iNotes CALs and RedHat Linux 7 Professional. For smaller businesseswith fewer than a hundred users, the Red HatLinux Small Business Suite offers a cost-effectivesolution featuring Lotus Domino R5 ApplicationServer, IBM DB2 Workgroup Edition IBMWebSphere Application Server Standard Edition,WebSphere Homepage Builder, WebSphere Studioand Red Hat Linux 7 Professional.

Colin Tenwick, vice president and generalmanager, Red Hat EMEA commented, ”There isa growing demand for solution-based productsand our new offerings will give our customersthe best possible foundation on which to buildtheir Internet infrastructure. As the World’smarket leader in Open Source and Linuxtechnology, Red Hat is now able to provide atotal e-commerce solution jointly using IBM’stechnology and Red Hat’s operating system andservices.”

Caldera announces new appointment

Linux management solutionprovider Caldera Systems hasannounced the appointment ofEdgie E Donakey to the positionof the company’s new vicepresident and chief of staff.Donakey, who supervised the laterstages of the Novell-Word Perfectmerger earlier in his career, hasalready served as director ofinternational marketing anddirector of the mergers andacquisitions team at Caldera sinceFebruary 2000. Prior to that,Donakey served as an executivefor 3Com Corporation and aspresident of The Bison Group,where he designed andimplemented strategies forFortune 500 companies.

Donakey said, ”Working atCaldera while acquiring twodivisions of SCO has shown me thatthis is the company with the peopleand technology to transform theLinux and UNIX industries. I feelconfident in Caldera’s ability todeliver superior Internet opensoftware that will meet anybusiness’s infrastructure needs.”

Caldera chief executiveRansom Love, said, ”Ed’sattention to detail and abilities tomulti-task and synchronize manydepartments with energeticfollow-through made him thenatural choice. His background insales, marketing, technology, andadministration is a tremendouscontribution to Caldera,particularly as we move into thefuture with The Santa CruzOperation’s Server Software andProfessional Services Divisions.”

Infohttp://www.calderasystems

Page 6: Linux Magazine UK 005

NEWS SUBRUBRIK

10 LINUX MAGAZINE 5 · 2001

Microsoft Windows users who want a taste of Linux without using up large amounts ofsystem resources may be interested in the new distribution release of VectorLinux 1.8.This offers a fully functional X Windows based version of Linux 2.1.17 which can run in16 MB of memory and needs just 170 MB of disk space.

The new release is designed to be straightforward to install and configure and enablesa dual-boot environment in which the ICEwm windows manager provides a multi-desktopenvironment, as well as the Linux operating system.

VectorLinux has the features of a small, high-performance, x86-based Linuxdistribution and offers full functionality with a GUI desktop, a development environment,FTP server, sendmail, networking utilities, laptop support, and a range of desktop andconsole applications. The software is available for download from the VectorLinux Web site

http://www.ibiblio.org/pub/linux/distributions/vectorlinux/veclinux-1.8/ ■

Less is more with VectorLinux 1.8

Linuxcare’s portfolio expands

The new additions to the Linuxcare customer baseinclude Adaptec, Digital Island, Ecrix Corporation,Ivenue.com, Maxtor, SGI, Espial, 3ware, VERITASSoftware and WSE/Honeywell. These companies jointhe ranks of Linuxcare customers, which have grownover the past six months to include Compaq, Eazel,Hewlett-Packard, IBM, Motorola, SmartDisk, SunMicrosystems, Tricord Systems and Zelerate.

Linuxcare specialises in providing a vendor-neutralapproach to the needs of its customers, combining itsconsulting, support, education and product testing andcertification services. According to Linuxcare, its aim ofmaximising the benefits of the Linux environment for itscustomers delivers considerable business benefits, whileat the same time helping to drive the adoption of Linuxin the corporate environment.

Linuxcare chief executive Art Tyde said, ”Linuxcarehas made remarkable strides in accelerating the use ofLinux, spanning networking, storage and othertechnologies that provide the foundation for buildingsuccessful e-business infrastructures. Our unique andcomplementary service offerings provide the perfectmatch for meeting the Linux outsourcing needs of avariety of companies. For many, we are an essentialcomponent as they define and execute on their Linuxgo-to-market strategies.” ■

Telia comes in from the SunScandinavia’s largest ISP and telecommunicationscompany Telia has announced that it has replaced itsseventy Sun servers with Shark storage technology andan IBM mainframe zSeries G6 server running Linux.

Under the deal, which is estimated at $3 million,the IBM solution provides simultaneous hosting formore than 1500 virtual Linux servers. Formanagement purposes by Telia’s business customers,the virtual servers will appear to be independentphysical systems, although a single administratorswill be able manage the entire mainframe from onegraphical management interface.

Henrik Wulff Riedl, Telia’s chief financial officer,said that the company now intends to replace anexisting customer billing system for Internet serviceproviders based on Oracle databases. ”This newS/390 running Linux allows us to rethink our totalpricing structure for Internet services and to offercustomers a more affordable Web application servicethan ever before. The combination of the IBMmainframe with Linux makes it easy to install newservers for Internet service customers on the fly.Before, it took us five hours to set up a new server.Now, it is a matter of less than five minutes. WithShark’s storage capacity, ”we now are able to givevirtually unlimited Web capacity to our customerswithout going through the trouble of installing andreconfiguring the systems all the time.”

Compaq announces new server

The DL320 is an ultra-thin, single-processor1U server designed to offer users astraightforward way in which to deploy, manageand remotely control one to thousands of servers,to simplify the administration of complex,growing multi-server environments.

In addition, Compaq has launched its newproactive management tools in the form of theCompaq Availability Agents, designed with thehelp of Availant, designed to simplify themanagement of complex IT infrastructuressupporting Internet technologies.

Compaq Availability Agents have a webbased interface to provide administrators with away of automating responses to MicrosoftWindows server events to increase systemavailability, without the need of scriptinglanguage knowledge.

Iain Stephen, Intel server business manager,Compaq’s Industry Standard

Server Group said, ”Service providers andother emerging companies with growingenvironments need servers that deliver powerwithout depleting their budgets or their floorspace. The power and manageability of theProLiant DL320 specifically addresses both ofthese needs. The industry-defining technology ofthe Compaq ProLiant DL line, combined with ourlatest management tool offerings, is an exampleof Compaq’s inspiration technology that isredefining and simplifying our customers’ ITexperience at a compelling, new price point.”

Mark Melenovsky, research manager at IDCcommented, ”Compaq is the worldwide unitmarketshare leader in the density rack-optimisedserver market. Customers in this space requirecost-effective, fast and easy-to-deploy systemsfor their rapidly expanding IT infrastructures.Compaq’s latest offering, the ProLiant DL320, isa logical extension of its density line to addressthe needs of emerging local service providersand dot-coms.” ■

Page 7: Linux Magazine UK 005

ad

Page 8: Linux Magazine UK 005

NEWS

12 LINUX MAGAZINE 5 · 2001

Caldera announces new appointmentLinux management solution provider Caldera Systems has announced the appointment of Edgie E Donakey to the position of thecompany’s new vice president and chief of staff. Donakey, who supervised the later stages of the Novell-Word Perfect merger earlier in hiscareer, has already served as director of international marketing and director of the mergers and acquisitions team at Caldera sinceFebruary 2000. Prior to that, Donakey served as an executive for 3Com Corporation and as president of The Bison Group, where hedesigned and implemented strategies for Fortune 500 companies.

Donakey said, ”Working at Caldera while acquiring two divisions of SCO has shown me that this is the company with the people andtechnology to transform the Linux and UNIX industries. I feel confident in Caldera’s ability to deliver superior Internet open software that will meetany business’s infrastructure needs.”

Caldera chief executive Ransom Love, said, ”Ed’s attention to detail and abilities to multi-task and synchronize many departmentswith energetic follow-through made him the natural choice. His background in sales, marketing, technology, and administration is atremendous contribution to Caldera, particularly as we move into the future with The Santa Cruz Operation’s Server Software andProfessional Services Divisions.”

Infohttp://www.calderasystems

Xi Graphics releases Accelerated-X Display Servers updateRelease 6 of the software includes a variety of newfeatures developed in response to customerfeedback, including XiG X Full Screen Extension(XiG-XFS) support for VMWare, Preliminary USBsupport for Linux and Solaris 8 and Digital FlatPanels (DFP) support, as well as dual view supportfor cards such as the Matrox G400 and AppianDuet and Touchscreen support and TSC calibrationsupport via the tscal program. Release 6 alsofeatures a new, dynamically loadable, I/Osubsystem and LBX and XKB extension support.Downloadable demos for the desktop and laptopservers are available at Xi Graphic’s Web site.

Dan McGregor, national sales manager at XiGraphics, said the company takes customerfeedback very seriously. ”The additional featuresoffered in version 6 are, for the most part, inresponse to customer inquiries and requests. Weare particularly sensitive to market demands andset our engineering goals in accordance with whatour customers want. This is particularly importantwith the popularity of Linux on the rise, resulting innew markets and potential customers appearingevery day.”

He added, ”We feel that our attention to theneeds of our customers is one of the things thatreally sets us apart from our competitors. Customerrequests have prompted the addition of version 6features such as support for VMWare, USB in Linuxand Digital Flat Panels. This customer- orientedattitude is also apparent in our free technicalsupport that comes with all Xi Graphics’ products.”

Infowww.xig.com

Virtual development environment released

Linux-based embedded systems solution providerLineo has announced that it has begun shipping theLineo Embedix software development kit forWindows. Embedix offers Windows developers avirtual development environment with real-timeresponse capabilities, X86 and PowerPC processorsupport, in which they can develop embedded Linuxsolutions while using native Windows applicationsand tools within a Windows NT 4.0 or Windows2000 hosted environment.

One of the key features of Embedix SDK is theTarget Wizard library compilation tool, whichautomates the way in which developers select theirrequirements for a target image as well as how theycheck software interdependencies. The Target Wizardtool also helps developers create the smallest possiblesoftware image for their embedded device bystripping out unnecessary features and lines of code.

”Windows developers can now expand theirdevelopment portfolio to include embedded Linuxwithout leaving their Windows environment,” saidBryan Sparks, chief executive of Lineo. ”EmbedixSDK for Windows provides the tools andtechnologies to make it easier for developers tocreate embedded Linux for consumer devices,Internet infrastructure and industrial controlswithout the need for costly or time-consumingtraining. With this product release, we are givingWindows developers the same capabilities thatnative Linux developers enjoy.” Lineo also offersEmbedix SDK for Linux, which provides developerswith the same tools for software development, butenables them to work within a native Linuxdevelopment environment.

Infowww.lineo.com

Page 9: Linux Magazine UK 005

NEWS

5 · 2001 LINUX MAGAZINE 13

VMware has announced two new serversoftware products to help Intel servercustomers scale their Internet computinginfrastructures.The new products, VMware GSX Server, andVMware ESX Server aim to offer service providersand enterprise IT organisantions using Intel andIntel-compatible servers a way of scaling theirinfrastructures safely, reliably and on demand. VMware GSX Server offers users mainframe-class control of their Intel servers, whileVMware ESX Server provides a scalable solutionfor high-performance server environmentsadding mainframe-class resource and systemmanagement capabilities. Both are based onVMware’s MultipleWorlds technology, whichprovides a thin software layer that sits betweenthe Intel architecture and the operatingsystem, to virtualise the hardware and manage

hardware resources.”We’re at the centre of three IT trends,” saidDiane Greene chief executive of VMware. ”Oneis the need to deliver managed services on Intelservers with mainframe-class quality andInternet speed. Another is a computingenvironment that is complex, with anincredible number of incompatible hardwareplatforms, operating systems and applications.And the third is growing pressure to meetthese challenges without increasing IT budgetsor adding staff.” She continued, ”WithVMware, you can create a uniform softwareplatform for delivering applications andservices on Intel servers that factors outhardware and operating system differencesand simplifies deployment and management.That’s of huge value to service providers andenterprise IT.” ■

VMware introduces new products for Intel customers

IBM and LinuxIBM has underlined its enthusiasm for the Linuxenvironment with the announcement of its newset of Linux tools, including a DB2 UniversalDatabase for Intel based Linux clusters. This,says IBM, is the only commercial databasesoftware available for Linux on the mainframe.The release comes as part of IBM’s initiative toprovide support for the Linux operating systemacross the entire range of its e-businesssoftware, servers and services. Other Linux toolsnow available from IBM include the DB2Enterprise Edition for IBM Z Series and S/390platforms for Linux – IBM’s software providingembedded environments for enterprise serversand IBM’s web application server software –WebSphere, as well as extended support for theopen source operating system through itsWebsphere middleware and developmentplatform.

Dan Kusnetzky, Vice President of SystemSoftware Research at IDC commented, ”Linux isseeing increasing usage as a part of basic ITinfrastructure at many organisations. Over halfof the respondents in one of IDC’s demand-sidestudies indicated that they considered theirLinux applications to be ‘major’ applications.IBM has positioned itself well to be consideredone of the leading suppliers in this emergingmarket.”

To accompany the databases, IBM hasreleased DB2 Connect, a tool set enabling usersto access their mainframe-based DB2 data fromany Web-based applications that run DB2 onLinux. ■

Motif defect database publicly availableOSF/Motif products and support supplier ICS hasmade the Motif defect database, previously onlyaccessible by The Open Zone employees, publiclyavailable online at its MotifZone Motifcommunity Web site.

The publicly available defect database tracksproblems from all releases of OSF/Motif fromversion 0.7 to the current Open Motif 2.1.30release and is the result of several months work onthe part of ICS as it had to reformat, hide theidentities of submitters and their companies, andload the defect reports into the Bugzilla opensource bug tracking system first made available byNetscape’s Mozilla project.

Howard Greenwell, Director of BusinessDevelopment for The Open Group commented,”Our goal continues to be to promote the use ofOpen Motif on Linux and other open sourceoperating systems. ICS’ investment in formatingthe defect database for Web access helps promoteopen access, a critical success factor in Open Motifbeing embraced by open source developers.”

”This database demonstrates the stability andmaturity of the toolkit,” said Mark Hatch, ChiefOperating Officer for ICS. ”The number ofreported defects is low for the complexity andbreadth of a product such as Motif. This databasemakes a natural complement to the existing publicaccess we provide to the Open Motif source codeon the MotifZone.”

Infohttp://www.motifzone.net

Page 10: Linux Magazine UK 005

NEWS

14 LINUX MAGAZINE 5 · 2001

Free Software Foundation EuropeA Declaration of Intent has been published byGeorg C. F. Greve of the GNU organisation, on theconcept of a Free Software Foundation Europe as asister organisation of Richard M. Stallman’s FreeSoftware Foundation (FSF).

The FSF is a charity dedicated to eliminatingrestrictions on copying, redistribution, understanding,and modification of computer programs. It’s coreactivity is supporting the GNU project which, with theLinux kernel, forms the Operating System which weknow and love.

The recent European consultation on patent law –and the UK patent offices own consultation round –has acted as a wake-up call to Open Source and FreeSoftware supporters in Europe. Patents include theconcept of a ”Computer system and method forperforming multiple tasks,” filed by six engineers fromIBM Germany in 1993 and Amazon’s patenting of”one-click” shopping using a Web cookie.

EuroLinux collected over 62 000 signatures againstEuropean software patents and galvanised opposition.A separate body reflecting European culture andworking within European time zones was mooted.

The FSF-Europe is not a splinter group, rather a sisterorganisation to the FSF, reflecting European culture andproviding local organisation with the same goals:

- Political lobby for Free Software & the GNU Project- Providing an organisational backbone- Raising and distribution of fundsIt will work with existing national bodies such as

the French group April (Association Pour laPromotion et la Recherche en Informatique Libre)and the German Förderverein für eine FreieInformationelle Infrastruktur (FFII or Association forthe Promotion of a Free InformationalInfrastructure).

The FSF Europe will start with an organisation inGermany, followed by other European countries.These local bodies will allow Europeans to make taxdeductable donations to the FSF. The aim is to takeit slowly to get the organisation right. Debate in themailing list is considered and careful.

As we go to press, FSF Europe is in an ”about tobecome reality” phase, as their Web site(http://www.fsfeurope.org/) puts it. Mailing listshave been set up to discuss the new body and keeppeople up to date with announcements.

Infohttp://mailman.fsfeurope.org

Fax solution provider Interstar Techonologies hasannounced the release of the latest version of itsLightningFAX enterprise fax software.

New features available with LightningFAX 7.0include improved integration of Lotus Notes,support for high-density fax boards, and support forLDAP and T.37.

LightningFAX 7.0’s new intuitive Lotus Notesinterface can be used to compose and receive faxes,configure personal information and fax priority, andtrack the status of fax documents, as well as unifyinginboxes and outboxes. The Notes administratorsupports day-to-day LightningFAX administrationdirectly from the Domino interface. The new releasealso supports the NMS AG 4000, which offers faxresources and network interfaces on a single PCI cardfor up to 120 channels with 4 T1 or E1 trunks. Thereis also support for the Dialogic DM3 Fax series, whichcan scale to 96 channels for a T1 configuration.

Other new features include a Lightweight DirectoryAccess Protocol (LDAP) support, which lets LightningFAXuse third-party software directory with, or instead of, theLightningFAX database, an Advanced Phone Book withnew find capabilities to enable users to search resultsand create dynamic distribution lists from one or moredatabases, as well as to search the LightningFAX PhoneBook and third party contact directories directly from theLightningFAX SendFAX window. The new RasterizerExtended Format support enables native conversion ofall PCL and Postscript files to fax format.

”The advanced features of LightningFAX 7.0 are a

direct response to what customers have been tellingus they want,” said Guy Blanchette, chief executive ofInterstar Technologies. ”Major enterprises need acomplete range of fax solutions that integrate intoany business environment. LightningFAX 7.0 showsour customers that we’re committed to developingreliable, cost-effective solutions that deliver mission-critical documents on time, every time.”

Infowww.faxserver.com

Interstar Technologies announces new release

RedWire to distribute CycladesE-Commerce

International IT Systems Integrator RedWire Ltd. hasannounced its appointment as official distributor ofCyclades E-Commerce for the UK and Ireland.RedWire (which has Linux open source solutions as itsfocus) currently offers an extensive range of ITSolutions and Integration for corporates, withemphasis on Consulting, Development, E-CommerceSolutions, Service and Support. It has now taken overresponsibility for the online distribution of Cycladesproducts for the UK and Ireland via its e-commerceportal, www.penguinwarehouse.com. Bothcompanies see the appointment as strengtheningtheir Linux strategies.

Page 11: Linux Magazine UK 005

By the end of 1999 therehad been a rapidsuccession of newsstories to bring a smile tothe face. Youngcompanies who felt theyhad a duty to free

software appeared to beon track for a victory parade

without equal. The moreestablished ones were rushing

so as not to miss the boat. Theworld was in upheaval. In the

meantime it was ”Business as usual” forLinux – still doing okay but with just a few of

the revellers suffering the morning after the party.Let’s begin with the good news. Free software in

general and GNU/Linux in particular has definitelyfound its way into the mainstream of the computerbusiness. As a server-operating system at least,Linux is fully accepted by the big boys in the sectorsuch as Hewlett Packard who, in August, declaredthe free operating system a strategic platform. Thisranks it alongside HP-Unix and Windows 2000.Following this there was an interesting reaction fromEric S. Raymond who challenged the HP-CEO CarlaFiorina in an open letter to make her loyalty to freesoftware clearer and, for example, to give away thecode for HP Unix. The letter ended with the words:”Show us the code, Ms. Fiorina. That’s where thereal co-operation starts.” The letter and Fiorina’sreply can be found at [1] and [2] respectively. Thelatter contains numerous references to Linux andOpen Source activities at HP but we do not havespace here to mention them individually.

Big fish break the nets

Compaq is continuing the strategy it began last yearto get Linux on the Alpha platform. This is bearingfruit in the Sandia research laboratory in NewMexico where a cluster of Linux-run Alpha servers is

being created, currently working with some 1300nodes. This cluster, called Antarctica, is intended tobecome number 20 in the top twenty of the world’sfastest computers [3]. On Intel-based servers, too,Compaq is embracing Linux – you’ll find it amongthe actively-supported operating systems in theProliant range. The company is mainly building itsstrength in this area with the introduction ofenterprise features such as high availability orhardware monitoring. An overview of Compaq’sLinux activities can be found at [4].Most of the positive Linux headlines in 2000 weregenerated by IBM. The investment of 200 milliondollars in Europe alone, announced by IBM in July,was made it into even the daily newspapers.However, the fact that IBM is also investing thesame amount in East Asia for Linux was overlooked.Nevertheless IBM currently appears to be the onlygroup which has a company-wide open sourcestrategy complete with more or less clearly definedinterfaces to the community.

Symbiosis between great andsmallFor the young start-ups in the open-source domainthe commitment of the heavyweights was a double-edged sword. On the one hand, there might besomething like a symbiotic relationship between thedevelopers of free software and companies such asHewlett Packard or IBM. The further developmentof the operating systems does devour quite a bit interms of resources, which can scarcely be recoupedwith licence sales alone. With Linux as a cross-platform Unix-type operating system on the otherhand this expense can be saved in the first place,and secondly can make a considerable contributionto the consolidation of the company’s own serverlines, as shown, among others, by the rebranding atIBM. Everything there, from RS/6000 via AS/400 tothe S/390 mainframes, is now trading under thegeneric term ‘e-server’. And on all these platforms,

BUSINESS ANNUAL REVIEW

16 LINUX MAGAZINE 5 · 2001

The year just passed

was as eventful as any

in Linux’s history. Here

we take a look at the

business movers and

shakers involved with

the free operating

system.

The year 2000 through the eyes of Linux

THE MORNINGAFTER THE

PARTYULRICH WOLF

Page 12: Linux Magazine UK 005

Linux porting is largely completed. This means theopportunity is opening to dispense with thedevelopment and upkeep of a company’s ownoperating systems altogether in the long term andnevertheless not have to fall into a disastrousdependency on an individual software company.

Conversely, Linux is profiting from the enterprisefeatures which the hardware manufacturers arehaving to bring into development in their owninterest if their strategy is to succeed. The image ofLinux is also being boosted by its association withlarge companies. A win-win-situation, then?

Do you hear the people sing?

The evidence that this is not quite so true isbecoming more evident. At the moment it doesseem that neither Microsoft or Sun will be amongthe losers in this development, but that therevolution is beginning to claim its own children.

The ”victims” appear in the first instance toinclude the young start-ups who build their businessplan solely or primarily on service – firms such asLinuxcare in the USA or ID-Pro in Germany, to nametwo prominent examples. Linuxcare had in thesummer of last year (and primarily on the grounds ofpersonnel problems) cancelled its IPO. It is nowcertainly glad it did! ID-Pro, with its massive liquidityproblems, is now facing either bankruptcy or a not-so-friendly take-over... or at least that’s what the rumourssay. A whole range of factors play a role in the storiesof such companies, which start with an ”exulting tothe skies” phase and end-up usually in the ”worriedto death” stage. Both examples are also hard tocompare with each other, taking place on differentcontinents in different environments. Nevertheless,the market for consulting, support and services of allkinds is a dangerously slippery path for those who,apart from services, have little or nothing to offer.

Growth opportunities or nicheexistence?The symbionts described above rapidly turn intocompetitors in the service domain and woo keycustomers and staff. It is not wholly improbable inthis case that the consulting divisions of thecompany groups such as IBM Global Services,Siemens Business Services or, in the future, theDebis system houses which have joined up withTelekom, will pull ahead. The ”youngsters” wouldthen be left with more or less large niches, orunattractive markets, populated by competingcompanies of similar size and origin where theywould be forced to perform gladiatorial combat.But the time has not yet come for definitivestatements. It may be the ”early adopters” havejust come to the market a little too early and theage of the big, successful companies with abusiness plan based solely on open sourcesoftware is still ahead of us. That would be a topic

for a review of the year which lies ahead of us.Instead, let’s take a look at the fiscal events of theyear 2000 in double-quick speed.

Linux and the stock market

Where there is light, there is also shadow. The year2000 has of course brought Linux widespreadrecognition in the IT world and beyond but it has alsobeen a year of disillusionment for all those whowanted to use Linux to make a fast buck. The yearstarted with a continuation of the high-altitude recordsfor technology stocks which had begun in autumn1999. Linux shares profited from this more thanothers. Stocks being traded for the first time on themarket were given a vote of confidence whichexpressed itself in price rises seldom previouslyexperienced. In Autumn 1999, VA Linux set aNASDAQ record, when the share rose on the first dayof trading from 30 to 240 dollars. If the auspiciousstock market launch of Red Hat last year was a surprisesuccess, the successors such as VA Linux, Caldera orLinuxmall immediately became the pampered childrenof analysts and investors. On 13 January CalderaSystems announced its stock market launch in thewake of these high-altitude flights and was traded onNASDAQ for the first time on 21 March.

But by Spring the mood was alreadychanging. Linux stocks were badly affected evenmore than average by the drop which followed.By now many shares were below their launchprice, despite positive reports and the continuinggood economic situation, and scarcely a singlecompany, because of the continuing bad feeling,dared to venture onto the market.

So nothing came of the planned stock marketlaunch of SuSE in the autumn, about which insidershad been gossiping even in early summer. Theirrationality of stock markets works strongly in otherdirections too – also hard hit by the effects were theLinux activists who believed in the rapid success ofLinux and were investing in the corresponding shares.The success of Linux has certainly come true but notas expected. The fact that the operating system iswinning through does not now necessarily mean thatRed Hat is making a lot of money, for example. Open Sesame: Some commercial software

products which became Open Source in 2000:• Interbase 6, Enterprise databank, announced in

January by Borland, released in Spring under itsown licence[6] which is largely identical with theMozilla Public License.

• Motif, the veteran of GUI toolkits, receives anOpen Source Licence [7] in May 2000 after decadesof use; the licence roughly corresponds to the GPLbut is only applicable to free operating systems. Acommercial licence is valid for proprietary systems.

• OpenCascade, released on 1 June by the Frenchcompany Matra Datavision, is a highly-professional multipurpose CAD tool. The core ofthe program is an object library programmed in

BUSINESSANNUAL REVIEW

5 · 2001 LINUX MAGAZINE 17

[top]Adversaries in the fight for coderelease – Eric S. Raymond, hacker (inthe true sense of the word), andCarla Fiorina, boss of Hewlett-Packard

[above]The Linux supercomputer”Antarctica” in the SandiaLaboratory.

Page 13: Linux Magazine UK 005

C++, quickly extendible, for the creation of one’sown CAD applications [8].

• In October SAP put its company’s own databank[9] under the GNU General Public License.

• Long-announced and warmly welcomed by thedeveloper community, the source of StarOfficewas placed under GPL by Sun at the start ofNovember. OpenOffice [10] is to be closelymeshed with the GNOME desktop withdevelopment taking place mainly at Sun as before.

Capital: Investments in open-source firmsMany Linux and open-source companies had noneed to worry in 2000 about a lack of capital. ByJanuary, even before initial quotation and NASDAQ,Caldera was given an injection of 30 billion dollars.Those involved included, among others, Sun, Citrix,Novell and SCO. TurboLinux was able that samemonth to celebrate the receipt of over 57 milliondollars. The knock-on financing of Eazel also wentwithout a hitch; this is the company in whichMacintosh veterans hope will raise the user-friendliness of the GNOME desktop to a new level.15 million flowed in January into the start-up from,among others, Intel. In April, Accel Partners handedover another eleven million. The venture capitalcompany was in the past involved at an early stagein UUNET, Realnetworks and Macromedia.

Free web application servers were also at apremium among investors, even if they did notrecognise the trend until towards the end of the year.In August Lutris Technologies, the home of Enhydra,received 16 million dollars from a consortiumconsisting of Compaq, NEC, Deutsche Bank, AlexBrown and the Chase Manhattan Bank. WhereverEnhydra is, Zope can’t be far away. And DigitalCreations (http://www.digicool.com), the firm whichcreated Zope, was still able during 2000 to completea financing deal for 12 million dollars. Those involved

included among others, Intel once again. The first big take-over the year caused a stir in

the Linux community. In February, VA Linux boughtAndover.net which includes the community sitesSlashdot and Freshmeat. The purchase price wasjust under a billion dollars in shares, if one takes asthe basis their price at the date of take-over.

In January SCO announced server products forLinux and in Summer there was talk of their ownLinux distribution. Then Caldera suddenly declaredthat it wished to take over the entire server softwaredivision of SCO. Announced in August, thereremain some formal legal problems posing anobstacle to the merger. But the union of the twocompanies may even have taken place by the timeyou read this. Caldera will then possess a fully-grown, well-organised distribution channel andwith Unixware, a product which is well-established,especially among medium-sized companies, a good,strong position compared with other distributorswhich have to put a lot of energy into distribution.

A few more take-overs: Lineo is buying, amongothers, the potential competitors in the embeddeddomain, Zentropix and RT-Control (uCLinux); VALinux is bringing in-house, with its purchase ofPrecision Insight, the graphics know-how of DaryllStrauss, David Dawes and Brian Paul, and theirhardware basis will be further extended by theacquisition of TruSolutions (1U-Rackserver) andNetAttach (Network Attached Storage).

SuSE came to the fore, less by aggressivepurchasing of companies than by steady expansion.Sales in the USA has been expanded and brancheshave been founded in, among others, the CzechRepublic, Italy and Venezuela. Turbolinux is buildingitself a European presence and lots of other activities ofthis type have occurred in the course of this year. But tolist them all here is impossible for reasons of space.

Love matches and marriages ofconvenience – joint ventures,mergers, expansions

The first big take-over the year caused a stir inthe Linux community. In February, VA Linux boughtAndover.net which includes the community sitesSlashdot and Freshmeat. The purchase price wasjust under a billion dollars in shares, if one takes asthe basis their price at the date of take-over.

In January SCO announced server products forLinux and in Summer there was talk of their ownLinux distribution. Then Caldera suddenly declaredthat it wished to take over the entire server softwaredivision of SCO. Announced in August, thereremain some formal legal problems posing anobstacle to the merger. But the union of the twocompanies may even have taken place by the timeyou read this. Caldera will then possess a fully-grown, well-organised distribution channel andwith Unixware, a product which is well-established,especially among medium-sized companies, a good,

BUSINESS ANNUAL REVIEW

18 LINUX MAGAZINE 5 · 2001

The stock market rewarded theresignation of Corel founder

Michael Cowpland as CEO with aprice leap of 13 percent.

The Corel StoryIt would be arguably incorrect to describe Corel as the Linux Company OfThe Year 2000. But it terms of its appearances in various news columns andnews tickers, the traditional Canadian company definitely deservesranking. Corel Linux came to the market at the end of 1999. The salesfigures in the first quarter appeared to be highly promising. But turnoverwent into a decline and then, at the same time, Corel surprised the worldby announcing a take-over of Borland/Inprise. This was meant to take placeby a share swap. The stock market price of Corel, however, collapsed by 70percent with the result that Borland shareholders refused to approve thedeal. Corel fell into financial difficulties and a wave of redundanciesfollowed. The investment plan to rescue the company became more daringand less transparent from one round of financing to the next. Then inAutumn, Microsoft, of all people, leapt in as the white knight. One part ofthe contract is an obligation to port Microsoft’s .NET technology onto Linuxon demand. Rumours say that the port is already in existence. In themeantime Corel plans to separate completely from its Linux activities.

Page 14: Linux Magazine UK 005

strong position compared with other distributorswhich have to put a lot of energy into distribution.

A few more take-overs: Lineo is buying, amongothers, the potential competitors in the embeddeddomain, Zentropix and RT-Control (uCLinux); VALinux is bringing in-house, with its purchase ofPrecision Insight, the graphics know-how of DaryllStrauss, David Dawes and Brian Paul, and theirhardware basis will be further extended by theacquisition of TruSolutions (1U-Rackserver) andNetAttach (Network Attached Storage).

SuSE came to the fore, less by aggressivepurchasing of companies than by steady expansion.Sales in the USA has been expanded and brancheshave been founded in, among others, the CzechRepublic, Italy and Venezuela. Turbolinux is buildingitself a European presence and lots of other activities ofthis type have occurred in the course of this year. But tolist them all here is impossible for reasons of space.

What a year

Linux has built itself a stronghold in the IT world andis becoming established on more and more systems.This has been made more than apparent by thedevelopments in 2000. But not all business plansbased on open source have a chance of survival. Theadvance of free operating systems is most markedat present in the lower to middle server domain andin embedded systems (which unfortunately have

been given short shrift in this report). It remains tobe seen how the world of desktops is going to lookbut this report would be incomplete without at leasta mention of the GNOME Foundation [11] and theKDE League [12], lobby organisations which, withthe aid of the industry, will create a breakthrough inprecisely that field. ■

BUSINESSANNUAL REVIEW

5 · 2001 LINUX MAGAZINE 19

Info:

[1] „Show us the code, Ms. Fiorina.” Openletter from Eric S. Raymond:http://linuxtoday.com/news_story.php3?ltsn=2000-10-18-009-06-NW-CY[2] Carly Fiorina’s reply:http://www.linux.hp.com/open_letter.html[3] Antarctica-Supercomputer:http://www.sandia.gov/media/NewsRel/NR2000/antarct.htm[4] Linux information page at Compaq:http://www5.compaq.com/products/software/linux/ [5] The gentle giant, IBM and Open Source:Linux Magazine 08/2000, page 52 (Germanedition)[6] Interbase Public License:http://www.borland.com/interbase/IPL.html[7] The Open Group Public License:http://www.opengroup.org/openmotif/license/[8] Open Cascade: http://www.opencascade.org/[9] SAP DB databank:http://www.sap.com/solutions/technology/sapdb/[10] OpenOffice: http://www.openoffice.org/[11] GNOME Foundation: http://www.gnome-foundation.org/[12] KDE League: http://www.kdeleague.org/

Total turnover Loss1st quarter $44,141 $12,401 2nd quarter $36,639 $23,6183rd quarter $36,357 $10,745Price on 31.12. 1999 15.125Price on 15.11. 2000 3.625

Total turnover Loss1st quarter $12,033 $2,583 2nd quarter $16,242 $6,0213rd quarter $20,370 $12,239Price on 31.12. 1999 78.5Price on 15.11. 2000 46.688

Cobalt:Cobalt Networks showed itself tobe remarkably unimpressed by thegeneral sinking feeling. „Only” 40percent share price drop is celebrated bymany as a grandiose success. Cobalt isnow on the shopping list of SunMicrosystems.

Corel:Stagnation in Corel’s sales figures. Inthe year 2000, there is nothing to be seenfor miles around of the earlier profits inthe software sector.

A few stock market-quoted Linux companies in figures

Total turnover Loss1st quarter 2000 $16,029 $14,8512nd quarter 2000 $18,493 $15,713Price on 31.12. 1999 105.625Price on 15.11. 2000 11.625

Red Hat was only able to recordmoderate increases in sales comparedwith the previous quarter. The loss rose inproportion to turnover.

Total turnover Loss3rd quarter 2000 $34,595 $20,6274th quarter 2000 $50,662 $47,515Price on 31.12. 1999 206.625 Price on 15.11. 2000 12.563

VA Linux:As a hardware manufacturerthey were less severely affected on thewhole by the general price slide. VA Linux isan exception in particular for two reasons.Firstly the price at the end of the year wasstill massively overvalued, and secondly VAwas forced to issue a profits warningshortly before the second reporting date,which almost halved their share price.

Page 15: Linux Magazine UK 005

Over the past couple of years I have been involvedwith the KDE project in contributing to a leadingdesktop for Linux/UNIX systems. Although my timehas been spent with other open source projects,KDE has remained my desktop of choice.

One of the most positive elements of Linux isthe power of choice, and this is particularly evidentin the world of desktops. Alongside KDE is GNOME,Afterstep, Windowmaker, FVWM and hundredsmore. Some of these projects vary in their target,but they are all related in providing an easy to useGUI experience for the Linux user.

Although my interest in KDE is clear, I am goingto focus this article on the future of Linux and thedesktop, and this covers far more than KDE alone.Of course, I will exercise absolute objectivity in myappraisal of the desktops. My focus is not whichdesktop to use, but what to expect from each ofthem. I will leave the decision of personal choicewith whom it should be left – you.

The current state of the desktop

Before we can look into the future we need to firstlook at the current state of the desktop. Using thisinformation we can then examine what we canexpect from the desktop in the future.

At the moment the bulk of Linux users appearto be employing either the KDE or GNOME systems.Both of these systems run off the X Window system

(with most Linux users using XFree86). Both systemsoffer a good graphical interface and provide userand developer with a range of services that can easethe use and development of software running onthe respective systems. Both have the followingabilities:• Common styles and interfaces across applications• Reusable compants• Object embedding systems• Graphical system configuration software

The above are a few of the main features ofboth systems – features that users not only expect,but need building on with innovative features thatset the systems apart.

Other than KDE and GNOME, there is currentlya well-built and supported X Windowsimplementation – XFree86. XFree86 currentlysupports lots of hardware configurations, and is byfar the most popular windowing software.

The limitations

Although the current state of the desktop is quitegood, it is by no means perfect. Each system (as wellas the general architechture) has its flaws. Anexample to begin with is X itself. X is a bit of a beastas it stands, and although development of Ximproves daily, it still has some performance issues.This no doubt due to the general structure of thedesktop in which the OS is loaded first, and then X,

REPORT DESKTOP SYSTEMS

22 LINUX MAGAZINE 5 · 2001

The future of Linux and the desktop

WHICH WAYFORWARD?

JONO BACON

Choice is, in general, a good thing. But choice also

brings with it the headaches of decision-making.

Linux/UNIX already offers more then 30 window

managers in combination with several desktop

systems. What will the future hold?

Page 16: Linux Magazine UK 005

and then the desktop environment such as KDE orGNOME. In the current system, each layer isrequired, and the X layer is provided so the desktopsystem can access the graphics hardware and otherservices. This extra layer ensures a performance hitcompared with other systems, which access thegraphics hardware and other services directly.Another problem of X is that it is an established partof an old institution of technologies. X has beenaround for a number of years, and therefore has arequirement to continually support older softwarethat runs on it (and which could possibly be omittedfor a higher performance system).

Another major stumbling block for the currentdesktop model is that of interoperability. This is theissue of the various desktops sharing informationand services with each other so that changingdesktops appears seamless. At the moment somethings are compatible – such as drag and drop usingthe XDND protocol. KDE support GTK themes andapplications can run under varying desktops if thecorrect software is installed (Kmail, for instance, willrun fine in GNOME). A more serious problem is thatof sharing data between applications. An example isif I would like to embed a Spread spreadsheet in

AbiWord. In each environment it is easy to dowithin that desktop’s applications. However, crossdesktop embedding is still problematic.

Another uncertainty surrounding the currentstate of the desktop is the lack of a standardizeddesktop model. An example is that there are agreat many desktop environments available, with agreat many varying tools to build applications thatrun on these environments. Take for example KDEand Qt, GNOME and GTK, Motif, Afterstep,Window Maker, ICEWM, FVWM etc. While I amnot saying choice is a bad thing, quite the opposite– it is a very good thing. A lack of standardshowever is a very bad thing.

The future

The future of the desktop is one which seeks to fixcurrent limitations, and one which works onextending the desktop model to areas andstandards. Like any other Open Source project,there are enthusiastic developers from all sides, andjust like the 200,00+ CD players we seem to have,there are certainly a variety of different optionsavailable.

REPORTDESKTOP SYSTEMS

5 · 2001 LINUX MAGAZINE 23

A typical GNOME Desktop

Page 17: Linux Magazine UK 005

To best describe the varying projects and wherethey are going, I will look at each separately andthen assess how they fit together.

XFree86

When XFree86 4.0 was released it marked a changein the architecture of X, and added some newfeatures. As XFree86 continues to develop, it getsfaster and adds more and more features that makethe desktop experience better. Newer features suchas alpha blending (the ability to use transparency ingraphical objects) and anti aliasing (makinggraphical objects look less pixilated) are slowlyworking their way into XFree86. At the momentthese technologies are available to varying degrees.They are implemented by the toolkit which sits ontop of X (Alpha Blending, for instance, is nowsupported in KDE2). After made technologies suchas Alpha Blending it into XFree86, it can enhanceperformance. There are also some interestingdevelopments with X in the implementation ofXRender; a technology that will make X performbetter and more flexibly.

KDE

As I have most experience with KDE, I can fairlyfaithfully predict its future, and comment on currentdevelopments that will come to eventual fruition. Atthe time of writing, KDE 2.0.1 has just beenreleased, and Alpha Blending has made it into KDE.KDE has been technically superior to many otherdesktops. The release of KDE2 consolidates itsposition, as a result of the sheer number of newfeatures and capabilities. The range of technologiesthat were released in KDE2 makes bothdevelopment and use of KDE applications easier.Technologies that were released as part of KDEinclude KParts (a component system for embeddingsoftware components in applications), DCOP (aninter-application message mechanism) andnumerous other technologies. Although thesetechnologies were new at the time of release, andmany heralded a new wave of Linux development,an even more important role can be ascribed to asignificant portion of them. Many of thesetechnologies have formed the basis for even moreimpressive technologies of the future.

Other interesting developments are takingshape in KDE. These consist of the implementationof a better printing system (possibly using CUPS orAPS)and a more themeable desktop that will beimplementated as time goes on. I have been told bysome developers that transparent menus, alphablended windows and other eye candy may be instore and the KParts model will no doubt beextended and perfected so data sharing can exist. Alittle while before KDE2 was released, Qt was alsoGPLed – which has enabled development for someparties who were previously restricted.

GNOME

Like XFree86 and KDE, GNOME is developing at animpressive rate, and is getting better and better allthe time. The GNOME team have been workinghard perfecting ORBit (the GNOME CORBAimplemenatation), GConf (configuration system),Pango (internationalisation), Bonobo (componentmodel) etc. The GNOME team have beendeveloping their new technologies steadily. Theyhave also made good progress on user interfacedevelopment. This development is continuing toprovide a solid development framework for GNOMEdevelopers using the new technologies.

GNOME is based upon the GTK toolkit – an areaof development which is also progressing smoothly.GTK continues to add new and improved features,and an impressive amount of language bindings.

X vs Framebuffer

When the 2.2.x Linux Kernel was released, interestfound its focus around a feature known as theframebuffer. The framebuffer is a technology thatenables direct access to graphics hardware (afeature only recently being implemented in X). Thebenefit of the framebuffer is that the extra layer ofX is not required and therefore there is a largeincrease in performance. Direct graphics access is arequirement in many cases for high-poweredapplications that require correspondingly high-powered graphics. A perfect example of this is inthe use of games. The framebuffer support in thekernel opened up many possibilities for this newkind of support – which obviously bodes well forthe desktop. The problem with the framebuffer atthe moment is that it does not support acceleratedgraphics, which is important for many users. As theLinux kernel develops, and the framebuffer supportimproves, it makes the possibility of bringing thedesktops (such as KDE and GNOME) closer to thekernel and running these directly off theframebuffer increasingly likely.

The realisation of the desktop is already beingdeveloped and tested in some ways, and the toolsfor such development are already in the pipeline. Anexample is Qt from Troll Tech (Qt is the softwarewhich is used to build KDE). Qt is already availablefor X, Win32 and a port was made to theframebuffer. The Qt API has remained the same,and Troll Tech also decided to release Qt for theframebuffer under the GPL. This makes thedevelopment of a framebuffer KDE possible as theQt API (the programmers interface) remains thesame. Most of the KDE code uses the Qt API, andtherefore little work would theoretically benecessary to port it to the framebuffer.

Although a framebuffer desktop could betheoretically possible, and could have manybenefits in terms of performance, there are ofcourse some disadvantages in taking X out of the

REPORT DESKTOP SYSTEMS

24 LINUX MAGAZINE 5 · 2001

Page 18: Linux Magazine UK 005

picture. The main two problems are simply thatyou would not be able to run your X software onthe framebuffer, and that you would lose thenetwork transparency that X provides. For manyusers these disadvantages do not matter, but forsome they do. The problem is reaching a goodbalance that is agreeable to most users.

KDE and GNOME collaboration

If you take a look at the various technologies thatKDE and GNOME have to offer, you can see thatthese technologies are performing the samefunctions in many ways. An example is KParts andBonobo; both are component technologies. KDEand GNOME also use the same kind of human-computer interfacing characteristics and commonGUI elements (such as scroll bars, buttons etc). Surelythere must be a way for KDE and GNOME to talk toeach other?

The answer to that is the same as the answer tomany questions of this type – yes and no.Technically virtually anything is possible. However,there are some considerations that may make thisfeasible and some reasons it may not be sopractical. The first is that many KDE and GNOMEusers are simply not interested in any collaboration

as they only use one desktop and that one desktop’sapplications. There are however, many users whowant to share data between applications. There iscertainly some support for this.

I believe that there will, at some point, becollaboration. It is not likely that this collaborativeeffort will be written by someone who codes for thelove of it, but by a company. Regardless of its origin,at some juncture the gap is sure to be filled. Manyof the Linux distributors hire coders to writesoftware that is needed for an enterprise desktop,but has not been previously conceived of. We needto always remember that Linux is built by manypeople in their spare time. Most of the softwarethat we use is built by people who hack away whenthey arrive home from work, school or university. Ifnobody finds a particular area interesting, it simplywon’t get written, no matter how desperately it isneeded. That is why we seem to have 200,00 CDplayers, yet we lack some of the essential softwarethat distributors end up writing. There does seem tobe a will amongst developers to write the code, butI sense that technical control is difficult tocoordinate between the two projects. By the timeyou read this it may have already been written, and Ithink that KDE/GNOME collaboration is a likelyoccurrence in the future.

REPORTDESKTOP SYSTEMS

5 · 2001 LINUX MAGAZINE 25

A fully featured KDE Desktop

Page 19: Linux Magazine UK 005

Multimedia and the desktop

One area in which Linux and the desktop is makinggood progress is that of multimedia. The futurelooks good. Because Linux has a strong UNIX-basedserver background, multimedia was neglected insome respects until the desktop revolution in Linuxcame along. As the desktop gets more and moremultimedia laden, and the Web provides betterbandwidth and more multimedia content, Linux andthe desktop needs to be able to support andexecute these emergent multimedia effectively.

The development of multimedia in Linux hastaken a number of routes, but one route that islooking most promising is the development of aRts.The aim of the aRts project is to provide amultimedia framework that can be used byapplications. The aRts team has phased in keytechnologies and while playback of multimediacontent was primarily the focus, a strong codebaseis also being developed in the creation ofsynthesizers and digital effects.

The aRts project does not rely on any particulardesktop to function correctly, although it is beingused officially in KDE for multimedia content. I havenot heard anything from the GNOME team aboutusing aRts, but they may be using it officially formultimedia in GNOME.

As a student of multimedia communication atuniversity, I needed to rely upon a variety ofmultimedia technologies for the successfulimplementation and execution of multimediaproducts. As Linux currently stands it is a goodplatform for playback and execution, but is not whollysuitable for multimedia authoring. I predominantlyuse Macromedia Director for multimedia authoring,and although I am not aware of plans to port Directorto Linux, I am surprised there are no Open Sourcemultimedia authoring packages available. If you knowdifferently and have seen some projects to develop amultimedia development package, please get intouch with me and let me know.

Applications, applications,applicationsIt is well known that a computer cannot functionwithout usable software. This is particularly true inthe world of the desktop. A Linux desktop isnothing but an interface to a computer, and a wayof working in a controlled environment. Once the

environment is in place, applications are required toexploit its features and get the user’s work done.

When examining applications for the desktop,we note that there are predominantly three types:• Productivity• Custom• BrowsingProductivity applications are applications which auser can use to create something and get his/herwork done. Examples include office suites, graphicsmanipulation programs, personal informationmanagement systems etc. It’s applications like thisthat users really want so they can get their workdone using Linux. In terms of office suites, the futurelooks good. Currently the contenders are KOffice,GNOME Office, OpenOffice amongst others. All ofthese office suites work quite well on a basic level atthe moment, but the road ahead looks bright. Withthe basic functionality there, special features arebeing added such as automatic formatting, HTMLgeneration etc. Also these office suites are using thenew technologies that both KDE and GNOME aredeveloping, thus making sharing data between eachcomponent in an office suite a simple proposition.

The second category is custom applications. Thisincludes applications specifically written for aparticular purpose and not for general usage.Examples include scientific applications, custombusiness applications for particular business practicesand research applications for conducting research ininstitutions. As this category does not really deal withthe general usage of the desktop it is not strictlyrelevant. Custom built software will always be writtento specification and is not always necessarily availableto use publicly. What is relevant however is that as thevarying desktops make application developmenteasier and more scalable, the benefits of exploitingthese technologies are real and accessible.

The third and final category is browsing software.This includes software that enables you look at varioustypes of content, such as Web sites, FTP sites, images,textual documents, sounds, video etc. Browsingsoftware is crucial to the success of the desktop, andsome serious progress has been made recently in theability to browse content across the desktops.Examples of applications that can browse contentinclude Konqueror for KDE and Nautilus for GNOME.The essential thing about browsing software is thatpeople who use a desktop frequently use it to look atalready available content rather than publishingcontent. A typical example of this type of user issomeone who browses the Web. The only tool theyreally require is a capable Web browser. They do notneed an HTML editor, image editor and FTP client tobrowse. The actual proportion of people who spendmost of their time browsing is high. Even the peoplewho use productivity software still browse too. Thefuture certainly looks good for the browsing softwarefans, with progress being made in virtually all areas ofbrowsing, and projects maturing steadily. Webbrowsers such as Konqueror and Mozilla are

REPORT DESKTOP SYSTEMS

26 LINUX MAGAZINE 5 · 2001

Some useful Web sites:KDE http://www.kde.org/GNOME http://www.gnome.org/XFree86 http://www.xfree86.org/Troll Tech http://www.troll.no/KDE League http://www.kdeleague.org/GNOME Foundation http://www.gnomefoundation.org/

Page 20: Linux Magazine UK 005

becoming more capable at displaying content, imageviewers such as Electric Eyes continue to developstrongly and support more and more file types, anddocument-centric viewers such as Adobe Acrobatviewers are displaying the latest PDF specification files.Probably the most difficult of all browsers to developis the Web browser, as so many new technologies areadded to the Web experience. However, mosttechnologies are implemented extremely quickly.

Commercial backing of thedesktopWhen Linux was in it’s earlier stages ofdevelopment, many companies shunned it as ageeks’ system which only programmers could haveany shred of interest in. As time went on, anddevelopment got stronger and stronger, companiesstarted putting a firm foot on the bandwagon andbegan supporting Linux both verbally andsubstantively. As the desktop revolution of Linuxthen gathered steam, some companies began torealise the potential of Linux, or simply to acceptthat it was not going to go away.

Although there had been some backing for thevarious desktops, on August 15th 2000 the firstmajor support agreement for the GNOME desktopwas announced with the unveiling of the GNOMEfoundation. The official announcement stated thefollowing about the aim of the GNOME Foundation:

”The GNOME project today announced thecreation of the GNOME Foundation, which will begoverned by a board of directors elected by thehundreds of volunteer developers who contribute toGNOME. In addition, industry leaders andorganisations including Compaq, Eazel, FreeSoftware Foundation, Gnumatic, Helix Code, Henzai,Hewlett-Packard, IBM, Object Management Group,Red Hat, Sun Microsystems, TurboLinux and VA Linuxhave announced their support for the foundation,with the goal of advancing the availability of thiseasy-to-use, open source, desktop environment.”

This move was a turning point in thedevelopment of GNOME and is a sign that thefuture of the GNOME desktop will be supported bya range of companies, who might possibly wish touse GNOME in an enterprise environment. Thiscould pass some major benefits onto users. The KDEteam had been preparing a similar system, althoughthey initially put the idea on hold in order to getKDE 2.0 finished. Once KDE 2.0 was releasedhowever, it was time to explore the idea further, andthe KDE League was born. The officialannouncement of the KDE League stated:

”The KDE League is a group of industry leadersand KDE developers focused on facilitating thepromotion, distribution, and development of KDE.The League will focus on promoting the use of theadvanced Open Source desktop alternative byenterprises and individuals and on promoting thedevelopment of KDE software by third-party

developers. The League will not be directly involvedin developing the core KDE libraries and applications,although League members are encouraged tocontribute to the KDE codebase in the spirit of KDE’swildly successful ‘Bazaar-style’ development.”

The importance of the GNOME Foundation andthe KDE League factors cannot be over-estimatedwhen it comes to predicting the future of thedesktop. Although the GNOME Foundation and KDELeague do differ – many think they don’t but theydefinitely do – both organisations are there to helppromote each desktop and what it has to offer. Thiswill been more developers will get involved and thatmeans more software. Also, the companies behindeach organisation will no doubt be using their powerto put the desktops on more computers, and getmore software ported to each desktop.

The marriage of Linux and the desktop isdeveloping at an incredible rate, and the usability ofsoftware for the Linux desktop becomes easier andeasier all the time. Although many hardcore Linuxaddicts frown upon the commercialisation of Linux,it is happening. It needs to happen to help Linuxinto enterprise and thence into the domain of thecommon or garden home user. With the rapidadvancement of development and the enthusiastictwenty-four hour global coding frenzy, it is difficultto predict the future for a system that moves soquickly and holds the potential for such dynamicgrowth. There is no doubt that the desktopenvironments such as KDE and GNOME are goingto develop smoothly and efficiently on their ownmerits, but the future should bode well for bothsystems integrating together more tightly. We willno doubt see embeddable components within bothdesktops’ compliant applications, and more sharingof themes and inter-application communication. Wecan also expect to see the desktops integratingbetter with palmtop computers and devices, andmaybe even seeing both KDE and GNOME availablefor pocket computers! The future for the X Windowsystem looks both bright and gloomy as we get abetter implementation of X, with more features andperformance improvements, but with the rapiddevelopment of the framebuffer, X may be takenout of the picture altogether. Application supportfor the desktop is getting better and better all thetime. The work of the KDE League and the GNOMEFoundation should bring more commercial softwarenatively to the desktop, as well as protecting thevaluable community of developers who contributetheir time and skills for free.

The future of the Linux desktop is bright. As Iconclude this article just remember this – it took yearsand years to make other commercial desktopenvironments usable enough to appeal to the averageconsumer. The Linux desktops have virtually caughtup with these other desktops in an impressively shorttime. With this pace of development, and theenthusiasm of millions of developers and users, whoknows where the future will take us? ■

REPORTDESKTOP SYSTEMS

5 · 2001 LINUX MAGAZINE 27

Page 21: Linux Magazine UK 005

The early focus for embedded Linux was on thinclients and network appliances – extending theoperating system’s pivotal part in Web and mailservers, Internet gateways and firewalls. Also, withheavyweight support from software and hardwaredevelopers in the real-time arena, Linux is beingadopted as the platform for critical sub-systems incommunications, retail technology, industrialcontrol, transportation systems and aerospace.Pretty soon it will be leading the way towards apost-PC generation of gadgets in the home, as wellas PDAs, mobile phones and mobile entertainmentsystems.

For those who are used to Linux as the OS ofchoice for their servers – and increasingly theirdesktop workstations – the idea of Linux inside theirPDA or games console, let alone their mobile orMP3 player, seems surprising. Yet Linux enthusiastshave been recompiling Linux kernels to run on theirPalm devices for years, and building hobby projectssuch as MPEG decoders in their basements.

For real commercial applications, however, it hasrequired robust, productive developmentenvironments, specialised distributions and broaderCPU support to get the embedded Linuxbandwagon rolling.

Yet rolling it surely is. Over the last few monthsthe computer press has reported a wave of newembedded Linux designs that will appear in theshops very soon. This includes a mobile phone with

a 10cm square screen; a screen phone, a high-endgames console, a home networking gateway and apalm-sized PDA.

The appeal of Linux to embedded designs isclear. In contrast with proprietary operating systemssuch as Windows CE, Embedded NT, or Wind RiverSystems’ VxWorks, it is both Open Source and anopen system. It’s royalty-free and, like the best ofreal time OS’, Linux supports POSIX and otherstandard, open interfaces for networking andgraphics.

Developers are protected from single-vendordependency. They can readily move applications toLinux systems from multiple suppliers and otherflavours of Unix, and benefit from a massive body ofexisting software and expertise. Wide availability ofdrivers, open source code and licensed software, allwork to reduce development effort and cost.

Linux is well supported by the thousands ofdevelopers working to refine and improve the OSand has a reputation for being robust, reliable andsecure. These are major advantages for embeddedsystems.

Most importantly for the gadget industry, theconfigurable, modular kernel of Linux makes it easyto meet the resource constraints of embeddedapplications. It is relatively simple to compile acompact OS that supports just the functionsrequired, and in the tiny footprint of a portable,battery-operated device.

REPORT EMBEDDED SYSTEMS

28 LINUX MAGAZINE 5 · 2001

Embedded Linux is here to stay. The only question is:

how big a player can it really become in the marketplace?

From heavyweight applicationsto Embedded Linux

OS TO THEHEART OF

GADGETSDR. INDER SINGH

Dr. Inder Singh CEO and chairman LynuxWorks

Page 22: Linux Magazine UK 005

Comprehensive hardwaresupport

For embedded system developers, comprehensivehardware support is a must: the operating systemhas to perform with specific processors, I/O devices,buses, networking and graphics standards. Linuxdoes not disappoint – it has already been ported tomore CPUs than any other OS. In addition to Intelx386 to Pentium-class processors, the latest versionsof Linux have been ported to Power PC, HitachiSuperH, ARM, StrongARM and MIPS embeddedCPUs.

Hitachi processors are widely used in a variety ofembedded systems such as multimedia andconsumer products – including hand-held personaldigital assistants, digital still cameras, and gamemachines. Meanwhile, ARM versions are set toaccelerate development of new applications,including audio and digital imaging, videoappliances and kiosks, Web-enabled cell phones,highly intelligent point-of-sale (POS) terminals,residential gateways, navigation systems andothers.

And Linux’ hardware capabilities go a lotfurther. It can handle a rich mixture of targetenvironments, from single boards to VME- or PCI-based multiprocessor systems, and a wide variety ofdevices and system buses.

Drivers are quickly made available to thedeveloper community – for free – as new I/O devicesare introduced with increasing frequency. For bus-based systems there are Linux ports to VME andPCIbus single-board computers and drivers for avariety of other standards, including CAMAC, CAN,GPIB and BitBus.

Despite these attractions, adopting Linux forembedded systems has only recently become asimple task. Why? For a start there have been fewdistributions specifically for the embeddeddeveloper. By and large developers have had towork with distributions geared mainly to desktopcomputers and servers. Worse, these constitute afast-moving target as new kernel versions areposted frequently. Embedded developers have tobalance cutting edge innovation against stability.

Fortunately, specialised versions of Linux – suchas BlueCat Linux from Lynuxworks – are now beingintroduced to address these issues. Typically, thesebundle a version of Linux with a range of specialisttools to aid embedded system development. Incommon with several other alternatives, the

LynuxWorks option features a highly configurablekernel, making it simple to create variationsaccording to user requirements.

Development environments

Designing an embedded system is a very differentprocess from developing software to run on aworkstation or server. Traditionally, developers usetheir familiar workstation or PC environments todevelop code, then use specialised tools forsubsequent cross deployment in the more resource-constrained target hardware. The developmentenvironment needs to support this crossdevelopment paradigm with powerful crosscompilers, debuggers, image binding tools, andnetworking resources on the host. Equally critical,developers using Linux need various add-on toolsthat enhance the ability to build, debug, test anddeploy embedded applications.

BlueCat Linux, for example, includes industry-standard ANSI C and C++ compilers, structuredmacro assemblers for supported target processors,the ld Linux linker for ELF relocatable file binding,and mkimage, a powerful tool for building kerneldownloadable images containing complete bootableand ROMable user application and Linux OS binaries.

To provide cross-execution of system-level codein a controlled setting, Linux distributions can carrya variety of debugging tools aimed at embeddedsystem developers. For example, the Total/db sourcelevel debugger is based on the popular GNU gdb,but enhances its core features to target the LinuxOS kernel, specialised device drivers and embeddedapplications.

Embedded Linux is also benefiting from add-ontools, such as new performance analysers, like theLynuxWorks SpyKer event tracing tool, to findelusive errors resulting in resource contention,throughput bottlenecks, deadlocks and raceconditions, which source-level debuggers alone donot easily tackle.

The fact that these facilities are now starting toappear is a clear indication that Linux is set to growsubstantially in the embedded applications market.Once developers of embedded systems find thatthey can count on support by vendors who arefocussed on their needs, and can provide Linuxsolutions that meet their most demandingrequirements, industry observers expect the use ofembedded Linux to far outweigh the operatingsystem’s use in general computing applications. ■

REPORTSUBRUBRIK????

5 · 2001 LINUX MAGAZINE 29

[links]The game console Indrema L600 with Linux.

[mitte]Agenda (Agendacomputing) andYopy (G-Mate) are available, soon.

[rechts]Looks like a PDA, but is a cell phone:the IMT-2000 from PalmPalm

Read further:

LynuxWorks:http://www.lynuxworks.comLineo: http://www.lineo.comMontavista: http://www.mvista.comEmbedded Linux News Channel:http://www.linuxdevices.com

Page 23: Linux Magazine UK 005

REPORT LINUX FOR SCHOOLS

30 LINUX MAGAZINE 5 · 2001

Linux for Schools – An Introduction.

LESSONS IN LINUX

RICHARD SMEDLEY

Linux – and Free Software in

General – is not just a cheap ICT

solution for cash-strapped schools

but a chance to improve the creative

learning process. This article

examines the state of Linux use in

the UK and its prospects for

employment in the classroom

environment.

Whilst many readers use Linux at work, at least ontheir servers, and the majority choose it as theirhome desktop OS; how many of you are sendingyour children out to benefit from Free Software atschool? Unfortunately the answer is not many.

”Point ‘n’ drool” proprietary software is thenorm in our schools. Children leave the educationsystem with little idea of what a computer can reallydo or even how to use one to get anythingachieved. Unless students take a science subject atuniversity they may never see powerful applicationslike Tex running on a free (or even a proprietary)Unix. This compares very badly with the situationtwenty years ago when, despite a shortage ofmachines in schools, we were taught the basics ofprogramming and learnt the ”underlying

principles” of computing. Schools and the birth ofhome computing produced a generation ofinnovative coders whilst the government fundedFree software for the BBC B Microcomputer.

The dumbing down of ICT in schools is causinga severe skills shortage in the UK. Linux start-ups,and established companies venturing into the FreeSoftware world, are fighting for the few whohaven’t gone the easy MSCE route to riches. AndyRoffe of Cheshire-based iTS-LiNUX is one who hashad to work hard to find capable staff. He is a keensupporter of Linux Users Groups (LUGs), and theirrole in Linux advocacy in schools and the businesscommunity, a sentiment shared in a recent editorialof this magazine. ”We have offered our time, free,to schools and trade associations,” says Roffe, ”to

Page 24: Linux Magazine UK 005

try and make a case for Linux, but so far with notakers. The Open Source model and my experiencesin Germany have taught me that many more peopleare learning to code on the Linux platform, due tothe inclusion of all the development tools.”

However this is no cause for gloom, changetakes time. Two years ago few were backing Linuxfor success on the desktop, now rapid growth therelooks certain. Similarly in schools, Linux use ispatchy and unsupported by those in power, butchange is coming.

First the bad news

Policy on IT use is governed by the Department forEducation and the Environment (DfEE) andimplemented by the Local Education Authorities(LEAs). Guidance comes from Becta (the BritishEducational and Technology Agency) thegovernment-funded agency which supports ICT incurriculum subjects. Becta have recently given theDfEE a briefing sheet on Open Source Software(OSS) which should lead to all tender documents nolonger specifying particular closed source solutions.

Under the National Grid for Learning (NGfL),schools have been encouraged to take up ManagedServices. Goods and services are provided byCertified Solutions Providers (certified by Becta), theschool just delivers curriculum content, which canreduce the skills-base in the school. The barriers tobecoming a Provider are more financial thantechnical, though the documents have not beenphrased to prevent Linux implementation in schools.Nevertheless Becta have not been wholly succesfulin explaining Free Software to schools orgovernment, and many industry players areunhappy with the new competition that it brings. Aplanned conference on Open Source Software wascalled off because of pressure from a large softwarepublisher, and other attempts to flag up OpenSource Solutions have met with a similar fate. ICTteachers and technicians look to Becta for a leadand find no officially backed alternative toexpensive closed source software. As we go to pressBecta were planning on publishing a TechnologyInformation Sheet on Open Source Software ontheir Web site.

There is an impression that those in governmentcircles really do not ”get” Open Source or FreeSoftware, seeing it as a rival commodity rather thana better way of doing things with strongeducational advantages.

Linux growth

Recent announcements on Linux support from IBM andSun are excellent news. However Linux has becomepopular because of grassroots enthusiasm – fromcoders and developers initially, but lately from users too.The government may show little understanding ofwhat free software is, not to mention its benefits, but in

schools Linux is slowly appearing, server side first, as itdid in the corporate space.

One looks with encouragement at the Powysexample. The county IT strategists suggested a lookat Linux ”principally on cost grounds,” says DrMartin Williams, the co-ordinator of ICT services forPowys LEA, who installed servers in two schools as atrial. ”It worked so well that not only did we put itin all our schools but Linux is now always theplatform of choice for County servers.” Powys, as alarge rural county, has provided ”telecottages”where the community can take advantage of ITresources. Here and elsewhere in the county Linuxpowers the servers, leveraged by cost and nativeease with network protocols.

Normal service will be resumed

Of course Linux power on the server side does notjust mean Apache or files served by Samba.Individual schools around the world are puttingLinux servers to many imaginative uses. Holding adisk image for an MS Windows installation which istransferred to the workstation each time it is bootedup, giving a clean installation (no matter whatdamage the previous user did) is one primeexample. Of course all work is saved centrally to theLinux file server.

The Linux Terminal Server Project (ltsp) enablesredundant old PCs to be recycled as disklessworkstations booting from a central network server.Other similar projects exist. One modern PC with,say, 256MB of RAM, can serve several dozen clientsrunning X - though the number drops ifspreadsheets on Star Office are involved!

Like many developers, Phil Jones metconsiderable resistance when trying to give away hisLinux for Schools Project (lfsp) software to schools.Most schools didn’t even reply and we wouldn’thave heard about it if it hadn’t been taken up soenthusiastically by Nigel Pauli of St. John’s school inNorth London. The Linux for Schools Project (lfsp)introduces pupils to the Unix Command LinePrompt from the ”safety” of their WinTel box,teaching them the benefits of a multi user, multitasking networked environment. See the lessonplan on their Web site.

Applications over the net are the next big thingapparently, with Microsoft trumpeting their .Netstrategy. Several Linux-based remote solutions, suchas Schoolmation, are being developed and thedesktops can be any platform at all. The naturalobjections to this on security and privacy groundscan be overcome, but locally-run applications willalways have their place on the desktop.

Many of the projects mentioned above showthe advantages of a mult-user, multi-tasking OS.However each machine served by the Linux box stillcosts the school big money as Microsoft collect asite license for every Mac or Pentium in mostschools, regardless of what it’s running, as it has the

REPORTLINUX FOR SCHOOLS

5 · 2001 LINUX MAGAZINE 31

Page 25: Linux Magazine UK 005

potential to run Windows or Office. Such costconsiderations are going to affect schools in thesame way that they have in the business sector –particularly at upgrade time.

Totally free

Debian Junior is a project to make DebianGNU/Linux appealing and interesting to children”aged 2 to 80”. Though at first they will beconcentrating on the two to eight age group.Debian is a coalition of 500 developers – many areparents, and interested in adapting Linux foryounger children. ”Debian Jr. has avoided directlyaddressing the Linux in the schools problem,preferring to leave that to SEUL/edu and others,”says project leader and Debian developer BenArmstrong. ”Debian Jr. is a developer-driven project.Therefore, we focus on Linux in the home, whichholds a personal interest for us because many of usare parents as well. By working first with what weknow, we manage to keep what we produce veryrelevant. We hope that this will supplement thework that is being done by those who are interestedin deploying Linux in the schools.”

Armstrong does hope that Debian Jr’sresponsiveness to its user base could lead toschools use, but ”it needs to be a user-drivenproject, with the teachers and administrators

communicating with us (Debian – not necessarilyDebian Jr.) about what they need. In turn, wewould then draw from the more general resourceswe have at our disposal, such as SEUL/edu, andbuild on their success to make Debian easier toimplement in schools.”

SEUL/edu is a USA-based discussion group forLinux in education, part of the Simple End UserLinux (SEUL) project.

Although Red Hat are said to be planningsupport for education in Europe, the onlycommercial distributor to be actively promotingschools use of Linux in this country is SuSE. InGermany SuSE are developing KNLinux for schoolsand have just published a book ”Linux in derSchule”, by Dr Karl Sarnow. Roger Whittaker, SuSEUK’s Training Consultant and himself a formerteacher, has offered SuSE’s professional edition tohigh schools at half-price in a mail-out and severalhundred have taken him up on the offer. Thisincludes the full support package. Whittaker alsomaintains a mailing list for those using Linux inschools. Here much of the traffic revolves aroundsetting up Squid and Samba, and the needs of newusers on the Server side can be quickly gauged. Butwhat of the desktop?

Desktop

The value of the International Centre for DigitalContent (ICDC) Schools Linux project lies not somuch in gathering together a ”distribution” –anyone can do this with the resources andapplications currently available. The project’s valuelies rather in leveraging their experience withschools, and their strength in the visual curriculum,to produce a study of what schools need to makeLinux work for them in the classroom. Then in usingthis to show the benefits of using free softwarefrom an educational, as well as a financial andtechnical viewpoint. Laurie Peake of ICDC, seesmany other advantages in breaking away from thecurrent straitjacket of ”rote learning of standardisedprocedures via proprietary software.” Peake sees arole for free software in more creative learningprocesses. ”It is clear from our research at ICDC thata new set of skills is required for the [emergent]knowledge economy and that the current educationsystem is not providing these. The system itself mustseriously consider how it can provide the workforceof the future with the skills it needs.”

So Linux is getting ready for the classroom. Canour education system get ready for Linux?

Resources

We hope you will be hearing far more of Linux inschools this year. More information on the projectsmentioned can be found at the sites listed below.All the Open Source projects listed welcome anyhelp that you can give. ■

REPORT LINUX FOR SCHOOLS

32 LINUX MAGAZINE 5 · 2001

Pupils at St. John’s school in North London, accessing GNU

tools through their MS Windows workstations.

Info

Open source in Education: http://www.ose.org.uk.British Educational and Technology Agency: http://www.becta.org.uk/

National Grid for Learning: http://www.ngfl.gov.uk/ SuSE: http://www.suse.de/uk/schools/index.htmlDebian: http://www.debian.org/devel/debian-jr/

A new forum on KDE in the classroom:http://master.kde.org/mailman/listinfo/kde-edu

K-12 Linux in Schools: An American project: http://www.riverdale.k12.or.us/.US-based discussion group for Linux in education: http://www.seul.org/edu/

Linux for Schools Project: http://www.lfsp.org/Linux Terminal Server Project: http://www.ltsp.org/.Day-to-day info on the ICDC Schools Linux project:

http://www.sc.lug.org.uk/schools

Page 26: Linux Magazine UK 005

COVER FEATURE NOTEBOOK GROUP TEST

34 LINUX MAGAZINE 5 · 2001

Notebooks under the Linux spotlight

PORTABLEALTERNATIVES

MIRKO DÖLLE

For our test we sent invitations to all the well-known manufacturers, from Acer through tonewcomer Wortmann. The result was a test field ofeight products with prices ranging from around£1250 to £4000 or so. We deliberatelyconcentrated on big-name manufacturers becausethey rarely change hardware specifications on aparticular model. The reverse is true in the case ofno name devices – although we might review aparticular notebook, by the time you come to orderit the hardware might have been changed, makingour test results and conclusions irrelevant.

Buying a big-name product has drawbacks, ofcourse. The most significant is a higher price.However, as a reward for spending a little bit extrait’s fair to anticipate decent hardware support underLinux although this isn’t always the case, especially

when a particular model makes use of state of theart hardware that may not yet be properlysupported. But on the notebooks we looked atevery single device was at the very least detected byLinux, though things like winmodems and somebuilt in network adapters didn’t respond, and weoccasionally found that the X-server had someminor but usually solvable problems. You can easilycircumvent these problems by adding modems ornetwork cards via a notebook’s PC Card slots if needbe, though, so unsupported hardware like this isnot a total disaster.

As well as good Linux compatibility, we werepleased to note that no notebook manufacturerused proprietary memory expansion; standard andeasily available SDRAM SO-DIMMs were used on allthe notebooks. We were also generally satisfied with

Linux has advanced in leaps and

bounds in recent years. It can now

be easily installed on almost any

desktop computer alongside its

traditional home of a server or

enterprise workstation. But is the

same true when it comes to

installing Linux on notebooks? After

all, the frequently quirky hardware

configurations and generally less

sophisticated hardware can cause

problems. To find out, we got ten of

the latest brand-name notebooks on

the test-bench and put them

through some rigorous testing.

Page 27: Linux Magazine UK 005

the notebooks in terms of specifications levels. Eventhe 12-inch display on the Sony Vaio was capable ofrunning XGA resolution and, thanks to the 700 MHzPentium III, it was bursting with power.

We were not particularly thrilled with the newplug standard used on most of the notebooks;standard ”kettle” leads for notebook powersupplies are now a thing of the past and have beenreplaced by idiosyncratic designs. A lost ormisplaced power cable can therefore be a majorproblem and we found that we were unable tosource any compatible replacement cables fromanywhere. Nevertheless many of the notebooks –the Toshiba, for example – did use a the ”figure ofeight” lead often used by electric shavers, so youknow what to do if disaster strikes.

By far the biggest disappointment we had wasto discover that except the Wortmann none of thenotebooks we looked at are available with Linuxpre-installed. Even worse, most companies seems tobe not aware of Linux in any way – Acer’s Web site,for example, had not a single page refering to Linux.Hopefully this test will make some contributiontowards breaking down the prejudices of many ofthese companies. ■

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 35

The testsAll devices were weighed and measured immediately after unpacking. Then, wherever possible or necessary, the existingWindows partition was reduced in size to make room for Linux by using GNU/Parted. We used SuSE Linux 7.0 Professional forour tests, installing from CD (or DVD where possible). We decided to use SuSE because it is one of the most widely useddistributions and to some extent also because it is available on DVD. Most importantly of all, though, we chose this operatingsystem because, in our experience, anything that works with SuSE will generally also work with Red Hat, Mandrake or Debian,even if a bit of extra work is required in order to do so in some cases.The installed hardware was catalogized using lspci or – if that failed or we were in doubt about the results – the Windowssystem info. As far as possible we left the X-configuration set to YaST2 during initial installation of the operating system. Fornotebooks fitted with the S3 Savage graphics chip, however, we first installed the patched XF86_SVGA-server and then usedXF86Setup, which we stole from a copy of SuSE 6.4 as it is isn’t included in Version 7.0.We had to skip a battery rundown test because so far we have found no realistic benchmark capable of reflecting a normal,day to day workload. And to quote the battery rundown time at full load, something we could do, isn’t very informative,either. This is because power-saving options would not have any real impact during testing and therefore no sensible resultswould be produced – who would really leave the kernel to recompile on a battery-powered notebook all day long, or rendertime-consuming scenes on a journey to the office? We did not run any performance measurement benchmarks, either, as fivepercent or so more power in one device over another shouldn’t have an effect on your buying decision. We did, however,measure temperature and noise levels.For our temperature tests, we ran a PovRay scene (which can be seen on the photos of the notebooks) and measuredtemperatures in four places 90 minutes after the program had been started. The temperatures were recorded at the warmestpoint on the keyboard, the warmest place on the underside of the device, the outlet from the notebooks’ main air vent and,finally, at the contacts on a PC Card slot (when a PC Card hard drive was in place). In the case of the IBM Thinkpad we had tofall back on an indirect measurement – the sensor would not fit into the slot with the drive installed, so we measured thetemperature of the contacts immediately after ejecting the drive. We could not install the Type III hard disk into the SonyVaio’s slots at all so we used an ActionTec modem card during this test. We also had to measure indirectly, though, just as withthe IBM, because again our probe wouldn’t fit with the card installed. The actual operating temperatures in the PC Card slotsof these two notebooks will therefore be a little higher than we measured them at.Measurement of noise levels was done with an ELV 8921 sound level meter, which was used to determine criterion C levels athead height for a normal user – 25 cm in front and 35cm above the front edge of the notebook. In the results table, the peakvalues in full-load operation are all listed both with and without the CD/DVD drive spinning.For PC Card compatibility testing we used a selection of PCMCIA- and CardBus cards from 3Com and AVM along with anActionTec modem and Calluna 130MB Type III hard disk. We also tested infrared port operation and mobile Internet accessusing a Nokia 6210 and a Siemens S25 mobile phone. We’ll be reporting on our experiences in more detail at a later date.

Notebook add-ons: We used a Nokia 6210 and Siemens S25 to test infrared ports and mobileInternet access. The black card at bottom left is the Calluna Type III PC Card hard disk.

Page 28: Linux Magazine UK 005

The Acer notebook is a high-end device and isdesigned to completely replace a desktop PC. Thismeans you get two big but discrete loudspeakerswhich, when we listened carefully, we traced to asite under the stylish hump on the lid. This meansthe TravelMate produces sound for the person orpeople sitting opposite very well and is thereforeideal for presentations. One feature we liked on theone hand but found irritating on the other is the TVoutput. This is an SVHS-socket, designed to pluginto a modern television or video, except that underLinux it would not work – irritating to say the least.

The notebook’s design is truly individual,especially the hump already mentioned which is

located on the back of the 15-inch display. Thismakes the notebook fairly distinctive. The diskdrive is permanently integrated into thenotebook and the 8x-DVD-ROM sits in a driveslot and can be exchanged for a second battery,an additional hard drive or a CD-ROM. Thefacility for running drives externally is notprovided with this model.

Hot air

The cooling technology is of interest. Part of theairflow is conducted to the left lower side of themagnesium housing. This warms the underside very

COVER FEATURE NOTEBOOK GROUP TEST

36 LINUX MAGAZINE 5 · 2001

ACER TRAVELMATE

737 TLV

Page 29: Linux Magazine UK 005

nicely and, therefore, the user’s upper thigh. By farthe majority of the excess heat is conducted awayvia ventilation slots under the display hinge whichrise fore and aft of the lid.

The keyboard also gets warm although this ismainly in the back left corner. The keyboard has anoffset cursor block but unfortunately no separatekeys for Home and End – these can only beachieved by a combination of the [Fn] and scrollkeys. In place of a mouse, the Acer TravelMateprovides a Touchpad with two keys and a scrollingrocker. Installed as IntelliMouse (IMPS/2) the mousewent a little bananas in use so we returned to thePS/2-emulation, leaving the rocker pad unused.

Irda

The infrared port is, as with the Fujitsu-SiemensLifebook, placed handily on the side of the unit. It wasinstalled under Linux after activatingCONFIG_SERIAL_DETECT and recompiling the kernel.This was done without a hitch. Together with the Nokia6210 it provided our first mobile Internet experience.

Conservative equipment

Elsewhere the hardware supplied is fairly conservative.The integrated ATI Rage Mobility with 8 Mb of memoryis pretty popular among other notebook manufacturersand was installed within YaST2 easily, as was the soundcard ESS-1969 Solo-1. With the latter you should turndown the volume using the rotary wheel – the internalmicrophone is very close to the loudspeakers andproduced severe feedback at the upper settings.

Like the Compaq, the TravelMate 737TLV Acerhas both an Ethernet card (with an Intel Ether ExpressPro 100 chip) and a Lucent LT winmodem, both on asingle plug-in card. While the Ethernet card wasdetected and installed automatically, there is somemanual work necessary with the winmodem.

Quick out

The 17 Gb hard drive sits behind the cover in themiddle of the front side and can be removed byloosening a screw. The hard drive slot can only takedisks up to 12 mm thick. Smaller models can befixed into place using the useful holding frames.

Secretive keys

One big surprise came about when we tried a typicalLinux keyboard combination – when changing fromthe X-console to the text console with[Ctrl]+[Alt]+[F4], the computer bleeped once and thescreen went dark. By chance, we saw after a fewseconds that the ‘Zz’-symbol had lit. There was noroom for doubt – the TravelMate had fallen asleep!

The solution was revealed by the Toshibanotebooks where one can set, in the BIOS, whetheron external keyboards the function key [Fn] should be

emulated by the combination of [Ctrl]+[Alt]. In theAcer TravelMate the sleep-function is activated when[Fn]+[F4] is pressed so we sent the device to sleep asthe result of function key emulation. However, withthe Acer this cannot be switched off in the BIOS.

There is a workaround, however. By pressing[Ctrl]+[Alt]+[F4] and then [F4] again you will finallyend up where you want to be. No dangeroussituations can arise as the result of using [Ctrl]+[Alt]since only the keys [F1], [F2], [F4] and [F5] areaffected. Perhaps Acer takes care of the Linux usersand implements a toggle function for the [Fn] keyemulation in their next BIOS update.

All of which leaves the CardBus interface whichhas an O2 Micro 6832 controller. It initialised theType III PCMCIA hard drive in two seconds and isthus one of the fastest tested here. But the slots,covered with spring shutters, unfortunately lie inthe immediate vicinity of the side air outlet. At atemperature of almost 50 degrees at full load it getsvery hot for the cards, which are only specified towork at temperatures of up to 55 degrees. Togetherwith the heat the many expansion cards create ontop of that, your PC Card devices might run the riskof getting damaged on hot Summer days.

Conclusion

The Acer TravelMate 737 TLV was the notebook inthis test where Linux worked best on. Apart fromthe SVHS output and the problems with the mousenot working in IntelliMouse mode, the TravelMatewas completely without problems – Linux supportfor its hardware is already out there. We particularlyliked the practical volume control wheel, the cleverheat conduction and not least the lowest noiselevel. It is a shame that Acer did not seize thisopportunity and offer the TravelMate with pre-installed Linux – we feel that this is the ideal Linuxnotebook. ■

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 37

Modem and network sit on a separate card, bottom leftthe two slots for commercially-available SD-RAM-soDIMMs can be seen.

Acer TravelMate 737TLV(+) Hardware supported

"out of the box"

(+) very quiet

(+) large display

(-) TV-output not activated

(-) CardBus-Slots too hot

Page 30: Linux Magazine UK 005

The Compaq Armada M700/7700 belongs to thecategory of ultraportable notebooks. At first glancethe M700 is worth the asking price for itsrobustness alone since aside from a few bits andpieces here and there its housing is madecompletely of magnesium alloy. The design alsostands out from the rest because of the generously-curved edge at the left front sinde which is an eye-catcher in itself. When closed, the Armada looksvery much like a book, which is due to the straightright-angled sides and the Compaq logo which isturned to look like the title of a book. Overall thedevice is very handy and its simple elegance isinspired.

The keyboard is, like the case, fairly non-standard. The trackpoint, a sort of mouse-cum-joystick, sits as usual between the keys [G], [H] and[B]. When using most trackpoints it’s not hard toslightly touch the [B] key with the index finger andthis may be bad depending on the program being

used. For this reason, Compaq has tilted the [B]away from the trackpoint so there is more room forthe index finger, something which doesn’tnoticeably affect the typing feel or ability. Under thespace bar are three mouse keys which can beoperated with no problem using the PS/2 protocol.

Due to the compact dimensions – the lid is onlya few millimeters larger than the 14.1-inch TFTdisplay – the centre of the image is slightly offset tothe left with respect to the keyboard. The result ofthis is that you have to look at the display a bitaskew. This is not really a big problem but takessome getting used to – you tend to sit centred tothe display but then type one row of keys to the leftand keep producing gibberish.

First Start

The notebook was supplied pre-installed withWindows 98 although you don’t get the CDs. Astandalone disk drive is supplied together with a setof cables consisting of a parallel port adapter,modem and Ethernet attachments. The power packhas the new triangular power socket which isincompatible with common power leads. If at allpossible, you should try not to lose this becausereplacements could be costly. But Compaq is notalone when it comes to this new standard – Acerand IBM made the same choice.

Before you delete Windows when installingLinux, you should change the TV output of the ATIRage Mobility graphics chipset from NTSC to PAL asthere is no option for this to be found in BIOS. Thischangeover under Windows is necessary only onceand remains permanently active.

While we’re talking about TV, it’s worthnothing that the Compaq Armada is the onlydevice here to simultaneously output to displayand TV over the entire range of resolutions –there is no need to set lower resolutions for

COVER FEATURE NOTEBOOK GROUP TEST

38 LINUX MAGAZINE 5 · 2001

COMPAQARMADA

M700/7700

Page 31: Linux Magazine UK 005

presentations. Switching between simultaneousand purely external operation, by the way, isdone by means of a little knob on the left next tothe standby switch which worked under Linuxwithout problems.

Loading Linux ...

Installation of SuSE Linux 7.0 Professional wentsmoothly – YaST2 configured the XF86 _SVGA-Server and then included the integrated EtherExpress Pro 100 from Intel. But the installation ofthe sound card, an ESS 1978 Maestro 2E, wassomething the SuSE-Tool found too hard a nut tocrack – the kernel module refused to co-operate.But with modprobe maestro the sound card wasinstalled by hand with no further problems.

During the entire installation the displayflickered noticeably. After changing to text mode itwas hard to recognise anything at all, in fact. Thisprobably stems from the mode lines in YaST2 notbeing quite correct. After a reboot, though, thephenomenon disappeared and was neverencountered again.

The Irda chip was not recognised by findchipusing irda-utils but could be used as /dev/ttyS1.What matters more is that in the kernel underCharacter devices the optionCONFIG_SERIAL_DETECT has been selected and inthe start script of the irmanager the second serialport is assigned to IRQ 3 via setserial.

CardBus problems

A further surprise was waiting for us. In the manualCompaq states with regard to PCMCIA and CardBusthat, at least under Windows 2000, one can onlyexchange cards with the device switched off. Funnilyenough, this also seemed to relate to Linux becauseafter every insertion or removal of a card (withcardmgr running), the kernel promptly died.

The solution is to manually enter the irq-lines ofthe card services – we used IRQs 7, 9, 10 and 15 forPCMCIA and IRQ 11 for CardBus. After theseentries the cards could be changed at will.

The CardBus controller from Texas InstrumentsPCI 1450 needed for the initialisation of our Type-III-PCMCIA hard disk a good 20 seconds to get going.During this period the whole system was paralysed.The positioning of the two Type-II CardBus slots atfront right of the device may be something of anuisance with some cards that have lots of externalcable connectors, but on the other hand theyremain astonishingly cool at just 30 degrees. Theoverheating which occurs with other notebooks willnot happen to this one.

The only thing we found irksome was thedummy inserts used to cover the CardBus slots – inpractice they’re bound to get lost or damaged.Spring shutters which close automatically after thecards are removed are better. Compaq also supplies

as an accessory a shutter for the drive slot so thatfor example on an aeroplane where built-in CD-ROM- and DVD-drives are not allowed you don’thave to sit around with a hole in the side of yournotebook.

Big Brother X11

Last of all we have a piece for the Cabinet ofCuriosity. As already known from the world ofdesktop PCs, it’s frequently the case that whenrestarting the X-server, you can see the old screencontent for a fraction of a second. The reason is thatthe graphics RAM is not completely flushed at everyX start or X shutdown and is only wiped whenpower is lost. However, this isn’t the case with theCompaq Armada – hours later the desktop from thelast session is clearly visible for just under half asecond.

This is perhaps not enough to spy out complexmanagement structures, but may convict the son ofhis “immoral” internet activities on daddy’s laptop.So it is worthwhile restarting the X-server againbefore shutting down the computer or at least toclose any traitorous windows.

Conclusion

The Compaq Armada M700/7700 is one of thebest notebooks in our test. All the integratedhardware could be installed with minor tweaks tothe standard installation. The only niggle wasthat the sleep mode under X11 always endedwith a crash, while no report of this problem wasseen on the console. It was also a bit difficult tokeep the Armada on one’s lap. The main air ventlies over the left knee and warms it to just under60 degrees. – it might help cure rheumatism butisn’t ideal for constant use. As you’d expect, theonly thing left to say is that it’s a pitty thatCompaq does not offer this device pre-installedwith Linux. ■

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 39

Compaq Armada M700/7700(+) robust, handy case

(+) Hardware is completely supported

(+) TV-output supports high resolutions

(-) Sleep mode under X leads to a crash

(-) high price

By slanting the [B]-key on theupper side, there is more fingerroom when using the mouse.

Page 32: Linux Magazine UK 005

The silvery grey plastic case of the Fujitsu-Siemens E-6560 makes a good impression, even comparedwith the magnesium cases of some of the othernotebooks tested here. Unfortunately with just tworubber feet it doesn't have a good grip on smoothsurfaces and in normal use we found it constantlyslides back and forth. The keyboard is relatively softbut offers a comparatively deep key depression.Despite the standard 'Windows' keys and a cursorblock which is not offset, the Lifebook has anamazingly wide space bar although this is at the

expense of correspondingly narrower [Ctrl], [Alt]and cursor keys. Apart from the Wortmann TerraAura the E-6560 is the only device with just twomouse keys. In the way of mouse control Fujitsu-Siemens provide a touchpad.

Hard disk swap

Together with sound connectors and a loudspeakercontrol on the front of the unit, there are five specialkeys which unfortunately do not function underLinux. The developers have dreamt up a particularlycrafty solution for the hard disk on our test model,however, which is that the disk sits in a 'swapframe' which can be taken out without ascrewdriver. Another highlight is that the eyelet forthe notebook lock is also part of the swap frameand thereby prevents theft of the hard disk. Sadlythe swap frame is not a standard accessory but anextra. Not only that but it's described even byFujitsu-Siemens themselves as 'very expensive'.

We received the test device with a 24x CD-ROMdrive but without the disk drive in the external driveslot, something which will be standard on themodel you buy. The ejection mechanism of the CD-ROM is not ideal as a lever has to be folded out andthen pressed in. But it is a very smooth mechanismalthough the protruding lever will keep on catchingon things – clearly some room for improvement.

The positioning of the infrared port has beentaken well care of by placing it on the left front side. Sothe mobile used in the test was easy to get up andrunning transferring data. We were unable toinvestigate the IR port for a mouse on the lower rightedge of the display because we had no suitable device.

COVER FEATURE NOTEBOOK GROUP TEST

40 LINUX MAGAZINE 5 · 2001

FUJITSU-SIEMENS

LIFEBOOKE-6560

Page 33: Linux Magazine UK 005

Linux Installation

After starting YaST2 it was indeed possible to see agraphical user interface but the image was verybadly distorted and, in fact, unrecognisable.Obviously there are problems here with theactivation. The way out was to connect an externalmonitor, switch once to external display and thenremove the monitor after returning to internal. Theimage is then, as usual for TFT screens, pin sharp.

The rest of the installation including XFree86was uneventful. But care is recommended after thisstep – although the integrated sound card iscorrectly recognised as ESS-1978 Maestro 2E (unlikethe Compaq Armada which has the same chip),YaST2 will then crash along with the kernel if youuse automatic installation. So you shouldn't even trythis but load the maestro module manually later on.

Modem and Infrared

With this notebook we found another LucentWinModem although, as with the Acer TravelMate,this was activated without any problems. The sameapplies to the infrared port – after a few minutes wewere able to surf the Internet using the test mobilephone connection.

The Lifebook E-6560 was the only device in thetest with an LCD status display. It provides the mostimportant informations on the laptop such asbattery level, hard disk and CardBus activity.However, this is hidden when the display is closedso there's is no way of telling whether the devicehas gone into sleep mode or is switched off. TheCardBus hardware is a Ricoh RL 5c476 controllerwhich is the same as in the Sony Vaio andWortmann Terra Aura devices. As it takes a good 20seconds for initialisation of the Type-III PCMCIAhard disk, this is also one of the more leisurely typesof Cardbus chipset on test here.

Hot problem

The cooling deserves limited praise. As in theToshiba notebooks there is a side air vent so the

device can theoretically be propped on the lapwithout causing heatstroke. But this is not reallya ideal solution because the underside, at up to45 degrees, is almost as hot as the airflow. Evenhigher temperatures reign in the CardBus slotsprotected by the spring shutters, and at almost50 degrees they are heated up a great deal bythe ventilation slot located in their immediatevicinity. Here too we can well envisage PCMCIAcards ceasing to work on particularly hotSummer days.

As with the Compaq Armada the Lifebook E-6560 has problems with the sleep mode under Xwhich always ends in a total crash. For this reason,you should first deselect in BIOS the option LidClosure Suspend, which can be found in the Powermenu under Advanced Features . But from the textconsole itself the Lifebook woke up again with noproblem with keyboard, mouse and X remainingintact and working.

Conclusion

The Lifebook E-6560 offers much when usedunder Linux. It can be bought in two versions –either with the Lucent WinModem tested here orwith an Ethernet port which, according to astatement from Fujitsu-Siemens, runs underLinux without any problems. Sadly, thisnotebook, too, does not come with Linux pre-installed. The hardware is completely supportedand apart from the sleep problem we didn'tencounter any crashes. It was not possible forreasons of time to take up the opportunity oftesting the even smaller and lighter LifebookB200 but we will be making up for that as soonas possible. ■

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 41

Fujitsu-Siemens Lifebook E-6560(+) Hardware is completely supported

(+) Hard disk in swap frame

(+) Clear LCD status display

(-) Sleep mode under X led to a crash

(-) CardBus slots too hot

[left] The hard drive sits in aswap frame, which – alsofitted with a notebook lock –secures the whole housing.

[right] Nothing for Linux – the keys on the front can onlybe used under Windows.

Page 34: Linux Magazine UK 005

Toshiba is known for its robust and wellmanufactured notebooks. For this test weborrowed a machine from the top-of-the-rangeTecra series and one from the company's SatellitePro range.

We'll start with the little brother of the big boldTecra – the Satellite Pro 4300. This comes into thehigh-end notebook category and is designed toreplace a desktop PC. Accordingly, the disk driveand 8x DVD-ROM are permanently installed.

COVER FEATURE NOTEBOOK GROUP TEST

42 LINUX MAGAZINE 5 · 2001

TOSHIBATECRA 8100

ANDSATELLITE

PRO 4300

Page 35: Linux Magazine UK 005

The plastic case is conventional in design but wewould have liked an Ethernet connector as well as aline output from the sound card. However, Toshibahas added a reset button which is recessed into thecase and has to be pressed using a pointed objectsuch as a pen. The grille protection on the side airvent seemed a little delicate – it's merely a plasticcross just under a millimetre thick. Even a forgottenbiro could easily penetrate it during transport in acarrying bag.

You won't need external speakers because twoexcellent and large loudspeakers have been installedin the Satellite Pro directly above the keyboard.These can make a fair old din if you want them to.

Toshiba Tecra 8100

The design of the Toshiba Tecra 8100 is, apart fromthe keyboard and mouse which are identical to theSatellite Pro, completely different. As anultraportable device it is noticeably flatter but on theother hand it only has one drive slot. The DVD-ROMlocated there is identical to that of the Satellite Proand in addition the notebook also comes with anexternal housing for the disk drive which is attachedto a special port beneath the CardBus slots. Unlikeits little brother, the loudspeakers are located on theleft and right on the notebook at the front.

Whistle while you work

The speakers are just as loud but this causes its ownproblems – unlike the Satellite Pro, Toshiba hasinstalled a microphone in the Tecra and this is also atfront right, about one millimetre above the rightloudspeaker. If the Tecra is allowed to run withoutany intervention, there is no feedback. But if an armor hand covers the microphone slightly, there is apiercing whistle in the 8-kHz range.

This may sound petty but the Tecra costs aroundhalf the price of a small car so we expect more carein the design with respect to the microphone.Evidence this can be done better is proved by the HPOmnibook XE3 where the microphone sits centrallyover the keyboard, with the loudspeakers in thefront of the device. We therefore recommendsimply sticking a headphone jack into the socket ofthe external microphone until the microphonechannel has been turned down with a mixerprogram such as aumix or kmix.

Best Keyboard

Toshiba deserves praise for the unusual keyboard onboth devices reviewed here – while the space bar iscomparatively small, the cursor keys and [Ctrl], [Alt]and [Fn] are very large and easier to hit. Toshiba hasmoved the 'Windows' keys to the top right corner.This is where they should be because they'retherefore out of the way. In all, we liked the Toshibakeyboards best, including the typing feel. The

application of the slanted [B] key on the CompaqArmada would have been the icing on the cake hereand perhaps the Toshiba engineers might take acloser look at this trick.

The only real problem was that we constantlyand inexplicably kept hitting the [Caps] key whilsttyping – perhaps a general problem with keys notbeing quite where we expect them to be. However,a manual hack to solve this is easy. One can enterthe following two lines into the keyboard tablewhich is usually us.map.gz:

keycode 58 = Shiftcontrol keycode 58 = Caps_Lock

This turns the [Caps] key into a normal [Shift] key,but by pressing [Ctrl]+ [Caps] the caps-lock functionis activated. Due to lack of time we were unable todiscover how to adjust the Ctrl-Caps function underX but the following commands turn the [Caps] atleast into another [Shift] key:

xmodmap -e "remove Lock = Caps_Lock"xmodmap -e "add Shift = Caps_Lock"

Linux times two

Apart from the variation in the processor clockfrequency and the bigger hard disk in the Tecra,both devices have almost identical hardware, whichis why we are describing them together.

The first thing to strike us was the unusually fastBIOS POST procedure. Scarcely had the Toshiba logobeen displayed than LILO was up and running andthen booted the installation system from DVD.Installation itself at first went uneventfully. Toshiba hadeven left space for our Linux system – Windows 2000or Windows 98 respectively were accommodated inthe first 5 GB. However, when in the final installationsteps we wanted to select the X-server, YaST2 onlyoffered us the XF86_VGA16 with 640x480 pixels.

The reason is that the Toshiba devices, likeHP and Wortmann, use an S3 Savage MX(86C270-294) chipset and this cannot beactivated with the XF86_SVGA server. Youshould therefore first completely skip theautomated X-installation.

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 43

Toshiba Satellite Pro 4300(+) very good processing

(+) hardware almost fully supported

(-) no Ethernet connection

(-) Irda-Port could not be installed

Toshiba Tecra 8100(+) very good processing

(+) hardware almost fully supported

(-) microphone-loudspeaker feedback

(-) Irda-Port could not be installed

(-) dearest device in the test

Like in a rocket silo – theon-/off switch of the Tecra8100 is secured with asliding flap which preventsaccidental use.

Page 36: Linux Magazine UK 005

COVER FEATURE NOTEBOOK GROUP TEST

44 LINUX MAGAZINE 5 · 2001

Further along the installation line and the lack ofan Ethernet card left just the configuration of theYamaha YMF-744B, which went off smoothly. Likemost of the other devices in the test the Toshibasalso have a Lucent WinModem, which asdescribed above can be activated manuallywithout demur.

X11 Installation

Despite documentation which says otherwise, inXFree86 4.0 the S3 Savage MX chipset is notsupported by the XF86_SVGA server. What'sneeded is the X-server adapted specially for S3 cardsby Tim Roberts, which can be obtained fromhttp://www.probo.com/timr/savagemx.html. This issimply installed under /usr/X11R6/bin.But SaX could not cope with the patched server sowe used the XF86Setup which is tried and testedfor notebooks. Since this is no longer included inSuSE 7.0, simply grab the package xfsetup.rpmfrom the series x1 of SuSE 6.4 via your favouriteFTP server. You can ignore any warnings at thestart about incomplete documentation. In theselection of graphics cards you simply change tothe more detailed set-up and enter the SVGAserver direct. For the monitor it is best to chooseHigh-Frequency SVGA and 1024x768 @ 70 Hz. Butyou can also simply set the corresponding linkmanually under /var/X11R6/bin/X and useXF86Config from our FTP server.

A notebook is not necessarily the rightplatform for 3D games but for the two Toshibas ahardware accelerated 3D-server is offered from XiGraphics. At ftp://ftp.xig.com/pub/3Ddemos youcan obtain the X-server demos with a ten-minutetime limit for both models. Using this the Q3-demo runs and delivers 22 or 19.7 fpsrespectively. The full version costs 129 dollars butwith the notebooks device costing just around£2,500 or over £3,750 respectively, this shouldnot be an issue!

Problematic Irda

Getting the infrared port up and running was a realheadache. According to findchip the irda-utils inthe Tecra 8100 is an SMC chip, while it was unableto determine that of the Satellite Pro. Weanticipated Toshiba's own-make FIR chips beinginstalled in both. Whatever the case may be,neither the smc-ircc- nor the toshoboe modulecould be made to run.

Since it was also impossible to activate anemulation as serial interface we gave up after twodays and rated the IR port in the style of the Linuxlaptops sites as "unsupported".

TV output

There were no problems with the composite TVoutput of both devices – 640x480 and 800x600were displayed without demur although at1024x768 only the top left corner is displayed. Thesignal format can be changed in the BIOS,something which is activated by pressing the [Esc]key when switching on. Unfortunately we wereunable to achieve simultaneous operation of TV anddisplay and all in all, the TV picture was not great –the first character of every line disappeared on thetext console and the whole picture is too fartowards the top right of the screen.

Another problem occurred when switching fromthe graphical interface to text mode which involvedchanging to the internal display and then to the TVset, in order to get a stationary image again.

Conclusion

We very much liked the keyboards of both devices.One very good point is that there are accelerated X-servers for both notebooks and all in all the graphicschipsets may set any new benchmark records butthey are adequate for short gaming experiences.The processing power in both devices is excellentand the hardware – apart from the Irda portsanyway – we found to be fully supported.

The big drawback is the price. Both notebooksare far more expensive than their counterparts and,we reckon, verge on unaffordable unless you havevery deep pockets indeed. No only that but we havecomplaints that we shouldn't have with machinesof this calibre, such as the quality of both displays –the lower corners of the image show a markedlypoorer brightness than the rest of the display.

It is also interesting that Toshiba has installedits own SD-RAMS in the Tecra 8100 but the harddisk is bought in from competitor IBM despiteToshiba itself being one of the biggest hard diskmanufacturers in the notebook sector. Consideringthe two notebooks are similarly specified, theSatellite Pro 4300 would be our choice but theTecra is simply too expensive to warrantconsideration. ■

Not quite so obvious is thelittle catch under the switch

on the Satellite Pro 4300.

Page 37: Linux Magazine UK 005

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 45

The Vaio series from Sony is well-known for itscompact construction coupled with highperformance. Even if Sony has no ambitions atpresent to supply devices with Linux pre-installed, theykindly sent us the brand-new Vaio PCG-Z600 TEK.

The differences between the new TEK modelrange and the somewhat elderly NE- and RE-devicesare marginal. The vast number of postingspublished on Ken Harker's Linux laptop sites thusalso apply to a great extent to the TEK range. Infact, Sony has only dispensed with the infrared portand also the NeoMagic graphics chips have beenreplaced by an ATI Rage Mobility.

Problem-free X-configuration

No special steps are necessary for X11 installationand the standard SVGA server functions perfectly.

Once we had booted either from the USB diskettedrive or PCMCIA CD-ROM, the SuSE installation andthe subsequent X-configuration progresseduneventfully.

The Ethernet card was correctly recognised aseepro100 and installed easily. SuSE 7.0 also had adriver ready and waiting for the Yamaha DS-XGWDM Audio Codec although there were a fewproblems here. Why aplay hangs when testing thecard and always plays the same chord was not clearand after the fourth test we saved our ears with adummy-plug in the headphone socket. Other waveplayers also refused to comply and sometimes cameup with nothing but noise.

The modem was recognised as a ConexantSoftK56 although was a hopless case, just as withIBM, HP and Wortmann before it. Unusual but veryclever was the fold-out modem socket placed on

SONY VAIOPCG-Z600 TEK

Page 38: Linux Magazine UK 005

COVER FEATURE NOTEBOOK GROUP TEST

46 LINUX MAGAZINE 5 · 2001

the back right-hand corner where the modem leadis inserted at an angle of 45 degrees.

Attractive Design

The design of the Sony Vaio is definitely appreciableeven if violet is not necessarily everyone's favouritecolour. Rare for notebooks but standard for Sony isthe 12-inch display with 1024 x 768 pixels. Anyonewith good eyesight (or at least a good optician) willnot want to settle for anything less than thesharpness and clarity of this display.

The keyboard is also good and though the flat-as-a-pancake notebook is only 3.1 cm high, the keylift is adequate. However, you perhaps wouldn'twant to hack around on it for hours at a time. Theonly real point of criticism is that there is no offsetcursor block and the functions Home, End, PgUpand PgDn can only be accessed via the [Fn] functionkey, so both hands are needed for scrolling.

The touchpad with two buttons is also violet incolour but is easy to use, even with damp fingers.The mouse acceleration was a bit low although wewere able to correct this in the KDE control centre.

Miniature battery

The battery was also born under the sign ofcompactness and at 1400 mAh is very small. It actsas the upper keyboard closure which means thatwithout the battery, the Vaio's case has a large hole.Next to the battery are the somewhat smallloudspeakers which, nevertheless, still soundacceptable. With respect to sound, we found thatwhilst there's a line output on the external CD-ROM, the Vaio itself has none.

The one available CardBus slot, controlled bya Ricoh RL5c475 chipset, does somewhat limitexpansion options because this is where the CD-ROM connects. The cards stayed at 34 degreesCentigrade although this was measuredindirectly at the ActionTec modem, which ranpleasantly cool.

The Vaio has a Firewire connector, two USB portsand a slot for Memory Sticks. The traditional portsfor monitor, printer and serial devices, together withan additional USB- and firewire port, are located onthe port replicator which Sony also delivers. There isno PS/2 connection for keyboard and mouse nor forIrda. For USB operation we had to change thesetting in the BIOS under Advanced for Plug & PlayOS to No , after which the usb-uhci module loadedwith no problems.

Firewire stays cold

The firewire ports, referred to by Sony as ilink butknown to the rest of the world as ieee1394, couldnot be tested simply because we didn't have afirewire peripheral. The same applied to the slot forthe Memory Sticks. Anyone who is seriouslyinterested in these topics might like to take a look atthe Linux laptops sites and the Firewire sites athttp://linux 1394.sourceforge.net. However, atpresent the XCD-3222 hardware used by Sony isshown as not supported.

On the other hand there were no problems withpower management – at the push of a button theVaio Z600 goes to sleep from the text console justas under X and in both cases it was brought back tolife with no problem.

Conclusion

The Sony Vaio PCG-Z600 TEK is the not far frombeing the paragon of notebooks, and, due to itslightness, it's especially suitable for those who traveloften and do not wish to carry around a three-kilolump of plastic and circuit boards. However, the verysmall battery and the power hungry Pentium III (700MHz) allow for very brief periods away from mainssockets so the power supply should really becalculated into the travelling weight. Linux supportis good with only the sound problems caused a littledoubt. It's also a pitty that no modem driver isavailable because otherwise the Vaio woulddefinitely have come out near the top of our list.

But what is truly deplorable is that Sony is notmaking any preparations to offer devices with Linuxinstallation. However, that doesn't stop otherstaking the lead – one front-runner in this field is thelaptop specialist Walter Heuser, from whom one canobtain, for example, the predecessor model Z600NE with pre-installed Linux at http://www.xtops.de.■

Sony Vaio PCG-Z600 TEK(+) attractive design

(+) 12-inch display with XGA

(+) lightest device in the test

(-) problems with sound card

(-) modem not supported

(-) tiny battery

The price of compactness – thereis only one CardBus slot available

which is already taken up withconnecting the CD-ROM.

Page 39: Linux Magazine UK 005

Fresh from the SuSE certification lab, the Wortmann TerraAura A74 LD was the only device to arrive with Linux pre-installed. The oddly metallic-looking case is actually madeof plastic but nevertheless looks very elegant and hasnothing to fear from comparison with other notebookssuch as the Lifebook E-6560. As is representative of thehigh-end category, the diskette drive and 8x DVD-ROMare permanently fixed in place and cannot be removed.

Ethernet socket for modem

An inventory of the ports brought a bit of a surprise.In addition to the usual ports, we found anapparent Ethernet port in the form of an RJ45socket. However, this turned out to be a modem

port. Wortmann was unable to say why there wasan RJ45 socket instead of the RJ11 normallyprovided for modem ports. A version of thenotebook with Ethernet capabilities instead of themodem does not exist, which is fairly odd.

The keyboard is rectangular and has no offsetcursor block. The space bar is pleasantly large andthe left Shift key is fairly big. On the other handthough, Wortmann has unusually positioned the keyfor the pointed brackets on the left next to thecursor keys. The typing feel was very comfortableoverall and the keys are mounted so as to move onlyslightly and have a soft feedback. As with theLifebook, in the Terra Aura a touchpad with twomouse keys has been installed beneath the key field.

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 47

WORTMANNTERRA AURA

A74 LD

Wortmann Terra Aura A74 LD(+) certified for Linux

(+) hardware almost fully supported

(-) no modem support, no Ethernet

(-) CardBus slots too hot

Page 40: Linux Magazine UK 005

COVER FEATURE NOTEBOOK GROUP TEST

48 LINUX MAGAZINE 5 · 2001

Dell Latitude C600

Just before we went to press, the Dell Latitude C600 arrived by express courier. Itis equipped with a Pentium-III (750 MHz) and 128 MByte RAM and counts amongthe so-called 'ultraportable' class. As a special feature, it has two front slots – inthe right one you can insert a CD-ROM drive, a DVD-ROM, a second battery or adiskette drive, as you choose. The left-hand slot is reserved for the main battery. Afully-functioning second drive slot would be very interesting, like the one thereused to be years ago in the Scenic Mobile series from Siemens. This let peopleaccommodate two drives at once if one were working in an office, for example.It has to be said that due to the very short time available we were unable totest the notebook with the detail used elsewhere, so you will only find heresome first impressions from a brief test.The unknown infrared port turned out to not be a problem after all. After akernel patch was sought and found, the irda-utils could be started without

demur and the Nokia 6210 was specified in the list of accessible devices. The ESS 1983S Maestro-3i sound card was correctly detected by YaST2 but SuSE did not supply an appropriate driver. Weinstalled – as with the Wortmann Terra Aura and HP Omnibook – the Maestro-3 module from Zab Brown and were thus ableto activate the sound card without any problems.Network card and modem in the Dell Latitude C600 are located on a mini-PCI plug card. The 3com chips installed there wererecognised in the SuSE standard installation but because of a limited timeframe we could not look for a suitable driver.Posing more of a problem was the ATI Rage Mobility M3 – unlike the Mobility P/M present elsewhere in the test, this did notrespond to the SVGA server and came up with a few oddities, mainly in connection with the framebuffer support. We willhave to go into this, too, in more detail, before we can give a well-founded judgement. One big fat plus to finish off is that the Latitude was the only device able to call up the BIOS set-up via function key both intext mode and under YaST2 and then to return without a problem. And the suspend function worked without complaint.We will bring you the whole test report in one of our upcoming issues, together with other latecomers from Gateway, Appleand Fujitsu-Siemens.

Linux Installation

Naturally although this is a preinstalled machine,we were keen to look at the course of a typicalinstallation, this notebook being certified bySuSE. At this point it's worth taking a look at thesmall print of the certificate, as it includesrestrictions with respect to the X-server andsound card. As there is an S3 Savage MX in theWortmann Terra Aura, the patched X-server isneeded, as we also used in the Toshiba devicesand the HP Omnibook. Accordingly, we leftYaST2 without having installed X. Also, the driverfor the sound card is still brand-new and weused, as with the HP Omnibook, the Maestro-3sound driver from Zab Brown, still in the Alphastage, which can be found athttp://www.zabbo.net/maestro3.

ESS Modem

No driver of any kind could be found for thebuilt-in modem with ESS-1989 chip so we canonly hope that Ensoniq will soon remedy this.Maybe Wortmann can check just once morewhether it might be possible to supply anEthernet card instead of the modem.Nevertheless, the infrared port is immaculate andafter the obvious adjustments it was installedwithout any problem.

CardBus

The Terra Aura also contains the popular Ricoh RL5c476 CardBus controller which, like most others, took20 seconds for the initialisation of our PCMCIA harddisk. Unlike the Lifebook E-6560 the CardBus slots hereare a bit further away from the main air vent but thecards still heat up to almost 50 degrees and at higherexternal temperatures could certainly get damaged.

Conclusion

In principle at least the Wortmann Terra Aura is aLinux laptop and in a few months, when theMaestro-3 driver and the patched X-server areincluded in the distributions, there won't even be anymanual work involved in configuration. Only the ESSmodem somewhat spoilt the overall impression. Wehad no problems worth mentioning otherwise – eventhe TV output could be wired up without complaint(up to 800x600 pixels). At higher resolutions, as withthe Toshibas, only the upper left corner is visible.

Wortmann deserve huge praise for taking thetrouble to get SuSE certification, even if it not yet quite"Ready for SuSE Linux 7.0". This clearly shows that atlast one manufacturer is taking Linux users seriouslyand offering its devices with Linux. The Terra Aura isonly just becoming available in the UK and Wortmann,which is a German company, advise you to enquirewith your local notebook dealer about availability. ■

Good news: Many notebooks alreadyhave two USB ports. The Wortmann

Terra Aura unfortunately, needs a specialplug for the TV connection.

Page 41: Linux Magazine UK 005

We actually asked IBM for one model each from the A-,X- and the i-series but Big Blue delivered a ThinkPadi1200 to our labs. According to their own advertisementsthis is "optimised for Internet". Fair enough!

Installation

As the device has no disk drive, there was no need torepartition the hard disk as with the other test devices.

SuSE-Linux was booted from CD courtesy of thepermanently integrated 24x CD-ROM drive. YaST2then started, surprisingly, in text mode. Reverting toWindows, we first made an inventory of the driversinstalled at which point we learned the graphicschip was a Silicon Motion LynxEM+.

The installation of Linux was attempted againwith the surprising result that the graphicssubsystem could be used with the XF86_SVGAserver. At the end of the second Yast2 run, theCrystal WDM Audio Codec also ran.

The small 800x600 pixel 12.1 inch TFTdisplay failed to blow our socks off, either underLinux or under Windows. Elsewhere in the testonly the Sony has an equally-modest diagonal –on the other hand, though, it does weigh awhole kilo less with a resolution of 1024x768.

The Intel Celeron 500 MHz is also the slowest inthe our test. As if to confirm this, in the course ofthe our tests, PovRay rendered the image on theIBM's in a very leisurely fashion.

No connection ...

IBM gave this ThinkPad a parallel port for the printer andtwo USB connections which can be operated with Linux.Otherwise they've been fairly skimpy with regard to theports – there is neither a serial nor an Irda. The situationis aggravated by the fact that the internal modem isunusable because the modem chip turned out to be anIntel 7196 which is unsupported within Linux.The scope of the device for the Internet is thereforehighly questionable. But hold on – there are fourspecial keys for Mail, Shopping, Searchand Home.But these are inoperable within Linux.

However, if you're lucky enough to have a LANor ADSL internet connection then you're also out ofluck – as a device at the bottom of the range, thei1200 has no Ethernet socket.

Ergonomics

Unlike the mediocre graphics, there is also somepositive news about the human interface devices –the keyboard is stable, has a pleasant lift andperceptible pressure points. Because of the cursorblock being offset at top right and the functionalmouse replacement, it is possible to work on theThinkPad almost like on a standard PC.

Conclusion

For such a low price one can't expect miracles. Butup-to-date components which function underLinux is not asking too much. The IBM alsodisappointed us with an outmoded processor and asmall display.

We also suspect that even IBM aren't keen onthis notebook. An call to the order hotline to get theprice had the sales clerk ask us to confirm threetimes if the performance of this device was reallyadequate for him.

The fact that in the test there were also systemcrashes and graphics errors when switchingbetween text console and X was annoying, and wasthe cherry on the cake of an unsatisfactory overallimpression. We would really have preferred a devicefrom the A- or X-series which we suspect wouldhave done better. ■

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 49

IBM THINKPADI1200

IBM ThinkPad i1200, Model 1161(-) no IRDA

(-) crashes under X

(-) obsolete hardware

(-) overall, too high a price

Last thoughtsThis test was a far more positiveaffair than we expected. In thecase of XFree86, which was ourmain worry, just the fact thatthere is an X-server whichworks counts as a success.However, all the devices ran atmaximum resolution and colourdepth with most even fullysupporting the TV output. Another pleasing discovery wasthe 3D-accelerated X-servers forthe Tecra 8100 and Satellite Pro4300 from Toshiba. Let's hopedevelopment of these willcontinue. But the greatest surprise is thatalthough most notebooks areequipped with the LucentWinModem chipset which, afterthe linux/include/linux/tty.h patch,worked without any problems.Lastly we must plead with allnotebook owners who arerunning Linux – the "Linux onLaptops" project relies on thesupport of Linux laptop users. Abrief listing of the hardware ofindividual devices, perhaps withan indication of what youpersonally have got working, willmake a welcome contributionand further the cause.

Page 42: Linux Magazine UK 005

The truly huge HP OmniBook XE3 comes in astriking suitcase design with offset and roundedcorners made of a softer plastic material than therest of the housing. This enables them to work veryeffectively as corner protectors.

Self-sufficient CD Player

The CD player in the HP OmniBook can be operatedwhen the device is switched off, courtesy of theround slider. In the multifunction display you canthen view the track number and playing time, alongwith the date, time and the remaining capacity ofthe battery expressed as a percentage.

Keyboard and touchpad are generously designed withboth the cursor functions and the cursor blockprotruding from the otherwise flat plane of the keys.The Internet keys arranged around the central sleepbutton cannot be detected under Linux as they do notsupply a scan code. The keyboard has a number of othervices too. The key repetition rate, at some 5 charactersper second, is much too low, and the keyboard feel istoo soft which makes for a lot of typing errors.

The internal microphone lies in the middleabove the keyboard while the powerfulloudspeakers are recessed on both sides of the CDpanel in the front. Acoustic feedback is rarely goingto be a problem here.

COVER FEATURE NOTEBOOK GROUP TEST

50 LINUX MAGAZINE 5 · 2001

HEWLETTPACKARD

OMNIBOOK XE3

Page 43: Linux Magazine UK 005

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 51

HP OmniBook XE3(+) self-sufficient CD player

(+) "suspend to disk" functions

(+) low price

(-) Ethernet and modem not usable

Even without Windows by nomeans superfluous: Behind thisdisplay and the operating keyslies a self-sufficient CD player.

Infos:

Linux on Laptops, comprehensive collection of links by Ken Harker with hundreds of referencedlaptop sites and many useful hints, tips and tricks: http://www.cs.utexas.edu/users/kharker/linux-laptop/From the Linux-Mobile-Guide via individual experience reports and a hardware compatibility listto PDAs or activation of mobile telephones – on the Web pages of Werner Heuser you can findlots of useful information on using Unix on portable devices:http://www.mobilix.org/The sites of the Linux Irda Project and the URL of the FTP server, on which you will find the Irda-Utilities: http://irda.sourceforge.net/ftp://irda.sourceforge.net/pub/irda/irda-utils/Linux-WinModems-Support, where the Lucent-LT-WinModem driver as used in the test is availablefor download: http://www.linmodems.org/http://www.linmodems.org/linx565a.zipLinux PCMCIA Information Page with lists of supported PCMCIA- and CardBus-add-ons:http://pcmcia-cs.sourceforge.net/[email protected] is the Linux Laptop Mailing list, forum for all questions about Linuxon laptops. To register, just send a message to [email protected] with the contentsubscribe linux-laptop.

The fan is a bit intrusive with its cooling phaseslasting only a few seconds and causing a howlingnoise. On the other hand it does keep the devicecomfortably cool with a maximum of 43 degrees atthe CardBus slots. The CardBus controller is theTexas Instruments PCI 1420 which, as in the 1450 inthe Compaq Armada, took 20 seconds to initialiseour PCMCIA hard disk. Disk drive and DVD-ROMare built-in.

Unfortunately Linux compatibility is not ideal.The ESS 56CMV-PI modem and the Accton EN2242Ethernet card are on the same expansion card.While we were unable to find any driver for thewinmodem right after we had sent back the HPOmniBook a patched Tulip driver was released. Asthe description on the Linux laptop page says itshould support the Accton Ethernet card of theOmniBook XE3. To get the proof HP will sent us thenotebook again, we will report in one of the nextissues about our experiences, together with thelatecomers from Dell, Apple & Co. We also had topass on the TV output. But on the other hand theinfrared port worked because a serial emulation isoffered and the port is thus recognised as a normalserial port.

Sound problems

The Allegro-1 sound card would only work with theMaestro-3 sound driver from Zab Brown which isstill in the Alpha stage (and can be found athttp://www.zabbo.net/maestro3).

Like the two Toshibas and the Wortmannnotebook, the OmniBook also has an S3 Savage MXgraphics chip. Unfortunately there is no hardware-accelerated server for the OmniBook so thepackages designed for the Satellite Pro and Tecra byXi Graphics do not function.

Conclusion

Assuming the Ethernet driver is working well the HPOmniBook XE3 is a good choice. Especially the lowprice makes this notebook interesting to lowbudged buyers who are normally forced to do withno name products. Compared with the rarelycheaper IBM ThinkPad i1200 the HP is the betterchoice. But even if it turns out that Ethernet is notworking with the new driver, anyone owning thisdevice should not immediately shy away from Linuxas the most important functions can still be used. ■

Page 44: Linux Magazine UK 005

COVER FEATURE NOTEBOOK GROUP TEST

52 LINUX MAGAZINE 5 · 2001

All the notebooks at a glance

Manufacturer, Model, Compaq Fujitsu-Siemens Acer TravelMate Hewlett Packard

Name Armada M700 Lifebook E-6560 737 TLV OmniBook XE3

Category: Ultra-Portable Ultra-Portable High-End High-End

Processor: P III SpeedStep P III SpeedStep P III SpeedStep P III SpeedStep

700 MHz 700 MHz 700 MHz 700MHz

Memory [MB] (Slots/free) 64 (2/1) 128 (2/1) 128 (2/1) 64 (2/1)

Hard disk [GB]: 11.5 7.6 17.3 9.6

Diskette drive: external/Insert internal internal

plugable/parallel port

CD-ROM: - 24x/Insert - -

DVD-ROM: 8x/Insert - 8x/Insert 8x/internal

Drives open sideways: yes yes yes yes

Expansion slot for drives/ yes/yes yes/yes yes/yes none

usable for second battery

Connections: PS/2 / serial / parallel / Line +/+/+/- +/+/+/+ +/+/+/+ +/+/+/-

USB / IRDA / TV +/+/+ +/+/- +/+/+ +/+/+

Docking-Port/external drives +/- +/+ +/- +/-

Display:Type/size [inches] TFT/14.1 TFT/14.1 TFT/15 TFT/14.1

Usable angle [degrees] 152 201 141 187

Even colour/brightness distribution yes/no yes/yes no/yes yes/yes

Keyboard: Offset cursor block yes no yes yes

All Cursor functions without [Fn] yes yes no yes

Loudspeaker covered when typing yes no no no

Mouse Type/buttons Trackpoint/3 Trackpad/2 Trackpad/4 Trackpad/4

Battery:Type/voltage [V]/capacity [mAh] LiIo/14.8/3200 LiIo/10.8/3600 LiIo/11.1/5400 LiIo/11.1/5400

Accessories: yes no yes no

Special power cable for PSU

Modem-/Ethernet-cable/video-adapter +/+/- +/-/- +/-/- +/-/-

Preinstalled operating system / Media Win98/none Win98/Recovery CD Win98/Recovery-CD Win98/none

Graphics chip ATI 3D Rage ATI 3D Rage ATI 3D Rage S3 Savage MX

Mobility P/M Mobility P/M Mobility P/M

Memory [MB] 8 8 8 8

Modem chip (useable) Lucent LT Lucent F1156 IV Lucent LT ESS ES56CVM-PI (-)

WinModem (+) WinModem (+) WinModem (+)

Ethernet chipset (useable) Intel EtherExpress none IIntel EtherExpress Accton Tech EN 2242 (-)

Pro 100 (+) Pro 100(+)

Sound chip (useable) ESS 1978 Maestro 2E (+) ESS 1978 Maestro 2E (+) ESS 1969 Solo-1 (+) ESS 1988 Allegro-1 (+)

PC Card chipset: TI PCI 1450 Ricoh RL 5c476 O2 Micro 6832 TI PCI 1420

CardBus slots: 2x Type II or 1x Type III 2x Type II or 1x Type III 2x Type II or 1x Type III 2x Type II or 1x Type III

CardBus cover: dummy card spring shutter spring shutter spring shutter

IRDA chipset (useable) not recognised (+) not recognised (+) NSC PC87338 (+) SMC FDC37N869 (+)

TV-output connection: Composite none SVHS/SVHS Composite

Usable / simultaneous to display yes/yes not usable not usable

max. viewable resolution 1024x768

Power off/sleep/suspend to disk usable yes/yes/no yes/yes/no yes/yes/no yes/no/yes

Usable on text console/under X11 yes/no yes/no yes/yes yes/yes

Width/depth/height [cm] (weight [kg]) 31.5/25/3.4 (2.65) 30.8/26.2/3.6 (2.85) 32.5/26.5/5.3 (3.3) 33.2/27/4.3 (3.3)

Noise level [dB(A)]:normal/CD or DVD 41/46 46/52 32/39 47

Temperature [°C]: Underside/keyboard 41/39 45/39 46/39 41/35

Temperature [°C]: card slot 30 49 49 43

Temperature [°C]: Main air vent 58 48 50 33

Guarantee/spare parts warranty [months] 36/60 36/60 36/60 12

Market launch: May-00 Oct-00 Sep-00 Aug-00

Price [approximate UK£]: 2,375 2,250 2,825 1,575

Page 45: Linux Magazine UK 005

COVER FEATURENOTEBOOK GROUP TEST

5 · 2001 LINUX MAGAZINE 53

Toshiba Satellite Toshiba IBM ThinkPad Wortmann Sony Vaio

Pro 4300 Tecra 8100 i1200 (1161) Terra-Aura A74 LD PCG-Z600 TEK

High-End Ultra-Portable Starter model High-End Ultra-Portable

P IIISpeedStep P IIISpeedStep Mobile Celeron P III SpeedStep P IIISpeedStep

700 MHz 750 MHz 500 MHz 700 MHz 700 MHz

64 (2/2) 128 (2/1) 64 (1/1) 128 (2/1) 128 (?/?)

11.5 18.6 5.59 19 19

internal external/Insert - internal external

plugable/special port plugable/USB

- - 24x/internal - 16x/external/PCMCIA

6x/internal 6x/Insert - 8x/internal -

no yes yes yes none

none yes/yes none none none

+/+/+/- +/+/+/- +/-/+/+ +/+/+/+ -/+/+/+

+/+/+ -/+/+ +/-/- +/+/+ +/-/-/Firewire

+/- +/+ -/- +/- +/-

TFT/14.1 TFT/14.1 TFT/12.1 TFT/14.1 TFT/12.1

179 162 203 177 203

yes/no yes/no no/no yes/yes yes/yes

no no yes no no

yes yes yes yes no

no no no no no

Trackpoint/4 Trackpoint/4 Trackpoint/3 Trackpad/2 Trackpad/2

LiIo/10.8/4000 LiIo/10.8/4500 NiMH/9.6/4500 LiIo/14.8/3300 LiIo/14.1/1400

no no yes no no

+/-/- +/-/+ +/-/- +/-/+ +/-/-/USB-Adapter

Win98/Recovery-CD Win2000/RecoveryCD Win98/Recovery-CD SuSE Linux 7.0 Win2000/Recovery-CD

S3 Savage MX S3 Savage MX Silicon Motion S3 Savage MX ATI 3D Rage

LynxEM+ Mobility P/M

8 8 8 8 8

Lucent 56k Lucent 56k Intel 7196 (-) ESS 1989 WinModem (-) Conexant SoftK56 (-)

WinModem (+) WinModem(+)

none none none none Intel EtherExpress

Pro 100 (+)

Yamaha YMF-744B (+) Yamaha YMF-744B (+) Crystal WDM (AC-97) (+) ESS 1988 Allegro-1 (+) Yamaha DS-XG WDM

Toshiba ToPIC95 Toshiba ToPIC95 O2 Micro OZ6812 Ricoh RL 5C476 Ricoh RL 5C476

2x Type II or 1x Type III 2x Type II or 1x Type III 2x Type II or 1x Type III 2x Type II or 1x Type III 1x Type I

spring shutter spring shutters spring shutters spring shutters dummy card

Toshiba F IR Port Type-DO (-) SMC FDC37N869 (-) none NSC PC87338 (+) none

Composite Composite none Composite/Special none

yes/no yes/no yes/no

800x600 800x600 800x600

yes/yes/no yes/yes/no yes/yes/no yes/yes/no yes/yes/no

yes/yes yes/yes yes/yes yes/yes yes/yes

31.3/26.7/5 (3.05) 32/25.5/4.4 (3.2) 31/24.5/4 (2.65) 31/25.7/4.4 (3) 27.8/22.3/3.1 (1.65)

47/49 34/39 40/40 47/50 46/-

41/31 40/32 38/34 41/34 43/35

35 46 38 49 34

46 55 44 41 46

Dec-60 36/60 12/- 36/60 36/-

Oct-00 Oct-00 2000 Feb-00 Jun-00

2,500 3,925 1,350 2,125 2,200

Page 46: Linux Magazine UK 005

A lot has been going on in the market for Linuxdistributions for PPC over the past few years.Besides SuSE – the newcomer to the PowerPCdomain which, with SuSE Linux 7.0 PowerPCEdition, has now released its second PowerPC Linuxversion – we have tested LinuxPPC 2000, YellowDog Linux Champion Server 1.2 and Debian Potatofor PowerPC. Red Hat and Mandrake don't yet offerversions for PowerPC-based systems.

Hardware

Support for PowerPC systems isn't totallystraightforward for those offering Linuxdistributions. In the six years that have elapsed sincethe introduction of the PowerPC 601, manymanufacturers have produced PPC-based systems.Most of those are no longer on the market. Apartfrom the well-known PowerMacs from Apple and

diverse clones from Motorola, PowerComputingand UMAX, RS/6000 systems from IBM,PowerStack-, MTX- and MVME systems fromMotorola, Escala- and Estrella-systems from Bull andthe BeBox are equipped with PowerPC processors.

There are also some PowerPC-based cards forinstallation in Amiga computers. Support for at leastfive different bus systems (PCI, ISA, Microchannel,VME, Zorro-Bus), six processors (not including theembedded PowerPC processors), four differentconnection options for input devices like keyboardsand mice (PS/2, ADB, USB, serial) and three differentconnection systems for mass storage (SCSI, IDE,FireWire) would be necessary in an ideal PowerPCLinux distribution. Let's get one thing out of theway – there's no such thing as a perfect distribution.But you didn't seriously expect one, did you?

Even for a passionate collector of computers it'shard to get hold of all the systems supported by the

ON TEST LINUX ON PPC

54 LINUX MAGAZINE 5 · 2001

Linux distributions on PowerPC systems

POWERTO THE

PENGUINS!MICHAEL ENGEL

Owners of PowerPC

systems are spoilt for

choice. Linux is an

interesting alternative

to the operating system

usually provided,

whether it's AIX, BeOS

or MacOS. We give an

oyverview of the

distributions available

on the market and test

their compatibility

with various PowerPC

systems.

Page 47: Linux Magazine UK 005

various distributions for a test. Yet we did manage todrum up at least one example of each of the availablecomputer platforms and to test the availabledistributions on them. All the tested models are listedin Table 1. A BeBox and an Amiga equipped withPowerPC were unfortunately not available.

Distributions

The various distributions came in a wide variety ofpackages. Yellow Dog came in a smart bag withroom for CDs and documentation; SuSE 7.0 PowerPCEdition came in the usual SuSE carton; LinuxPPC2000 sent CDs and the manual and Debian camedirect from the ftp-server onto a blank CD.

Debian

The CD-ROMs withDebian 2.2 Potatofor PowerPC areavailable

commercially; for the sake of simplicity, though, Iburned the ISO images direct from the ftp-serveronto blank CDs. On the three CD images there arepretty well all the programs found in the x86 versionof Debian, none of which resisted compilation ontoPowerPC too strongly.

Boot support comes in the form of bootdiskette images for CHRP-, PReP-, APUS- andPowermac systems. Macs can also be booted viayaboot. For BootX, unfortunately, there is nosupport to be found on the CDs. According to thePPC port websites Debian has so far been testedon very few systems. However, experience showsthat a large number of systems can be made torun with a tolerable amount of time and effort.Otherwise Debian on PowerPC doesn't differsubstantially from the x86-version (which ofcourse is the whole idea).

The story of the porting of Debian to PowerPCis really interesting. It started at the 1997 LinuxCongress in Würzburg (yes, like so many

developments in the fieldof Linux, this one alsobegan in Germany) wherea generous benefactorgave the Debian project aMotorola StarMax 4000(a Mac-compatible system

by Motorola. The computer is still in use today byMartin "Joey" Schulze as an automatic packagebuild daemon, that is, a machine whichautomatically constructs Debian packages for allnew source files. So the origins of Debian forPowerPC lie in the first Linux version available forPowerMacs – the Developer Release of MkLinuxfrom Apple. The poor Debian maintainers thus hadto fight their way through all the ups and downs ofPowerPC Linux development (glibc 1.99, compilerproblems etc.).

Since BootX isn't supported, Debian is not a systemfor beginners – there isn't even a graphical installationtool available. But anyone used to Debian on the PC willvery quickly get used to a PowerPC with Debian.

LinuxPPC 2000

LinuxPPC 2000 arrived ontwo CDs and with a manualof just under 130 pages.The manual was compiled

from information taken from various FAQs andHOWTO documents which are mostly found athttp://www.linuxppc.org . The manual, which hasexcellent screenshots, explains the installationmainly for Mac users, but isn't short ofinstructions for using ftp under MacOS. The Linuxbeginner is given a brief introduction to basicfilesystem construction under Linux as well as themost important shell commands. For any moreadvanced help, though, go to the mailing lists athttp://lists.linuxppc.org and a list of additionalURLs. In the annexes to the manual there areinstructions on the use of OpenFirmware, diskpartitioning with pdisk and fdisk and installationon non-Apple PowerPCs (BeBox, CHRP and PReP-systems).

LinuxPPC 2000 can now be booted from theCD on PowerMacs. The system structure is RedHat-based, but the installer takes the form of aPerl-Tk script (as an option a text-based installeris also available). Installation is done in severalsimple steps (making the filesystem, roughselection of the packages to be installed, settingthe root password and starting the installationprocedure), during which the completeinstallation environment is loaded on a RAM disk(including the framebuffer X-server). On PReP-and CHRP-systems a boot diskette must first be

ON TESTLINUX ON PPC

5 · 2001 LINUX MAGAZINE 55

Table 1: Tested modelsManufacturer Model EquipmentApple PowerMac G3 blue/white G3/300, 192 MB RAM, 6 GB IDEApple PowerMac G4 G4/400, 64 MB RAM, 10 GB IDEApple PowerBook G3 "Wallstreet" G3/250, 13.3" TFT, 96 MB RAM 10 GB IDEIBM RS/6000 B50 PPC604e/375, 1 GB RAM, 2x18 GB UW-SCSIIBM RS/6000 43P Model 120 PPC604/120, 48 MB RAM, 1 GB SCSI HDMotorola PowerStack PPC604/120, 64 MB RAM, 2 GB SCSI HDMotorola MTX+ PPC604/400 MHz, 64 MB RAM, 4 GB SCSI HDMotorola MVME 2700 G3/367 MHz, 256 MB RAM, 2 GB SCSI HD

The heart of the testedsystems: PowerPC CPUs

Page 48: Linux Magazine UK 005

created for installation via dd or the DOSprogram rawrite.exe.

We were amused by the following sentence inthe manual: "If you chose to install KDE instead ofGNOME, you'll have the GNOME desktop. Thisworks very much like GNOME, but looks slightlydifferent". Hmmm.

The future of LinuxPPC?

Shortly before finishing this article we wereinformed that a new Beta version of LinuxPPC wasavailable: LinuxPPC 2000 Q3. Along with thisannouncement LinuxPPC.com published astatement that Q3 would be the last LinuxPPCrelease and after that they will be concentrating onother areas of business, whatever that might mean.So there's still something to look forward to.

SuSE Linux 7.0

SuSE's PowerPC Edition is thelatest representative ofPowerPC Linux distributions.

Following 6.4, this is SuSE's second PowerPC release

and is supplied along witha manual of the usual SuSEquality having some 530pages. The manual is – asto be expected – the x86version adapted forPowerPC. For newcomers,the section on thepreparations for installation

on various PowerPC-based systems is, in ouropinion, a bit brief – a little over half a page in eachcase for installation on CHRP- and Motorola PReP-systems respectively would surely save a fewquestions to the hotline (which by the way isavailable free for 60 days with the PowerPC version).

Incidentally, there is no distinction between"Professional" and "Personal" versions in thePowerPC edition. The PowerPC version is similar(apart from unavailable commercial packages,which unfortunately includes StarOffice) to the x86version. A few additional programs, such as perhapsthe virtual MacOS machine mol (Mac On Linux) arealso provided.

Installation of SuSE is generally accomplishedusing yast2, which normally runs on a framebuffer-based X-server. Users familiar with SuSE on othersystems are going to feel right at home. OurPowerBook G3 Wallstreet acted (while equippedwith SuSE 7.0 PowerPC Edition Release Candidate5) as presentation computer and applications serverfor a web server training course. Booting of thesystem can be done on Macs either using BootX oryaboot, so beginners aren't encumbered with thecryptic OpenFirmware. The CD is also bootable onPreP-systems like the Motorola MTX, but for CHRP-systems like the RS/6000 B50 a boot diskette needsto be created.

The installation of SuSE went smoothly, quicklyand simply on all the machines tested. The onlyproblem which arose was that the MatroxMillennium PCI-graphics card integrated in theMotorola MTX+ would only run unaccelerated.Otherwise the automatic hardware recognitionfunctioned impeccably. But there is still one problemwith PCMCIA cards. More on that later.

SuSE gives the positive impression that they havegone to the trouble of getting all possible drivers(mostly for PCI cards) on PowerPCs to co-operate. Sofor example diverse PCI-ISDN cards, Ethernet cards anda BT848 framegrabber card all run under SuSE 7.0.Unlike SuSE 6.4 there is even an accelerated X-server.With SuSE one can safely presume that installation ona Mac will be no more difficult than on a PC.

Yellow Dog Linux

With Yellowdog Linux ChampionServer Version 1.2 TerraSoftSolutions has released the thirdversion of its Linux distribution for

PowerPC systems. The marketing department at

ON TEST LINUX ON PPC

56 LINUX MAGAZINE 5 · 2001

IBMs B50s can easily be stacked into a cluster system

Page 49: Linux Magazine UK 005

TerraSoft has dreamt up a real plus for this distribution:YDL comes in a chic black and yellow bag whichcontains a ring binder holding the 80 pagedocumentation and three CD-ROMs.

Yellow Dog has gone to a lot of trouble to give aclear description of the options for booting usingOpenFirmware. Despite the manual which has beenkept really short (despite a lot of very sparsely-printed pages) there is room for such details. Inother words, you'll learn something!

Yellow Dog's installer is text-based and familiarfrom older versions of Red Hat Linux. The wholething is Red Hat 6.2-based. Given today's penchantfor graphical installers this looks a bit antiquated,but it doesn't impair the functionality. Quite thecontrary: if you have a serial console there is noneed to mess around with sparsely documentedparameters to configure it (text-based installation isan option, though, for all the distributionspresented here). Both BootX and yaboot can beused for booting on Macs.

Apart from the IBM models B50 and F50 (insingle-processor configuration) only systems from

Apple are supported. This brings us almost as far asthe current Apple hardware development. The newApple computers G4-Cube and the multiprocessorG4 systems are not in fact officially supported, butaccording to a statement from TerraSoft they shouldwork (for the SMP-G4 computer there is anexperimental kernel).

Problems

There were amazingly few problems: we expected alot worse. On a machine that isn't officiallysupported like an IBM RS/6000 43P Model 120 thedistributions could be installed using tricks and boot

ON TESTLINUX ON PPC

5 · 2001 LINUX MAGAZINE 57

Unlike the B50, the IBM RS/6000 43P Model 120 is aworkstation class computer

Yellow Dog Linux is inventively packaged

Page 50: Linux Magazine UK 005

diskettes. An X-server, though, could only be madeto run using very obscure kernel patches. On"mainstream systems" like modern iMacs,PowerMacs, PowerBooks and IBM's B50 there areno problems, but special cases like Motorola'sMTX+ or the BeBox need a bit more care. We wereunable to get a current machine from the Bullcompany in time for the test. Many of Bull'smachines, though, are compatible with IBM'sRS/6000 systems (for example 43P Model 140 and150 respectively).

That doesn't mean there can't be problems withsomewhat more exotic hardware. We had a chanceto try out a Lucent Wavelan network card in theWallstreet Powerbook with SuSE Linux 7.0 installed.In the lower PCMCIA slot the card was recognisedby the cardmgr, but then the syslog recorded a terse"card initialisation failed". There wasn't enoughtime to determine the cause. The behaviour in theupper PCMCIA slot was worse – the Powerbookrepeatedly crashed without comment.

Unfortunately, unlike x86 users, you'll have toforgo ReiserFS support and the use of StarOffice.Whether ReiserFS will ever run on non-x86

systems is written in the stars. As alternatives,hopefully in the not too distant future, there willbe IBM's JFS and SGI's XFS – at least JFS is testedexplicitly with respect to PowerPC compatibility.Work is already proceeding apace on portingOpenOffice to LinuxPPC.

Support for older machines such as NuBus-based Macs or Microchannel-based RS/6000s is andremains a problem. Much of the documentation isnow no longer available. A few of these machinesare based, not on PowerPC processors but on theold POWER chipset from IBM. And yet, as one moreor less expects with Linux, support for some ofthese "old dears" is being worked on byexperienced Linux hackers. The fact that this is verytime-consuming is something that will beunderstood by anyone who has ever tried to getLinux to run on an undocumented machine.

Something we were unable to test due to thelack of peripherals is support for FireWire devices.Rudimentary driver support for the TI chipset usedin all new PowerMacs does however exist in current2.4.0-test kernel versions, so there should be noobstacle to providing complete support in the nextPowerPC Linux versions. It was encouraging thatmany non-Apple USB devices worked anyway, suchas a Logitech 3-button USB mouse with scroll wheelor a KeySpan USB PDA-Adapter.

Conclusion

Linux distributions for PowerPC-systems now havesomething for everyone. For the beginner who isentering unknown territory with Linux we canunreservedly recommend SuSE Linux 7.0 PowerPCEdition. The little bugs from version 6.4 have beenexterminated and the system gives a very good andreliable impression. Due to the fact that SuSE hasput a great deal of work into driver and platformsupport, it is usable for migrants from the x86-domain with old hardware. Also, SuSE comes with ahuge range of packages, so users will be saved thetrouble of compiling the software. Nice work, SuSE!

For migrants from Red Hat-based systems, bothLinuxPPC and Yellow Dog Linux should beconsidered. Both are derived from Red Hat and it'seasy to get to grips with them. The graphical

ON TEST LINUX ON PPC

58 LINUX MAGAZINE 5 · 2001

[left]Motorola’s VME PowerPC board

is a good basis for process controlandtelco system

[right]The Motorola MTX mainboard

series is mostly intended forindustrial applications.

Page 51: Linux Magazine UK 005

installer makes LinuxPPC easier to install for not quiteso experienced users. Otherwise there isn't muchdifference between these two distributions.

Finally, Debian on PowerPC is just what theprofessional user has been waiting for. Anyonewanting to use robust PowerPC hardware who at thesame time cannot do without the Debian environmentwill like this distribution. A bit of up-to-dateinformation on the hardware supported wouldn't goamiss on the websites. However, it's understandablethat the maintainers of a free distribution would prefertinkering with the software to updating websites.

A Motorola MVME2700 VME bus systemprovided for testing was left out of this test due tolack of time. A few distributions also support someother PowerPC systems – for example certainCompactPCI boards – and there is also support fromMotorola for the more common systems based onPowerPC (and x86). This interesting field will also bethe subject of a further article.

Wishes

It would be nice if all the improvements (which areat present found somewhere in some kernelversions) find their way into kernel 2.4 forPowerPC. Support for Macs is naturally the best(because of the number of installed systems) butthe owners of PReP-, CHRP- and other PowerPCsystems should be treated to something more thanjust a few little lines on their special hardwareconfiguration.

It would also be nice if system manufacturersreleased the specifications to Linux developers as faras possible before the system is launched onto themarket. That way, developers don't have to read out

everything from the Darwin source code fromApple. Despite this, the PowerPC Linux developersnevertheless managed, four hours before theannouncement of the Public Beta of MacOS X bySteve Jobs at the MacWorld Expo in Paris (the firstoperating system version from Apple to supportseveral processors apart from AIX on Appleworkgroup server) to present a functioning Linuxkernel for the new multiprocessor G4 system.

Last but not least, it would be nice to have atruly affordable, modular PowerPC system, which inthe manner of PCs made for ordinary users caneasily be put together and expanded with standardcomponents. It should have a 700 MHz or fasterG4+ processor and the whole thing should sell atnormal PC prices. This should all have long sincebeen possible, but all earlier announcements failedto materialise, including unfortunately the POPreference design from IBM.

ON TESTLINUX ON PPC

5 · 2001 LINUX MAGAZINE 59

Table 3: Information on portingSystem URLMicroChannel RS/6000-systemsMotorola MVME-systems http://www.vmelinux.orgAmiga PPC http://www.debian.org/ports/powerpc/inst/apusMotorola MBX http://www.debian.org/ports/powerpc/inst/mbx

Too beautifull to be a mere referencesystem: Apple’s Powerbook G3

Apple G4 desktop computer: power inside, art design outside

The desktop version of the Apple G3 series – shown here in classic blue

Page 52: Linux Magazine UK 005

Unsupported systems

Owners of systems that aren't officiallysupported should not give up hope. For a fewsystems there are unofficial patches. For others,ports are being worked on. The installation ofLinux on these systems, though, requires a bit ofwork and know-how. Information on variousunofficial patches and ports can be found inTable 3.

Thank you ...

Anyone who might now be thinking, the test thatthis splendid horde of PowerPC systems wouldmake a very nice Beowulf cluster must be informedthat this is sadly not the case. A few of thecomputers unfortunately had to go back to theirowners. For this reason, our special thanks to AppleComputer, AID Computers and IBM, whichprovided the test systems. ■

ON TEST LINUX ON PPC

60 LINUX MAGAZINE 5 · 2001

URLs

[1] Linux CD-Images (among others, from Debian PPC): ftp.debian.org[2] Debian for PowerPC: http://www.debian.org/ports/powerpc/[3] LinuxPPC: http://www.linuxppc.com[4] SuSE PowerPC Edition: http://www.suse.de/uk/produkte/susesoft/ppc/index.html[5] Yellow Dog Linux: http://www.yellowdoglinux.com [6] LinuxPPC Q3 Beta: ftp://ftp.linuxppc.com/linuxppc-halloween/install/updates/upgrade[7] Yellow Dog SMP-Kernel: FTP-Server for Yellow Dog SMP-Kernel

The authorMichael Engel has been

working for several years nowwith RISC processors and

Linux. His most recent interestsencompass embedded Linux

and especially use for Linux inmobile devices.

Table 2: Overview of PowerPC distributions

Distribution SuSE Linux 7.0 PowerPC Edition Yellow Dog Linux Champion Server 1.1 LinuxPPC 2000 Debian Potato for PowerPC

URLs http://www.suse.de/uk http://www.yellowdoglinux.com http://www.linuxppc.com http://www.debian.org

Package includes: 5 CDs Manual (approx. 530 pp.) 3 CDs manual (approx. 130 S.) YellowDog bag 2 CDs rmanual (approx. 100 pp.) T-shirt

Tux plug Geeko sticker 3 CDs

Reference source SuSE GmbH J. F. Lehmanns J. F. Lehmanns ftp.debian.org and mirrors,

CD-Set von J. F. Lehmanns

Support 60 days installation support (telephone) (for extra charge and via website) 30 days installation support (e-mail)

Installation X-based (Yast 2) text-based X-based text-based

Kernel 2.2.16 2.2.15 2.2.14 2.2.15 + 2.2.17

glibc-Version 2.1.3 2.1.3 2.1.3 2.1.3

graphical interfaces KDE (2.0 available as update), GNOME KDE, GNOME KDE, GNOME GNOME

(KDE as update)

Hardware-Support first value: Manufacturer's specification / (optional) second value: tested * = functions, + = functions, but not supported, - = not tested /

does not funct

PowerMac 6100/7100/8100 - - - -

PM 4400, 72xx, 7300, 7500, * * * *

7600, 8500, 8600, 9500, 9600

PM 5400, 5500, 6360, * * * -

6400, 6500

PM G3 * * * -

PM G3 b&w, G3, iMac, iBook * / * * / * * / * - / *

PowerBook 2400, 3400 * * * -

PowerBook G3 * / * * / * * / * - / *

20th Anniversary Mac * * * -

PowerMac G4 Cube - - - -

PowerMac G4 SMP - - - -

Performa 52xx, 53xx, - - - -

62xx, 63xx (except 6360)

IBM RS/6000 B50 * / * * / * - / * - / *

IBM RS/6000 43P 120 - - - / * (no X) -

IBM RS/6000 43P 133,150 * * - -

IBM MicroChannel - - - -

Motorola PowerStack (II) - / * - * -

Motorola MTX, MTX+ * / * - / - - / - - / *

Motorola MVME - / - - -

BeBox - - * -

Amiga PPC - - - *

Page 53: Linux Magazine UK 005

ON TESTDEVICES

5 · 2001 LINUX MAGAZINE 61

USB mass storage devices are particularly usefulbecause they can easily be connected anddisconnected from a computer. This makesphysical installation very easy, and allows you totransfer data from one PC to the next very quickly,without resorting to network connections. Ofcourse, all this is also possible using parallel portstorage devices, but this isn’t the most flexible wayof doing things under Linux. In any case, evenmodern EPP and ECP parallel ports can’t match thedata transfer rates that are possible over a USBinterface.

USB devices and Linux have not always seeneye to eye, though, and in fact Linux’s USB supportis still very much experimental. This is somethingthat was reflected in the fact that during our testswe experienced quite a few crashes, many ofwhich required a complete system restart torecover from. Thanks to our decision to useReiserFS on the system this was always a quickprocess, mind you. Another wise decision on ourpart was to do most of our USB CD burner testingusing CD-RW disks, as otherwise the entireeditorial team would probably have new silvercoasters on their desks.

Having said all that, it is possible to get someUSB mass storage devices to work well and evenreasonably reliably under Linux. We wouldrecommend the latest developer kernel with thecurrent pre-patches for best results, though, andbe warned that mission-critical use of USB devicesis something to be avoided, at least until kernel2.4 has matured by a couple of patch levels. At thetime of writing, Linux-2.4.0-test10-pre6 was thelatest Kernel version available. This kernel alsoappears to be the most stable yet seen, when itcomes to USB devices, but you shouldn’t expectmiracles. In version 2.4.0-test9, by the way, veryfew of the devices we looked at worked at all.

Not everybody will want to use 2.4, of course,so we have put together a small table for users ofthe USB backport patch for kernel 2.2, showingwhich devices should function with the oldkernel, though there are no guarantees.

Freecom Traveller

As its name implies, this CD burner is specificallydesigned for mobile use and can even be operatedwith batteries if need be. Its snazzy blue housinghides a 4x/4x/20x CD-RW drive with a proprietary D-Sub interface connection. Adapters for Firewire,PCMCIA, parallel port and USB can be attached tothis, the latter being the one used during our testing.

Unfortunately the driver for this device is still at anearly phase of development, so that it was not foundeven with the latest developer kernel with ”promptfor development and/or incomplete code/drivers”option selected. In fact, after configuring the kernel,the .config file has to be edited so that after theCONFIG_USB_STORAGE=m line CONFIG_USB_STORAGE_FREECOM=y has to be added. However,after doing so on our test system, the drive wasrecognised as ”CDR/RW RW8040A”, and all waswell. Or rather all was not well, as the driver turnedout, as expected for an early development version, tobe highly unstable. For this reason it was not possibleto conduct performance tests on this drive, andindeed the only thing we could get the drive to doeven slightly reliably was to display the contents of aCD. Unsurprisingly, it wasn’t possible to write CDs

Freecom Traveller: cool, but not stable under Linux

USB-Storage devices under Linux

BITS AREBLUE

BY CHRISTIAN REISER

It can be easier to get some USB devices to work under

Linux than others. In this feature we’ll look at seven

USB-based mass-storage devices and see how well, or

how badly, they like speaking Penguin.

Page 54: Linux Magazine UK 005

TEST MASS STORAGE

62 LINUX MAGAZINE 5 · 2001

with this device, although it is recognised by cdrecord(see http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html) asSCSI-3/mmc-compatible.

Iomega Zip CD 650

The Iomega Zip CD 650 worked very reliably in ourtests. In fact it was the only USB CD burner whosedriver never caused our test computer to crash at all.The fact that the burner is also suitable for writing toCD blanks under Linux, appears to be somethingIomega is not aware of. In their Linux support forum(http://forums.iomega.com/), when questions were

asked about burn suitability, the reply was that theywere ”working on it”. But by specifying the devicetype as generic-mmc-raw, the drive functionedperfectly with cdrdao (http://cdrdao.sourceforge.net/).It can even burn quite happily at 4x speed, and, veryimpressively, we experienced no problems at all usingit with the software-intensive UHCI controller, eventhough some 600 kilobytes per second are transferredat this write speed.

Iomega Zip 250 USB

Unlike the external parallel port and SCSI variants ofthe drive, the USB version of the Iomega Zip 250 is areal beauty; in a similar way to the Freecom drive, it hasobviously taken its design cues from Apple’s iMac (andincidentally is also iMac compatible). Unfortunately,because its case is so small, there’s no room left for aninternal power supply. The drive is also rather noisywhen in use – something we found a little irritating.

Under Linux the Zip drive is recognised as aremovable hard disk, so preformatted media caneasily be integrated into the system using mount/dev/sda4 /mnt/zip. The stability of the drive underKernel 2.2.17 using the backport patch leavessomething to be desired due to system freezes. Butunder 2.4.0-test10-pre5 the device ran perfectly,happily reading and writing both 250Mbyte and100Mbyte media.

Iomega Clik! 40

As well as Zip diskettes, Iomega also manufacturesother removable media, such as its Clik!40 diskettes

USB Storage architecture in the Linux kernelAll the drives we looked at require the usb-storage.o kernel module, whichemulates a SCSI host adapter. This means the attached USB mass storagedevices present themselves to the user as SCSI devices. As a result, CD drivescan be addressed via /dev/scd[0-9] and hard disks/diskettes as /dev/sd[a-z]. All hard disks and removable drives nearly always have a partition sector.This would not be absolutely necessary for operation under Linux, but itdoes allow the exchange of data with external operating systems (if the filesystem in use is recognised, that is). In the case of preformatted media, inmost cases the last of four physical partitions is DOS-compatible and so behandled with VFAT \#208 all computers and operating systems ought to beable to cope with this. For usb-storage to be loaded, the SCSI subsystem has to be in the kernel:either permanently compiled in, or as a loadable module scsi_mod.o. ForCD-ROM drives the module sr_mod.o is also required. CD burners needsg.o, and hard disks (also including all diskette and removable mediadrives) rely on sd_mod.o..

[left]Stable and reliable with Linux:

Iomega’s CD burner

[right]Access to ZIP diskettes via USB

Great idea - Iomega’s Click!40 media

Page 55: Linux Magazine UK 005

TESTMASS STORAGE

5 · 2001 LINUX MAGAZINE 63

which have a capacity of 40 Mbytes. Withdimensions of about 5x5cm the diskettes can fitinto a PC card adapter for use with notebook PCs.Users of more conventional systems can still use themedia, however, using Iomega’s Clik! Dock PC,which connects via a USB interface.

On each of the Clik!40 diskettes there is apartition table, the fourth partition usually havingbeen pre-formatted with a DOS-compatible filesystem. The drive is therefore addressed in the sameway as similar devices such as SCSI hard disks, andso on a normal system a mount /dev/sda4 /mnt/click(or similar) ought to suffice.

Unfortunately we found that there was a lot ofroom for improvement on the stability front whenusing the drive with Linux. Indeed, after someintensive file copying and deleting it would refuse torespond until the USB sub-system had beenunloaded and then reloaded.

LaCie

Housed in a dark blue case, LaCie’s transportabledrive contains a 20 GByte hard disk – a SeagateBarracuda ST32042A. After some experimentation,however, we discovered that any other hard diskcould also be used as long as care was taken toensure that the new disk requires no more powerand produces no more waste heat than the Seagatedrive. In other words, you don’t have to throw theentire unit away when you find you need a largercapacity device.

The unit’s cooling fan, which is hidden behindsome rounded ventilation slots, at first out of orderon our review model, leading to the drive gettingmuch hotter than it should. After quickly reachingfor the screwdriver the problem became clear,though; one of the power cables had becomecaught in the fan’s blades. This was easily fixed, andall was then well.

Although the transfer rate provided by the unit– almost one megabyte per second – is relativelyhigh for USB, it would take over five hours to readthe entire contents of a full drive. This is significantlyslower than a conventional hard disk, so this drive isnot suitable as a complete replacement for yoursystem disk. It was never designed for such apurpose in the first place, of course, instead beingaimed more at transporting multimedia data like

films, music and images from PC to PC, or indeedjust for adding some extra storage capacity to asingle system.

Compatibility with Linux is, at least with Kernel2.4.0-test10-pre5, very good. Indeed, during ourtesting we encountered no serious problems,though the disk was not automatically recognisedwhen connected. By removing and then re-connecting the USB cable, however, this problemcould very quickly be solved. Disappointingly,though, this device cannot be used with thebackport patch.

Mitsumi USB CR 4804 TU

The only product in this test not to boast a bluecase, the Mitsumi external CD burner is fully CD-RWcompatible and offers 4x CD-R and CD-RW writespeeds and 8x CD-ROM read speeds.

As a CD-ROM the Mitsumi didn’t do too badly,but when writing to blank media we encounteredproblems; quite often it simply stopped working.What’s more, the device could often only bepersuaded to start working again after a completesystem re-start.

Adaptec USB-X-Change

Adaptec’s USB-X-Change is a very interestingproduct, but one that will have to go without morethan a mention here as it simply refused to workwith Linux; for reasons know only to itself, Adaptecdecided to develop its own protocol for thisproduct, without giving any thought to Linuxdrivers.

Conclusion

So, although things have improved in leaps andbounds, there are still some issues to be addressedwhen it comes to using USB mass storage devicesunder Linux. Still, since this is an area that has beengetting a lot of developer attention of late, it won’tbe too long before things will improve even more,eventually taking the sting out of the USB tailaltogether.

Finally note how using OHCI controllerarchitecture consistently produced better resultsthan UHCI in our tests. ■

The devices and their transfer rates at a glanceManufacturer Product UHCI OHCI functions with media size

[KByte/s] [KByte/s] backport-patchAdaptec USB-X-Change - - No SCSI-PortFreecom Traveller - - No CD-RWIomega ZIP CD 650 606 926 Yes CD-RIomega ZIP 250 400 833 Yes 100/250 MBIomega Clik! Dock 200 274 No 40 MBLaCie 20GB Drive 583 866 No 20 GBMitsumi USB CR 4804 TU 615 913 No CD-RW(All performance tests under Kernel 2.4.0-test10-pre5)

[top]Transportable hard drive from LaCia

[above]The Mitsumi drive – not particularly stablewith Linux.

Page 56: Linux Magazine UK 005

FEATURE NETWORK SECURITY

64 LINUX MAGAZINE 5 · 2001

Attacks on firewalls

ONCE UPONA TIME IN

THE WILDWEST

FRANK BERNARD

As the new, involuntarily Open Source (followingthe recent high-profile attack on its systems)Microsoft illustrates (see https://www.linux-community.de/News/story?storyid=531), hackersare a threat that must be taken seriously. But theattack on Microsoft merely exposed the loopholesthat were already there, and out of idleness, or toavoid interrupting workflow, were not closed. Thefact is that Microsoft, and most other sensiblecompanies, have firewalls installed, but this factalone is obviously not adequate for Internet security.The combination of several (in themselves harmless)individual security defects creates a securityloophole. In the Microsoft case, this involved a

Trojan horse on an employee’s home PC thatallowed a hacker access to Microsoft’s internalnetwork by stealing passwords.

Several things could have stopped this attack, orat least reduced its impact:• Had the Trojan horse been discovered by an up-

to-date virus scanner, the passwords necessaryfor the break-in would not have been stolen inthe first place.

• Had the firewall prevented a direct access to thecomputer, the passwords that were passed onwould have been of no use.

• Had the analysis of existing system logs beenbetter, the damage could have discovered earlier.

To defend against the digital bows

and arrows of the Internet, you need

a firewall. But when you’ve gone to

the trouble of installing one and find

nothing happens, you may be tempted

to think that all that stuff about

hackers we’ve been warning you

about is all a load of rubbish, and

you’ve wasted a lot of time and

effort. You’d be wrong though.

Page 57: Linux Magazine UK 005

But what lessons can be drawn from this and whatdoes it have to do with our topic?• Security costs money. Nobody likes to leave large

amounts of money in a desk drawer, so they lockit in a safe. Data is the most valuable asset acompany can have nowadays. So computerscontaining this data must be protected.

• Security costs money on a permanent basis: Evena safe with lots of money may not be guarded atnight, and a safe built in 1870 may be heavy andlook solid, but probably isn’t as secure as a moremodern one. Security therefore needs to beconstant, and must be adapted to thwart newbreak-in techniques.

• Security should overlap itself: double locks ratherthan single ones, infra red and microwave motiondetectors – virus protection plus a firewall.

• Security and openness are mutually exclusive: Thisis the central tenet of an Internet security solution.The more information an attacker gets, the moreweak points he can discover and exploit.

Restriction of information –divide and ruleMany attacks on a company network are planned inadvance. The first thing the enemy needs isknowledge about the structure and possibleweaknesses of the network. If this is made verydifficult for the attacker to start with, it may be thathe will lose interest in breaking in, or try thecompany next door.

For a LAN with Internet connection, true highsecurity means:• An external DNS server should not administer any

internal names or addresses.• Information, for example on the operating system

(which the attacker finds out on log-in), versionstatus and email system in use (by the SMTPgreeting) should be suppressed if possible. Anattacker could exploit these pieces of informationfor targeted attacks on known loopholes.

• Not even the DNS name firewall.company.comshould be announced externally – even if it isobvious. Select a neutral name, for examplemail.company.com if the firewall is also a mailexchanger.

• Also, if the firewall is scanned, no informationshould be revealed which could be useful for anattack. See the ”Portscan” box for more on this.

Mastery lies in (access) restriction

Frequently, due to idleness, lack of staff andmoney, or simple pressure of time, compromisesare accepted in Internet security. It can turn outto be almost impossible to implement changeslater because of the structures that have beencreated. A more secure protection of the totalnetwork is usually possible only as the result offundamental restructuring.

• There should be only one transition pointbetween internal and external network, ISDN-cards or modems should be banned.

• A firewall should only open the services (ports) tothe computers that are absolutely necessary.

• If possible, accesses should be permitted onlyfrom the LAN into the Internet, as these can becontrolled more easily.

• Computers that are to be accessible from theInternet (or from an ISDN- or analogue line)should be placed in separate segments (so-calleddemilitarised zones, DMZs).

• The bandwidth for a specified service should beset to a minimum value, which limits thepossibility of Distributed-Denial-of-Service attacks.

A clear network topology also creates the pre-condition for a transparent firewall policy. ”Securityby obscurity” just does not exist.

What is an Internet attack?

The answer to this simple question is extremelydifficult. In certain cases this cannot be answered ina general way, and can even vary from system tosystem. Linux 2.4 with netfilter has received some

FEATURENETWORK SECURITY

5 · 2001 LINUX MAGAZINE 65

Portscan – right or wrongThis is how an nmap output ought to look if your system is reasonablysecure (LinuxWall V2, Linux-Kernel 2.4.0-test10).

Starting nmap V. 2.53 by [email protected] ( www.insecure.org/nmap/ )Interesting ports on ([Internet address deleted]):(The 1520 ports scanned but not shown below are in state: filtered)Port State Service22/tcp open ssh25/tcp open smtp113/tcp open auth

TCP Sequence Prediction: Class=random positive incrementsDifficulty=1580537 (Good luck!)

No OS matches for host (If you know what OS is running on it,see http://www.insecure.org/cgi-bin/nmap-submit.cgi).

An example of system wide open to attack:

Starting nmap V. 2.53 by [email protected] ( www.insecure.org/nmap/ )Interesting ports on [Name deleted] ([Internet-Address deleted]):(The 1511 ports scanned but not shown below are in state: closed)Port State Service7/tcp open echo9/tcp open discard13/tcp open daytime17/tcp open qotd19/tcp open chargen21/tcp filtered ftp135/tcp open loc-srv139/tcp open netbios-ssn158/tcp open pcmail-srv427/tcp open svrloc5631/tcp open pcanywheredata65301/tcp open pcanywhereTCP Sequence Prediction: Class=trivial time dependency

Difficulty=16 (Easy)Remote operating system guess: Windows NT4 / Win95 / Win98Nmap run completed – 1 IP address (1 host up) scanned in 19 seconds

Page 58: Linux Magazine UK 005

crucial improvements which both increase security,and, in cases of doubt, at least allow aclassification. Almost everyone would agree with meif I were to claim that a ping (ICMP echo request) washarmless from the point of view of technical security.A ping on several IP addresses in succession could,however, be a host-scan (to determine which hostsare in fact accessible from the Internet, but are notregistered in the DNS). A ping on a broadcast address(255.255.255.255) is a so-called Smurf attack, whichcan unleash veritable storms of packets.

Many Windows computers are pre-configuredso that when online they try to make contact andexchange information with all computers that replyto the target ports 137-139. Windows computersalso have 137-139 as source port. But there areimplementations that use other, usuallyunprivileged source ports (for example Samba). So,if a cowboy computer rides up on the Internet andtries to access the SMP ports, the source port of thespy computer is then, too, often in the unprivilegeddomain. This is obviously not a configuration error,but a spy mission.

One question of particular interest involvescomputers that don’t even ”exist” yet. One of mycustomers was assigned a Class-C block of networkaddresses, with only the firewall and the routerusing any of them in the first few days, yet alladdresses were probed during that time

Many packets use security loopholes whichhave been known and dealt with for years, such asso-called XMAS-packets (special TCP-packets, inwhich all flags are set) or packets with a prohibiteddestination TCP port (for example Port 0).

These are generally used in ”Denial-of-service”(Dos) attacks, as they make the firewall(temporarily) unusable, therefore allowing no trafficat all to get into the network. But much morecommon are the attacks that collect information.Once this has taken place, the information is thenused for targeted attacks.

Spotting an attack – the needlein the haystackMany administrators shy away from implementing aparanoid security policy, especially one that reportsevery suspect packet, since this will, of course, maketheir logs a great deal larger (at least at first).However, this is the only option open to you if youwant to tell if a presumed attack is real or not, andlearn from the experience.

Being careful can mean that it can be easier tospot and fix configuration errors (such as incorrectnetwork masks) on PCs. What’s more,administrators will know in far greater detail what’sreally going on on their networks. Any change tothe LAN infrastructure will be clearly visible.

So, after a few days of problem solving, all thatshould remain are packets that could launch potentialattacks. Indeed, a nmap scan, as shown in the two

tables, gives rise to about 1 MB of log. The size of thelog file alone ought to sound alarm bells. Naturallynetfilter has some advantages over its predecessoripchains, in that such packets can be reported butonly for a certain time. Remember, a hacker will wantto be as inconspicuous as possible, which is why it isbad policy to suppress the packets completely.

Cops and robbers – Prosecuting hackersLet’s reverse the tables now, turning the hunter intothe hunted. Using his IP address (which we willalready have tracked) we can identify the attacker.This is because the hacker’s IP address isn’t normallyfalse, as he’ll want to get a response to his attacksor probes. In theory then, all we need is a quicknslookup and we’ll be able to determine who his ISPis in order to send them e-mail about the antics oftheir customer.

Unfortunately this is only successful in very rarecases. The big providers are certainly able to saywhen and who was active with which Dial-Upaddresses and can therefore identify the customer.This costs money though, so it doesn’t always getdone. Computers with fixed (and consequentlyeasily traceable IP addresses) on the other hand, areoften not the originators. Instead, they are moreoften victims (usually of Trojans) themselves. In theend, then, due to the difficulty in tracking an attack,and the large number of attacks that generallyoccur, it is usually pointless to try to find andprosecute attackers.

Outlook – much better with 2.4!

Quite apart from improved packet filtering, Kernel2.4 offers additional options and countermeasuresagainst SYN flooding and IP spoofing. ThroughTraffic Shaping (bandwidth restriction), for example,it is possible to guarantee that even if there is a”Denial-of-service” Dos attack, business will carryon as usual. This is something to look forward to,but even so, you must remember that no matterwhat security measures you implement, hackers willfind a way around eventually. Indeed, no firewall iscompletely secure, and it is only through a secureconfiguration and permanent monitoring thatattacks can be spotted and potential new (or old)security loopholes can be closed. This is where ananalysis of the situation demands very goodknowledge of IP protocols. And one of the bestways to get started on the right road is to conductan attack on your own systems using one of themany tools available.

In all, then, yes, Internet security costs money,more money than many IT managers want tospend. But by ignoring the ever present, everincreasing problem of hackers, in the long termyour company stands to lose much more moneythan a good security policy could ever cost. ■

FEATURE NETWORK SECURITY

66 LINUX MAGAZINE 5 · 2001

Page 59: Linux Magazine UK 005

You don't have to be paranoid to be concernedabout the subject of data security in these times ofuniversal networking and multi-user operatingsystems. Woeful experiences with love-crazed e-mail viruses and Trojan horses that are all too eagerfor knowledge leave many a computer user callingfor a powerful weapon. Unfortunately, in realitysome popular aids aren't really worth very much.Which is why it's worth taking a look at a specialkind of tool that, though primarily intended foradministrators, can certainly be put to use byambitious private users of UNIX-compatibleoperating systems.

Built on sand

Despite their popularity, conventional protectiveshields found in the PC domain, such as virusscanners or signature scanners, suffer fromweaknesses. One example is the fact that theproperties of new viruses – the so-called virussignatures – have to be determined by themanufacturer and incorporated into the customer'sdatabase before the virus scanner can detect thethreat. In view of the number of attack points(which even operating systems like Linux offer) andthe creativity of resourceful attackers this isn't aneasy problem to resolve.

A different approach to the problem would be atool that quickly detects the damage caused by asecurity attack. Changes to the file system as aconsequence of viral or human activity may be toonon-specific to be recognised on the basis ofdocumented virus signatures. In many cases theonly change consists of a hidden back door that asuccessful hacker has left behind in the system forfurther visits.

Security through inventory

Because these dangerous extras are easy tocamouflage as regular system files, a search canonly be successful given precise knowledge of theoriginal state of the file system. This is somethingthat has been known for years. It has led to thedevelopment of tools that take an approach knownas integrity checking. One example that runs in theUNIX environment is Tripwire.

Tripwire was developed as part of the COASTProject (Computer Operations, Audit and SecurityTechnology) of Purdue University, located in WestLafayette (Indiana). The launch at the start of 1994(described in the online issue of the businessmagazine Forbes) was followed by a victory paradethrough the world of UNIX-type operating systems.This reached a peak of over 300,000 installations

FEATURE TRIPWIRE

68 LINUX MAGAZINE 5 · 2001

Tripwire - an integrity checker, Part 1

SAFETYFIRST!

KLAUS BOSAU

Tripwire has developed into a highly-regarded

instrument for administrative investigation. It's

hardly surprising. The advanced concepts

employed by this security tool provide

opportunities that go far beyond those of its

various competitors.

Page 60: Linux Magazine UK 005

and the winning of the "Editors' Choice Award'99" of the web magazine Linux-World.

The claim made by its developers, Gene Kim andEugene Spafford was not exactly modest. The intentionwas to provide administrators with a tool that was assimple as possible to manage but nevertheless flexible,and which would make it possible to reliably andrapidly trace any kind of unauthorised or unintentionalintrusion into the file system.

Conception

The difference in principle between an integritychecker and a signature scanner is evident evenfrom the name. Whilst the latter aims to detectalready-known programs, integrity checkers aredesigned to protect the integrity of data in thefilesystem. They are able to detect any change, notjust the documented changes that are produced

when a known virus attacks a system.In the simplest case, an integrity checker could

make a backup of the entire filesystem andperiodically compare it with the current content.However, this isn't really practical. Fortunately, thereis a more elegant method. For effectiveidentification of a change, a copy of the originalisn't needed. Knowledge of a few specialcharacteristics of the filesystem is perfectlyadequate. The task when developing Tripwireconsisted of extracting these pieces of data in a waythat would facilitate subsequent monitoring.

Other design aims included a reduction involume of the recorded data, and the use of aprocess that was not too computation-intensive.Kim found these properties combined in signaturefunctions which were until then the domain ofmessage encryption (so-called One-Way HashFunctions or Message-Digest Functions) like MD5

FEATURETRIPWIRE

5 · 2001 LINUX MAGAZINE 69

The Arsenal: Comparison of various hash algorithms for Tripwire

Algorithm Data throughput Security Comments

(Pentum/200 MHz) approximate checkpoint

MD5 (R) 7.2 MB/s +++++ Message-Digest 5 Algorithm by Ronald Rivest (advanced development of MD4) -- a more powerful and

currently the most-used hash algorithm. As with MD4, pseudocollisions (collisions for the Compression

Function) are found, but to date its fundamental effectiveness has not yet been refuted.

Snefru (R) 1.4 MB/s ++++ This algorithm, conceived by Ralf Merkle at Xerox PARC, has rapidly become suspect in the four-stage

variant used here despite its so-far undisputed effectiveness, since the two-stage version turned out to

be unusable very early on. The large 128-bit signature should still, however, guarantee good security

performance. (The latest variant to date with 8 rounds is deemed secure.)

CRC-32/CRC-16 9.3/16.2 MB/s ++/+ Both of these robust and fast algorithms were actually designed to detect transmission errors due to

hardware. The size of the signature alone, with just 16 and 32 bit, prohibits any use with large or

important files. But since a spurious file, apart from the appropriate signature, also has to bring with it

the intended functionality to be of any use, it's certainly worth risking its use for less critical objects.

MD4 14.4 MB/s +++ Introduced in 1990 and very fast on RISC processors. It wasn't until 1998 that disenchantment set in:

an easily modified version proved to be reversible. MD4 is now seen as disproved and should therefore

no longer be used to protect important objects.

MD2 300 KB/s ++++ Unusually slow, since it was the only one designed for antiquated 8-bit processors. Although MD2 is

the oldest of the three message-digest algorithms from RSA, until now its effectiveness has been

unquestioned. However, for a modified version the principal risk was revealed to be a constructive (and

thus time-saving) determination of cases of collisions.

SHA 5.4 MB/s +++++ The "Secure-Hash-Algorithm" from NIST [11] is, like most hash algorithms, structurally related to MD4.

It was superseded in 1994 by SHA-1, which was supposed to correct an undocumented weak point.

The large 160-bit signature nevertheless still makes this a good choice, even for security-critical objects.

(The persistent rumours about a deliberately-implanted weak point, in view of the paltry state of

knowledge in the theory of hash functions, are somewhat impudent. NASA, by the way, prefers this in

its in-house Tripwire installation to the originally more popular Snefru. [12])

Haval 10.7 MB/s ++++ Was created in 1992 at the University of Wollongong by Yuliang Zheng [13] . It is the only one to hold

both a variable signature size (128, 160, 192, 224 or 256 bit), as well as a variable number of work

steps (3, 4 or 5). (The message is split into blocks of 1024 bits which are then processed in 3, 4 or 5

rounds by the Compression Function.) This means a total of 15 different variants of the algorithm are

available for practical applications. In the Academic Source Release the 4-stage variant with 128-bit

signature format is used.

RIPEMD-160 4.9 MB/s ++++++ The "RACE Integrity Primitives Evaluation" algorithm [14] from the EU project of the same name is the

(Tripwire-De-Luxe) offspring of a collaboration by well-known European cryptographers (Hans Dobbertin, Antoon

Bosselaers and Bart Preneel) from 1996. The unconventional idea of two pipelines working in parallel

after the MD4 model was first realised in RIPEMD (3 rounds, 128 bit). RIPEMD-160 represents a massive

advance, which is also intended to take into account the most extreme demands made on collision

freedom. In a total of five rounds each with 16 individual operations, a hash value of 160 bits is

calculated. Together with SHA-1, RIPEMD-160 is currently viewed as the most powerful hash algorithm in existence.

Page 61: Linux Magazine UK 005

from RSA Data Security, Inc. or Snefru from XeroxPARC. The departure from the intended use of suchalgorithms for effective protection of a filesystem isa central component of Tripwire.

Some advantages

An attractive quality of the integrity checker is theability of the user to exert control over the process. Itis easy to adjust the security performance accordingto your preference or need. There is no need to go togreat lengths to maintain as complete as possible alibrary of virus signatures, as is necessary with asignature scanner. An integrity checker demandslittle attention. Once installed, maintenance islimited to a few actions that need only be performedwhen software is added or removed.

The performance of current signature algorithmsturns the integrity checker into the ideal instrumentfor perpetuation of evidence. This is something thatcould open up entire new perspectives in the nearfuture, especially in the corporate environmentwhere the economic damage caused by a hackerattack could be considerable. A One-Way HashFunction has all the qualities of a piece of evidencethat could be used in court. (Note: usually theMessage-Digest of a message encoded using aprivate code is known as the "signature" . The term"signature" here has the same meaning.)

Step by step

The procedure for use can be broken into threeparts: initialisation, integrity test and maintenance.For initialisation, a reference databasetw.db_hostname is created in accordance withparameters in the configuration file tw. config. Thisdatabase contains an exact description of allsecurity-relevant objects in the local filesystem. Eachobject, together with attributes such as themodification timestamp, is assigned its own"fingerprint" in the form of a freely definable

signature cocktail. The choice of information to berecorded for each object is made in tw.config. Thisis done by means of assigning so-called select-masks, which allows the extent of monitoring to betailored to the respective importance and task ofeach object and the individual securityrequirements of the administrator.

It is of crucial importance at this stage that noviruses or other rogue software components arepresent in the filesystem. This is tricky, but notimpossible to ensure, even for ageing systems. Apreliminary manual check of critical files such aspasswd or inetd.conf can assure their futureintegrity and erect a first barrier against incursion,which can be successively reinforced. The evaluationof the current security situation is ultimately thereserve of the administrator.

Integrity test

In accordance with the configuration laid down intw.config a second databank is calculated. This, likea snapshot, describes the current status of thefilesystems which can be referred to at any desireddate. By comparing this with the referencedatabase, information about added or deletedobjects will come to light.

FEATURE TRIPWIRE

70 LINUX MAGAZINE 5 · 2001

Listing 1: output example of an altered filechanged: -rw-r--r-- root 788 Aug 116:49:52 2000 /etc/hosts### Attr Observed (what it is)Expected (what it should be)### =========== ==========================================================/etc/hosts

st_mtime: Tue Aug 1 16:49:52 2000Tue Aug 1 16:31:21 2000

st_ctime: Tue Aug 1 16:49:52 2000Tue Aug 1 16:31:21 2000

md5 (sig1): 1gLd3EYIaQg04IweV.AMJS3zbqWhNQTo.9Wytoqhgxiksnefru (sig2): 0BfGPDfQVve2bm7VbHYD4S0JCn1vTUQ8apn©eQ:Gc5x

Figure 1: Blockdiagram of the basic

functionality

Page 62: Linux Magazine UK 005

Changes to individual objects are detected bycomparing the corresponding entries from both.Unlike added or deleted objects, which the integrityreport clearly identifies, changes only appear in thereport if specified in the corresponding select mask.This allows the administrator to distinguish betweenchanges that are potentially dangerous and legitimatechanges which are the result of normal use of thesystem. Items are logged in the integrity report usingthe comments added, deleted and changed (Fig. 1).

Listing 1 shows a case where both modificationtimestamp and inode timestamp (st_mtime andst_ctime), as well as both associated signatures (md5and snefru) differ from the original. This could occurif a text file was loaded into an editor, changed andsaved using the same name with the same size.

The integrity test should be performedautomatically, at regular intervals of hours or days,using a cron job. By means of command line optionsthe time-consuming calculation of signatures can beomitted. This makes it possible, in situations such asthe deletion of an application, to obtain a rapidoverview of any irregularities in the filesystem.

Maintenance

Changing requirements can make restructuring ofthe filesystem necessary. In this event the referencedatabase must also be updated. Tripwire incorporatesthe necessary functionality. The addition or removalof even complex packages is a simple exercise.

Installation

The source code of Tripwire version 1.2 from 1994,which is free, is still to be found on the website ofthe COAST Project as a compressed TAR archive. Atthe end of 1997 Gene Kim's company, TripwireSecurity Systems, Inc. received an exclusive licence

for advanced development and marketing fromPurdue University. Apart from the product lineintended for commercial marketing ("HQConnector Bundle") TSS also offers on its websitethe so-called "Academic Source Release" (Version1.3.1) as source code. This differs from theaforementioned COAST version mainly in a fewdetail improvements. This version, which isadequate for most uses, has been released for useon single-user systems. This is the version to whichwe will be referring in the following.

Anyone who would prefer to avoid handling thesource code may download the free binaries for theprize-winning Linux version 2.2.1. What TSS claims

FEATURETRIPWIRE

5 · 2001 LINUX MAGAZINE 71

Steps for use of TripwireInitialization (single user mode!) tripwire --initialize

Creates the reference database. This is placed in the sub-directory./databases and must be moved by hand to DATADIR because Tripwire expects a read-only medium here.

Integrity test tripwirePrints a report of all inconsistencies detected on the screen. If the output is large, or in case of use as a cron job it is advisable to divert the output to a file. The display of information can be regulated using --quiet (single-line outputs) and --verbose (isochronous output). All signatures are usually output in Base64 notation. --print-hex forces the output as a hexadecimal number, which becomes necessary if signature comparisons between incompatible systems are required.

Maintenance (single user mode!) tripwire --update [path]Updates the reference database if the content of a specified directory has been changed as the result of administrative operations such as installation, uninstallation etc. Individual files or entire directories can be specified as arguments. Since this means the entire content of a directory can be declared as safe, great care is recommended when using this command! (In an emergency the old database, whichTripwire archives after each update as tw.db_hostname.old in ./databases , can be restored.)

Interactive updating tripwire --interactiveInteractive updating of the reference database is the most common maintenance method. Any inconsistencies which have been detected result in a prompt for updating. This requires the presence of the administrator, of course, but in the end it is a better solution, since each case can be dealt with individually.

Table 1: Tripwire platforms386BSD 0.1Apple A/UX 3.xAT\&T System VBSDI BSD/386 betaConvexOS 9.1DC/OSx (SVR4) 1.1 OSx 5.1Domain/OS SR10.x AIX 3.xdynix/PTX 2.0.xDynix 3.xEP/IX 1.4.3FPX 4.3.3HP/UX 8.x, 9.xIRIX 4.xLinux 0.99.14 und newerMach (NeXtstep) 2.x, 3.x OSF/1 1.0.4Mach 2.xSunOS 4.0.3SunOS 5.x (Solaris 2.x)Ultrix 4.xUmax V 2.4.1P3Unicos 6.1.6 OSF/1 (alpha)Xenix 2.2.4Xenix System V 386

Page 63: Linux Magazine UK 005

to be a "functionally compatible" variant of thesource code has been freely available since Octoberof last year. This is subject to the GPL and is availablefor downloading from VA Linux Systems. Anyinterested C expert is welcome to participate infurther development.

With this departure from its previous corporatepolicy TSS is promising a considerable additionaldevelopment push. The prestige of taking part inthe development of a market-leading, eventrailblazing security tool, ought to attract quite afew ambitious developers from all over the world.The binaries for this version will be available fromthe still dew-fresh website of the Tripwire OpenSource Project, which is also to function as a centralstarting point for all collaborators. Users of otheroperating systems can only dream of this utopia.Buying the commercial full version represents aninvestment of around £400 per host.

A few Linux distributors such as SuSE havealready taken into account the growing securityawareness of their clientele and included versions ofTripwire on their CDs. A glance into the file jungleof your Linux distribution might therefore save yousome download time!

Tripwire has been written in portable C. It canrun on more than twenty UNIX derivatives. Theprocedure for installation of the package is standardand should pose no insoluble problems. For rapidinstallation on a Linux platform a bullet-point typebrief introduction is given.

A bit of manual labour

The basic installation requirement is the presenceof the well-known packages "Flex" (productionof lexical scanner) and "Bison" (parsergenerator). All system-specific alterations aremade in the two following and largely self-explanatory files:

Makefile: Here, the destination DESTDIR(tw.config and binaries), DATADIR(tw.db_hostname), MANDIR (Manpages) locationsshould be entered. For DESTDIR and DATADIR, forsecurity reasons, only directories requiring rootpermission can be considered! (The access rightsdefined under install could be made a bit morerestrictive: 400 for tw.config, 500 for DESTDIR, 600for DATADIR.) Also, by uncommenting LEX = flexand YACC = bison -y both packages mentioned willbe used.

include/config.h: Because, in the integritytest, there is a risk that spurious data could beused simply by changing two paths, thedestinations of tw.config and tw.db_hostnameare compiled into the executable file. Thedirectories already selected, DESTDIR andDATADIR must therefore also be made known asCONFIG_PATH and DATABASE_PATH prior toconversion at this point. No further entries needbe made here. The standard example

configs/conf-svr4.h, which provides for furtheralterations required by some operating systems,should be suitable for most Linux distributions.

After changing to single user mode (whichprevents any unauthorised accesses in thisdelicate phase) it should be sufficient to run make&& make test. This should leave two executablefiles tripwire and siggen in the directory src, andthen start a test of the binaries created. In the testphase, which takes a few minutes, the largely self-explanatory test report (Listing 2) should bewatched closely. Compilation errors, which couldoccur as a result of incompatible libraries orcompilers, could critically affect the securityperformance in later operation. make test&>~/TestProt would not be a bad idea!

Unfortunately the value of this test is limited bythe fact that there is no adequate way to check theauthenticity of the source text. The "original"COAST version shows how it's done: add theMessage-Digest of the package, encrypted with theprivate cipher of a guarantor, as a separate file. TheMAC (Message Authentication Code) must be puton at this point, and should for a company such asTSS, which wants to prove high standards inmatters of data security, really be more than puretheory! The manipulation of the source code of asecurity tool by rogues could have unimaginableconsequences. If there is doubt as to theauthenticity of the code, the only way to lay yourworries to rest is a time-consuming one. Siftingthrough ten thousand lines of source text may notbe to everyone's taste.

Using make install eliminates the tediousinstallation of the two binaries, the Manpages, andan admittedly rudimentary model for tw.config. Allremaining traces of the test run, which Tripwiretends to leave in the /tmp directory, should then beremoved. Any concerns may be mollified with thehelp of the attached FAQ (see also Points 2.0 and2.1 in the README). NB: contrib/README.linux isobsolete and therefore misleading!

Installation should not be difficult even in otherenvironments. Ported contains ready-made entriesand recommendations concerning the most suitablecompiler options for a whole range of knownplatforms. Additional information can be found inconfigs/, which contains a wide selection ofpreprepared INCLUDE-files and a few somewhatbasic models for tw.config .

Rehearsing alert

One further comment on the test report. In thefinal test phase (TSS-Shellscript test1.sh) numerousinconsistencies are shown which give theimpression that an undesirable change might haveoccurred. In fact, this is a true blue integrity test ofthe distribution against a reference database whichis included in the package. This occurs not so muchto check the integrity of the distribution, but rather

FEATURE TRIPWIRE

72 LINUX MAGAZINE 5 · 2001

Page 64: Linux Magazine UK 005

FEATURETRIPWIRE

5 · 2001 LINUX MAGAZINE 73

Listing 2: Self test=== test0.sh: DESCRIPTION

This shell script exercises all the signature routines included inthe Tripwire distribution. This suite is run on a series of filescreated by the authors of the signature routines.=== test0.sh: BEGIN ====== test0.sh: PASS ====== test.twpre.sh: DESCRIPTION

This script exercises the Tripwire preprocessor, testing correctnessvariable expansion and include files.=== test.twpre.sh: BEGIN ===Tripwire(tm) ASR (Academic Source Release) 1.3.1File Integrity Assessment Software©1992, Purdue Research Foundation, ©1997, 1999 TripwireSecurity Systems, Inc. All Rights Reserved. Use Restricted toAuthorized Licensees.=== test.twpre.sh: PASS ====== test.update.sh: DESCRIPTION

This shell script exercises all the Tripwire integrity checkingand database update functionalities.=== test.update.sh: Setting up auxiliary scripts ====== test.update.sh: BEGIN ===../src/tripwire -loosedir -c /tmp/twtest/tw.config -d /tmp/twtest/tw.db -i all=== test.update.sh: testing GROWING (safe) files ====== test.update.sh: testing GROWING (unsafe) files ====== test.update.sh: testing ADDED files ====== test.update.sh: testing DELETED files ====== test.update.sh: testing CHANGED files ====== test.update.sh: testing input schemes ====== test.update.sh: tw.config from stdin=== test.update.sh: database from stdin=== test.update.sh: testing complex UPDATE cases=== test.update.sh: changed ignore-mask (UPDATE file)=== test.update.sh: changed ignore-mask (UPDATE entry)=== test.update.sh: testing UPDATED files (7 cases)=== test.update.sh: case 1: update: add new file ====== test.update.sh: case 2: update: delete file ====== test.update.sh: case 3: update: update file ====== test.update.sh: case 4: nonsense case (skipping) ====== test.update.sh: case 6: update: delete entry ====== test.update.sh: case 5: update: add entry ====== test.update.sh: case 7: update: update entry ====== test.update.sh: PASS ====== test.inter.sh: DESCRIPTION

This shell script exercises all the interactive update of Tripwiredatabases.=== test.inter.sh: Setting up auxiliary scripts ====== test.inter.sh: BEGIN ===../src/tripwire -loosedir -c /tmp/twtest/tw.config -d /tmp/twtest/tw.db -i all=== test.inter.sh: testing interactive update ====== test.inter.sh: testing complex UPDATE cases=== test.inter.sh: changed ignore-mask (UPDATE file)=== test.inter.sh: changed ignore-mask (UPDATE entry)=== test.inter.sh: testing UPDATED files (7 cases)=== test.inter.sh: case 1: update: add new file ====== test.inter.sh: case 2: update: delete file ====== test.inter.sh: case 3: update: update file ====== test.inter.sh: case 4: nonsense case (skipping) ====== test.inter.sh: case 6: update: delete entry ====== test.inter.sh: case 5: update: add entry ====== test.inter.sh: case 7: update: update entry ====== test.inter.sh: PASS ====== test.escape.sh: DESCRIPTION

This is similar to the Tripwire update tests, but escapedfilenames are specifically exercised.=== test.escape.sh: Setting up auxiliary scripts ====== test.escape.sh: BEGIN ===../src/tripwire -loosedir -c /tmp/twtest/tw.config -d /tmp/twtest/tw.db -i all=== test.escape.sh: testing complex UPDATE cases=== test.escape.sh: changed ignore-mask (UPDATE file)=== test.escape.sh: changed ignore-mask (UPDATE entry)=== test.escape.sh: testing UPDATED files (7 cases)

Page 65: Linux Magazine UK 005

to ensure that the signature functions workcorrectly. Since the reference database supplied byTSS was not encrypted, it would be an easy task fora hacker to change the signatures concerned in thereference databank!

The report quite correctly shows all 161 filesof the distribution as "changed" , because inodenumber (st_ino) and inode timestamp (st_ctime)in the filesystem of the destination computerdon't match their original values, which werevalid at the time of creation of the reference

databank by TSS. Changed signatures should, onthe other hand, certainly give you something tothink about, since only arithmetic errors couldhave caused them. This can be clarified usinggrep -n "md5" ~/TestProt .

In the next article we will examine the potentiallyproblematic configuration of Tripwire . Unlike a virusscanner, which makes few demands in this respect (butis also scarcely any use) an integrity checker demands alot of effort on the part of the user. The use of thisunusual set of tools will be explained later. ■

FEATURE TRIPWIRE

74 LINUX MAGAZINE 5 · 2001

=== test.escape.sh: case 1: update: add new file ====== test.escape.sh: case 2: update: delete file ====== test.escape.sh: case 3: update: update file ===...=== test.escape.sh: PASS ====== test1.sh: DESCRIPTION

This shell script tests all the Tripwire signature routines.Consequently, this test may take a while to complete, because even theslowest signature routines are exercised. On a 200 MHz Intel Pentiummachine, this test takes 15 seconds to complete.

This test suite will ascertain whether the byte-ordering andmachine-dependent routines are working correctly.=== test1.sh: BEGIN ===creating: ./tw.db_TEST.@creating: ./@tw.configTripwire(tm) ASR (Academic Source Release) 1.3.1File Integrity Assessment Software© 1992, Purdue Research Foundation, © 1997, 1999 TripwireSecurity Systems, Inc. All Rights Reserved. Use Restricted toAuthorized Licensees.### Phase 1: Reading configuration file### Phase 2: Generating file list### Phase 3: Creating file information database### Phase 4: Searching for inconsistencies###### Total files scanned: 161### Files added: 0### Files deleted: 0### Files changed: 161###### Total file violations: 161###changed: drwxr-xr-x root 1024 Sep 27 23:00:31 2000 /root/tw_ASR_1.3.1_srcchanged: -rw-r----- root 2201 May 4 10:31:00 1999 /root/tw_ASR_1.3.1_src/COAST.infochanged: -rw-r----- root 5441 May 4 10:31:00 1999 /root/tw_ASR_1.3.1_src/FAQ...### Phase 5: Generating observed/expected pairs for changed files###### Attr Observed (what it is) Expected (what it should be)### =========== ============================= =============================/root/tw_ASR_1.3.1_src

st_ino: 128630 605814 st_uid: 0 1016 st_size: 1024 0 st_mtime: Wed Sep 27 23:00:31 2000 Fri Apr 30 23:03:53 1999 st_ctime: Wed Sep 27 23:00:31 2000 Fri Apr 30 23:03:53 1999

/root/tw_ASR_1.3.1_src/COAST.infost_ino: 128632 605816

st_ctime: Wed Sep 27 22:51:45 2000 Tue May 4 15:20:44 1999

/root/tw_ASR_1.3.1_src/FAQst_ino: 161308 605817

st_ctime: Wed Sep 27 22:51:45 2000 Tue May 4 15:20:44 1999...=== test1.sh: END ===removing: ./tests/tw.db_TEST.@removing: @tw.config...

Info

[1] The "Tripwire-Story":http://www.forbes.com/tool/ht

ml/toolbox.htm[2] Gene Spafford's Homepage:http://www.cerias.purdue.edu/

homes/spaf[3] "RSA Data Security, Inc.":http://www.rsasecurity.com

[4] "Xerox Palo Alto ResearchCenter":

http://www.parc.xerox.com/parc-go.html

[5] Snefru and accessories(Xerox):

ftp://arisia.xerox.com/pub/hash[6] "COAST Project":

http://www.cerias.purdue.edu/coast

[7] "Tripwire Security SystemsInc.":

http://www.tripwiresecurity.com[8] Future "Tripwire-forge":

http://sourceforge.net/projects/tripwire [9] "Tripwire Open

Source Project":http://www.tripwire.org

Page 66: Linux Magazine UK 005

So your Linux system is broken. Maybe you hadproblems with the hard disk or a power cut andthen the fsck (filesystem check) of the rootfilesystem came up with loads of errors.

If you’re used to using Windows 9x, you’llprobably know about the Windows emergencyboot disk you can create, but it doesn’t allow you todo a great deal and it certainly won’t load and runWindows. However, a basic Linux system can runoff one or more floppy disks – yet still provide abasic set of essential tools.

If you bought an official Linux distribution fromone of the main suppliers you may have received arecovery disk with it. Lucky you. If however, likemany people you built a system off a magazine CDor similar, then you most certainly won’t have one.

The disk set described here consists of a bootdisk, a disk containing a root filesystem with a smallset of tools and a utility disk to hold a number ofadditional utilities. The article assumes you haveramdisk support enabled in your kernel. If youhaven’t, then you will need to enable it.

Making a boot disk

The first disk we need to create is the boot disk. Thiscontains a Linux kernel and the kernel loader LILO. Itis possible to create a boot disk which also contains

a root filesystem, (a ‘boot/root’ disk), but because ofthe small size of even HD floppy disks, the resultingsystem will be severely lacking in essential utilities.

By far the easiest way of creating a boot disk isby using the command mkbootdisk (see figure 1)like this:

mkbootdisk —verbose kernelversion (eg:- 2.2.16)

This command creates a stand-alone boot floppy foryour running system. The most importantparameter is the last one, which is the kernelversion. Note that there are (at least) two versions ofmkbootdisk, one which doesn’t add the rescueoption to /etc/lilo.conf. Whichever version you’vegot after it finishes, mount the disk and edit thelilo.conf file until it looks similar to that in figure 2and then rerun LILO like this:

mount -t ext2 /dev/fd0 /mnt/floppy (/mnt/Ufloppy must already exist)vi /mnt/floppy/etc/lilo.conf/sbin/lilo -v -r /mnt/floppyumount /mnt/floppy

The ‘ramdisk’ option in lilo.conf ensures the ramdiskis big enough for the root filesystem we’ll be

KNOW-HOW BOOTDISK

76 LINUX MAGAZINE 5 · 2001

Creating and Using Linux Emergency Recovery Disks

BETTERSAFE THANSORRY

MARTIN MILNER

What would you do if the

Linux system you spent

many hours building

suddenly wouldn’t load? –

due to a mistake during

configuration? Re-install?

What about your precious

data? In this article, we’ll

explain the steps necessary

to create a complete Linux

system which will boot

from floppy disks and

allow you to perform

essential recovery work

like restoring a backup of

your root filesystem. (You

have got one, haven’t

you?)

Page 67: Linux Magazine UK 005

creating below. The compact option speeds up theloading process and the append line tells the kernelto prompt for a root filesystem and load it into theramdisk.

Once finished, you will have a floppy diskcontaining your current kernel, LILO and a numberof other system files (see figure 3). When youreboot your machine with this disk inserted, LILOwill give you the choice of booting up off your harddisk or typing in rescue to boot from floppy. Afterchoosing rescue, you will eventually be asked for adisk containing a root filesystem, which is whatwe’ll create next.

Creating a root filesystem

The root filesystem must contain everything neededto support a full Linux system. In other words:1. The basic filesystem structure.2. A minimum set of directories. (/dev, /proc, /bin,

/etc, /lib, /usr, /tmp, etc.)3. A basic set of utilities. (bash, ls, cp, mv, etc.)4. A minimum set of config files. (inittab, fstab, etc.)5. Devices. (/dev/hd*, /dev/tty*, /dev/fd0, etc.)6. Runtime libraries to provide basic functions used

by utilities.To allow us to have as many files, utilities, etc. aspossible in our root filesystem, we’ll build acompressed filesystem. Obviously, this means we’llhave to build it elsewhere. There are a number ofways of doing this.1. Use a ramdisk. (/dev/ramdisk or /dev/ram0).2. Use an unused hard disk partition.3. Use a loopback device, which allows a disk file to

be treated as a device. (For which you needspecially modified mount and unmountcommands.)

For this excercise, we’ll assume you haven’t got anunused partition or the disk space to create one anduse a ramdisk. First, prepare the ramdisk:

dd if=/dev/zero of=/dev/ramdisk bs=1k count=U4000 (approx. 4Mb.)

Next, create the filesystem:

mke2fs -m 0 -i 2000 /dev/ramdisk

mke2fs will automatically detect the spaceavailable. The -i 2000 is to increase the amount ofinodes to make sure we don’t run out. Now makean appropriately named mount point (if you haven’tdone so before) and mount the new filesystem:

mkdir /mnt/ramdiskmount -t ext2 /dev/ramdisk /mnt/ramdisk

Copy over the appropriate device files from the /devdirectory like this:

mkdir /mnt/floppy/devcp -dpR /dev/hda? /mnt/ramdisk/dev

Repeat the above for all the devices you mightneed. Next create the other directories on thefloppy and then copy all the other files into them.See the boxout for an example of the required filesand directories. Be especially careful that symboliclinks are preserved. (Many of the library files in /libare links.)

Config files and finishing off

Some of the config files will need changing toreflect their intended use. See figure 4 for thecontents of the files that will require editing. Whenyou’ve done all that and are reasonably happy thatall is well, do the following:

umount /mnt/ramdiskdd if=/dev/ramdisk of=rootfs bs=1k gzip -v9 rootfs

When gzip is finished, rootfs.gz contains thecompressed root filesystem. Make sure thatrootfs.gz will fit on a floppy disk. If it’s too big unzipit, remount the filesystem as before, delete somestuff out of it and try the above again.

Finally, it’s time to write it to floppy disk,

dd if=rootfs.gz of=/dev/fd0 bs=1k

KNOW-HOWBOOTDISK

5 · 2001 LINUX MAGAZINE 77

Figure 2 - How /etc/lilo.conf should lookFigure 1 - Using mkbootdisk to make the boot floppy

Page 68: Linux Magazine UK 005

KNOW-HOW BOOTDISK

78 LINUX MAGAZINE 5 · 2001

Example of contents of a floppy root filesystem/mnt/ramdisk:bin dev etc lib mnt mnt2 proc root sbin tmp usr var

/mnt/ramdisk/bin:bash cat chmod chown cp date dd df echo false grep hostnameid ln login ls mkdir mknod more mount mt mv pspwd rm rmdir sh stty su sync touch true umount uname

/mnt/ramdisk/dev:cdrom cdu31a console fd0 hda1 hda2 hda3 hda4 hda5 hda6 hda7 hda8hda9 hdb1 hdb2 hdb3 hdb4 hdb5 hdb6 hdb7 hdb8 hdb9 hdc hdc1hdc2 hdc3 hdc4 hdc5 hdc6 hdc7 hdc8 hdc9 hdd1 hdd2 hdd3 hdd4hdd5 hdd6 hdd7 hdd8 hdd9 kmem mem null ram ram0 ramdisk sda1sda2 sda3 sda4 sda5 sda6 sda7 sda8 sda9 sdb1 sdb2 sdb3 sdb4sdb5 sdb6 sdb7 sdb8 sdb9 tty0 tty1 tty2 ttyS1 zero

/mnt/ramdisk/etc:conf.modules fstab gettydefs group inittab issue ld.so.cache motdnsswitch.conf pam.d passwd profile rc shadow shells termcap ttys utmp wtmp

/mnt/ramdisk/etc/pam.d: other

/mnt/ramdisk/lib:ld-2.1.1.so ld-linux.so.2 libc-2.1.1.so libc.so.6libcom_err.so.2 libcom_err.so.2.0 libcrypt-2.1.1.so libcrypt.so.1libdl-2.1.1.so libdl.so.1 libdl.so.1.9.5 libdl.so.2libext2fs.so.2 libext2fs.so.2.4 libnsl-2.1.1.so libnsl.so.1libnss_files-2.1.1.so libnss_files.so.2 libpam.so libpam.so.0libpam.so.0.66 libpam_misc.a libpam_misc.so libpam_misc.so.0libpam_misc.so.0.66 libproc.so.2.0.0 libpwdb.so libpwdb.so.0libpwdb.so.0.58 libtermcap.so.2 libtermcap.so.2.0.8 libutil-2.1.1.solibutil.so.1 libuuid.so.1 libuuid.so.1.2

/mnt/ramdisk/lib/modules/2.2.12-10/block: loop.o

/mnt/ramdisk/lib/modules/2.2.12-10/cdrom: cdu31a.o

/mnt/ramdisk/lib/security: pam_permit.so

/mnt/ramdisk/mnt: cdrom floppy

/mnt/ramdisk/sbin:depmod fdisk halt head init insmod kerneld lsmod mingettymkswap modprobermmod shutdown sulogin swapoff swapon tail update

/mnt/ramdisk/var: log run tmp

/mnt/ramdisk/var/log: wtmp/mnt/ramdisk/var/run: utmp/mnt/ramdisk/var/tmp: tmp

Example contents of a Utility diskmnt/floppy:bin lib lost+found man sbin share/mnt/floppy/bin:cut diff du find gunzip gzip passwd tar vi/mnt/floppy/sbin: chroot fuser lilo mke2fs mkfs mkfs.ext2

Page 69: Linux Magazine UK 005

Creating an Utility disk

The Utility disk is a disk full of extra programs whichwouldn’t have fitted on the root filesystem, thingslike such as vi, tar, etc. and maybe programs thatreside in /usr/bin and /usr/sbin. These give you theability to perform many more activities than wouldotherwise be the case. (See boxout for example.)Simply follow the steps below, and that´s it!

Insert a blank formatted floppy and type,

mkfs -t ext2 /dev/fd0mount -t ext2 /dev/fd0 /mnt/floppycd /mnt/floppymkdir bin;mkdir sbincopy (using cp) the programs you think will bUe useful to these directories.cd /;umount /mnt/floppy

Using the Emergency disk set

On rebooting the machine, follow the steps below,1. Insert the emergency boot disk and wait for the

LILO prompt.2. At the prompt, you can either boot from the hard

disk as normal (if the Linux system isn’t broken) oryou can type rescue to boot from the floppy.

3. After a while a prompt will appear asking you toinsert the root filesystem disk. Do so and press enter.

4. Wait for the login prompt and login as root. If youwant to use programs off your utility disk, insert itand call:

mount -t ext2 /dev/fd0 /usr

You can then mount your hard drive filesystemsand/or do whatever needs doing.

In Conclusion

There are many, many more aspects of the abovethan can be gone into in a magazine such as this.The essential read is the ‘Linux BootdiskHOWTO’, which can usually be found in/usr/doc/HOWTO or /usr/share/doc/HOWTO onyour system.(Bootdisk-HOWTO.) It contains alarge amount of detailed information on thissubject and more importantly, what to check ifyou run into problems.

However, the above should give you a goodidea of what’s involved and may even help you get alogin prompt first time! Good luck. ■

ADG. Matter

Figure 3 - The contents of a typical boot disk

Figure 4 - The edited config files for the root filesystem

Page 70: Linux Magazine UK 005

KNOW-HOW CONNECTIVITY

80 LINUX MAGAZINE 5 · 2001

PDAs are undoubtedly invaluable gadgets and have all sorts of uses.

Using Linux as a gateway, they can even be used for surfing the Web,

reading emails or administering a server via Telnet. This feature will tell

you exactly how to do all this using a Psion PDA. However, the basic

principles we’ll cover will point you in the right direction when it

comes to using other types of client computer too.

PDAs worth theirsalt have a serial interface

of some kind that lets themcommunicate with the outside world.

Most modern PDAs also include a range of Internetapplications as standard, so all you need to getonline is a modem. Alternatively, you can simply linkthem via a null modem cable to a Linux system thathas an Internet connection. You’ll need to know thesecrets of mgetty and pppd in order to do so, butthese (and how a Psion PDA can make use of them)

are exactly what we’ll reveal in this feature. Almosteverything we’ll cover can be applied to any systemcapable of connecting to a Linux box using a seriallink, including old Atari, Amiga and even Intel80286-based systems.

Preparing the Psion

Before we do anything else, we have to make theclient computer – in our case the Psion organiser –Internet-capable. A glance in the Psion’s system

Turning PDAs into Linux terminals

BRAINSWAPTHE

SECONDCLEMENS RUDOLPH

Page 71: Linux Magazine UK 005

control panel (see Figure 1) reveals three icons usedto configure connections with the outside world:Dialling, Modems and Internet. But since we’ll beusing a fixed connection, we’ll ignore Dialling.

We’ll start with the Modem configurationoption. All we need to do is select ”Directconnection” for the ”Current modem” option.Next, turning to the Internet configuration option,we need to use the ”New” option to make a newprofile based on ”Default settings”, then give it anappropriate name – we’ll use ”Intranet”, butanything will do. The settings that appear when youselect the ”Edit” option are shown in thescreenshots in Figure 2. These are prettystraightforward to configure as needed.

At this point there is just one other step tocomplete on the Psion; as paradoxical as it may sound,in the PDA’s main menu, under ”Extras”, we have tochange the ”Link” option to ”OFF” in the”Communication” section. This is the only way to getthe little organiser to perform purely TCPcommunication and to stop it acting as a PsiWin client. The next step is to start configuring our Linux box

Configuration of the gateway

Two basic types of connection are possible between aclient and our Linux system. The first is a simple consoleconnection, in which only a log-in (thus a console) isopened. The second type of connection makes use ofthe Point-to-Point Protocol, or PPP for short.

Using these two types of connection, the linkbetween the Psion and the Internet can be made, thePsion’s ”Comms” terminal program making use of theconsole connection, and its ”Web” and ”Mail”programs making use of a ”Point-to-Point” connection.

Port monitoring with mgetty

In order to build our communications framework,we firstn

KNOW-HOWCONNECTIVITY

5 · 2001 LINUX MAGAZINE 81

Fig. 1:Communicationmenus in the Psion’scontrol panel

Page 72: Linux Magazine UK 005

KNOW-HOW CONNECTIVITY

82 LINUX MAGAZINE 5 · 2001

Fig. 2:Configuring anInternet service

Page 73: Linux Magazine UK 005

KNOW-HOWCONNECTIVITY

5 · 2001 LINUX MAGAZINE 83

Figure 3: Console log-inwith Comms

Espionage with logwinWhen using a high debuglevel, as we have done in our examples, it makes sense to keep aclose eye on the outputs of the services in order to see if anything is wrong. To do so, whenworking under X, you can use xterm (or similar) and an appropriate console to look at anyinteresting logfiles.To achieve this for xterm (and its variants) we need to change to root mode using ‘su -l’, andthen type

xterm -e tail -f /var/log/messages /var/log/warn /var/log/mgetty.ttyS[0-9]

The regular expression ”[0-9]” at the end is necessary to capture only files ending in anumber and not, for example, an old log file already automatically grabbed by the system.This would obviously cause some confusion in the case of tail.

Page 74: Linux Magazine UK 005

KNOW-HOW CONNECTIVITY

84 LINUX MAGAZINE 5 · 2001

Table 1: The pppd-options and their effectpppd-Option Description crtscts This activates hardware flow control.lock This parameter serves to hang a UUCP-conform lock in front of the device in use. In other words an exclusive user

right to the COM-port is established for the process accessing it at that moment (/var/lock/...).noauth With this option, authentication (which in our case would cause interference) is suppressed.noccp This option ensures that no CCP (Compression Control Protocol) negotiation occurs during the connection. The

Linux machine and the Psion negotiate about compression at start of the connection process (whether wanted ornot), but the pppd, which stems from a time in which telephone lines were even more unreliable than they are today, normally tries to keep negotiating every 10 seconds.

nopersist This parameter is not absolutely necessary, as it applies by default. We have included it for completeness and security reasons though (see ‘Read sequence of configs of pppd’ in the text). In any case, it makes sure that the pppd stops when a serial connection (from the Psion) is closed. This, of course, only makes sense if an existing connection is checked by LCP (Line Control Protocol)

silent Silent serves to ensure that the daemon continues to wait patiently until something stirs on the line. It instructs the daemon to wait, ”silently” for whatever comes in and do nothing until then.

proxyarp Using this parameter, an entry containing the IP address that we need for the Psion is added to the ARP table (or Address Resolution Protocol Table to give its proper name). Effectively, it means something like ”It is now one of us”.

local This tells the daemon that it doesn’t need to worry about a modem on the serial line, and soit

Transport of configuration filesOne option for transferring the configuration files required to give a Psion Internet accessfrom one PC onto another would be to save the data to floppy disk. However, a much moreelegant solution is to store the configuration onto the Psion itself and transfer it to the hostas required. This does necessitate a program to be run on the host that allows a serial datatransfer for files. This is where the almost ubiquitous minicom, which acts as a terminalemulator, comes in handy. By linking this with the Psion’s Comms program it is very simpleto exchange files between the two systems. The y-modem protocol comes in vary handyhere. A few tips on how all this works can be found at http://www.mda.de/homes/tron5/psilink.html.

Page 75: Linux Magazine UK 005

KNOW-HOWCONNECTIVITY

5 · 2001 LINUX MAGAZINE 85

About the authorClemens Rudolph is aprogrammer for an ISP, andspecializes in PHP and Perl. Henever tires of poking aroundin the bowels of his system.

”Comms versus Hermes”Hermes, a Telnet client and terminal emulation program for the Psion (available fromhttp://www.iota.demon.co.uk/psion/hermes/hermes.html), is a really amazing application thatcan provide a pure serial console connection as easily as a PPP-connection. In contrast, Commsis ”only” a terminal and so can only be persuaded to work with the likes of login or minicom.This means that Hermes is really great when you need to log in to a Linux box on which youdon’t have root privileges. You can start pppd as normal user, provided the rights have beenset accordingly and on call up the path is given as /usr/sbin/pppd .... You will need to makesome configuration changes in Hermes in order to do so though. In the ”Connection” menu,look for the ”Connection” option and switch it to ”TCP-Connection”. Now all you need to dois enter the IP address of the destination system and you’ll have a Telnet log-in in seconds.

Page 76: Linux Magazine UK 005

PROGRAMMING GNOME

86 LINUX MAGAZINE 5 · 2001

So you’ve justwritten yet another

terrific GNOMEprogram. Great! But

does it, like so manyother great programs,

lack something in terms ofease of installation? Even the

best and easiest to use programswill cause headaches if you have to

type in lines like this,

gcc -c sourcee.c gnome-config —libs —cflags gnome gnomeui gnomecanvaspixbuf -o sourcee.o

perhaps repeated for each of the files, and maybewith additional compiler flags too, only to thendemand that everything is linked. And at the end,do you then also have to copy the finished binarymanually into the destination directory? Instead,wouldn’t you rather have an easy, portable andquick installation process? Well, you can – if youknow how.

Front end

The complicated installation scenario we describedabove is of course a bit of an exaggeration, sinceMakefiles are not hard to write. Using these, all youneed to do is type make in the source text directory,and the program is created. A ”simple” Makefile fora short C-program in GNOME can look something

like the one in Listing 1. Not too complex, eh?Unfortunately, creating a Makefile isn’t always thebest solution, as assumptions on programslocations, path names and others things may not betrue in all cases, forcing the user to edit the file inorder to get it to work properly.

Listing 1: A simple Makefile for a GNOME 1: CC=/usr/bin/gcc2: CFLAGS=`gnome-config —cflags gnome gnomeui`3: LDFLAGS=`gnome-config —libs gnome gnomeui`4: OBJ=example.o one.o two.o5: BINARIES=example6: 7: all: $(BINARIES)8: 9: example: $(OBJ)10: $(CC) $(LDFLAGS) -o $@ $(OBJ)11: 12: .c.o:13: $(CC) $(CFLAGS) -c $<14: 15: clean:16: rm -rf $(OBJ) $(BINARIES)

That’s not what you wanted, is it? No, what youwanted is something much simpler. Something likethis, perhaps?

./configuremakemake install

But hang on, we’re getting ahead of ourselves. Firstwe need to deal with the source text tree and the

With the help of

Automake and Autoconf,

you can create easily

installed source code

text trees. Read on to

find out how.

Source code trees

IN THE VALLEY

OF THECODE

THORSTEN FISCHER

Page 77: Linux Magazine UK 005

PROGRAMMINGGNOME

5 · 2001 LINUX MAGAZINE 87

GNOME-specific properties that must be taken intoaccount when building one.

Structure

It is important to have a structure for the source texttree. The source code itself should be locatedseparately from other things such as thedocumentation or the files for configuration – doingso makes it easier to get an overview. So the firstthing we’ll do is to create a directory calledexample, which will be the site for our tree, thencreate a src within it for our code and throweverything we need in there. To stick with the filesused in the Makefile example in Listing 1, thismeans the files example.c, one.c, one.h, two.c andtwo.h. The first of these files is shown in Listing 2,while the other four are empty and are onlyincluded as an example.

Listing 2: example.c1: #include <gnome.h>2: #include "one.h"3: #include "two.h"4: 5: int main (int argc, char *argv [])6: {7: GtkWidget *app;8: 9: gnome_init ("example", "0.0.1", argUc, argv);10: app = gnome_app_new ("example", "ExaUmple");11: 12: gtk_widget_show_all (app);13: gtk_main ();14: return TRUE;15: }

Documentation: A tiresome step for everyprogrammer, but one that co-developers and userswill be grateful for. The following files are the donething to put in a source directory:

* Authors: The authors are listed here* ReadMe: Everything worth reading on thUe program* News: News concerning the program* ChangeLog: Documentation of all changes* Copying: A copy of the GNU GPL* Install: Installation instructions

These are the most important files, but there areothers too. Where do these files come from? Thefirst three are obviously ones you have to makeyourself, while the last two should preferably becopied from the automake directory.

Automake

automake and autoconf are two small GNU tools,which can be obtained from ftp.cs.tu-berlin.de/pub/gnu/. These tools create yourconfiguration files for you, which then only have tobe executed by the user in order to get everythingdone for them. Users don’t have to have installed

the aforementioned programs themselves, mindyou, as the source text package from ourapplication is all that is needed for this procedure.How the two programs should be installed (if youcan’t simply take them from the developer sectionof your distribution CD that is) is something you canprobably guess at.

But before we attach automake and autoconfto our sources, there is still some preparatory workto be done. We need to create two more files –namely configure.in and Makefile.am – examples ofwhich can be seen in Listings 3 and 4.

Listing 3: configure.in1: AC_INIT(src/example.c)2: 3: AM_CONFIG_HEADER(config.h)4: 5: AM_INIT_AUTOMAKE(Example, 0.1.0)6: 7: AM_MAINTAINER_MODE8: 9: AM_ACLOCAL_INCLUDE(macros)10: 11: GNOME_INIT12: 13: AC_PROG_CC14: AC_ISC_POSIX15: AC_HEADER_STDC16: AC_ARG_PROGRAM17: AM_PROG_LIBTOOL18: 19: GNOME_COMPILE_WARNINGS20: 21: ALL_LINGUAS="de"22: AM_GNU_GETTEXT23: 24: AC_SUBST(CFLAGS)25: AC_SUBST(CPPFLAGS)26: AC_SUBST(LDFLAGS)27: 28: AC_OUTPUT(29: Makefile,30: macros/Makefile,31: src/Makefile,32: intl/Makefile,33: po/Makefile.in34: )

Listing 4: Makefile.am1: SUBDIRS=macros po intl src2: 3: Applicationsdir=$(datadir)/gnome/apps/ApUplications4: Applications_DATA=example.desktop

The two files are basically easy to explain. We’ll startwith configure.in.

In the first line autoconf is initialised, with thename in brackets of any existing file. The mainsource file is ideal for this. AM_CONFIG_HEADERspecifies a header file, which is intended later tocarry the specific information for the configuredpackage and which must also be integrated into thesource text – but more on that later. Note thedifferent prefixes that the macro names carry: AC_designates a macro for autoconf, and AM_ (hardlysurprisingly) refers to automake. automake will also

Page 78: Linux Magazine UK 005

PROGRAMMING GNOME

88 LINUX MAGAZINE 5 · 2001

be concerned with the content of this file, but againmore on that later. It will be initialised in line 5complete with the name of the package and itsversion number. If, during the course ofdevelopment, you feel enough has happened topush this number up a notch, then don’t forget tonote the fact here as well as elsewhere.

In the ninth line, the macros directory is addedto the aclocal search path. This is yet another thingwe haven’t mentioned yet, and it won’t be the last.It deals with the administration of the macros whichare called up in configure.in (macros can be copiedfrom the gnome-libs source package, by the way).This is then followed by the initialisation of GNOME,various standard macros to search and test a C-compiler, some header files, POSIX-conformity ofthe system and so on. Then in line 19 compilerwarnings are switched on.

Line 21 is concerned with localisations of theprogram; our example assumes the existence of”de” translations, but any supported locale can beused. The next line, gettext, is also necessary forlocalisation. You don’t have to create internationalinstallations, of course, but it really does add atouch of professionalism – and is also a great way toshow off your language skills.

The lines 24, 25 and 26 export the variables,compiler and linker flags, which have been definedduring the processing of the file, so that they canactually be used in the program. The last linesfollowing AC_OUTPUT finally specify whereMakefiles should be created. Line 33 is not a typo,by the way.

Makefile.am

This is a template file, to create – via anintermediate step when it will be called Makefile.in– an individual or all completed Makefilesrespectively. The first line lists all subdirectories inwhich additional templates are located and/or inwhich Makefiles should be created. Lines threeand four specify the directory in which ourprogram should place its Desktop file, with the aidof which it will later pop up in the GNOME menus.

One more item of importance now is theMakefile.am in the subdirectory src, containing theactual sources of the program. An example can beseen in Listing 5.I have adapted this example from HavocPennington’s ‘Gtk+/GNOME ApplicationDevelopment’. Firstly, the Include-Directories aredefined, and then the source files for the finishedprogram are named. Finally the flags for the linkerare set, which should amalgamate the compiledobject files.

Et voila

And now it’s almost done! The followingcommands now deal with the creation of ourconfiguration scripts, Makefiles and so on:

frog@verlaine:~/code/example # libtoolize U--copy --forcefrog@verlaine:~/code/example # gettextize —cUopy —forcefrog@verlaine:~/code/example # aclocalfrog@verlaine:~/code/example # autoheaderfrog@verlaine:~/code/example # automake —adUd-missing —copyfrog@verlaine:~/code/example # autoconf

The first command is necessary mainly for creatinglibraries. It also copies scripts into the directory,which are needed elsewhere. —copy requestscopying rather than the creation of Symlinks – thenormal default setting – and —force creates thefiles again, even when they already exist.gettextize gives the package the necessary filesfor internationalisation and localisation. aclocaledits the macros and autoheader makes a fileconfig.h.in, which is then created by automakeand autoconf. Now, for package creation, we justhave the easy target dist: after calling upconfigure a make dist produces a ready-wrappedparcel, in our example called example-0.1.0.tar.gz. In the macros directory, you’ll find alittle script called autogen.sh, which can take overthese calls for you. You don’t have to keepexecuting these by hand once you have added asource text file.

Listing 5: src/Makefile.am1: INCLUDES=$(top_srcdir) -I$(includedir)$U(GNOME_INCLUDEDIR) \2: -DG_LOG_DOMAIN=\"Example\" \3: -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \4: -I../intl -I$(top_srcdir)/intl5: 6: bin_PROGRAMS=example7: 8: example_SOURCES=example.c \9: one.h \10: two.h \11: one.c \12: two.c13: 14: example_LDADD=$(GNOMEUILIBS) $(GNOME_LIBUDIR) $(INTLLIBS)

Listing 6: src/example.c1: #include <gnome.h>2: #include <config.h>3: #include "one.h"4: #include "two.h"5: int main (int argc, char *argv [])6: {7: GtkWidget *app;8: 9: gnome_init (PACKAGE, VERSION, argc, argv);10: app = gnome_app_new (PACKAGE, _(”ExampleU”));11: 12: gtk_widget_show_all (app);13: gtk_main ();14: return TRUE;15: }

Page 79: Linux Magazine UK 005

PROGRAMMINGGNOME

5 · 2001 LINUX MAGAZINE 89

Changes in the sources

As the result of the creation of the file config.hthere may be some other changes to the sourcetext. In particular details of the name of the packageand the version number can now be accessed moreeasily. Listing 6 shows the code for the example fileafter the changes. The macro _() in the tenth line isneeded because of our desire to internationalise ourpackage.

The desktop file

In our main source directory, the empty fileexample.desktop will still be lurking around. If this isfilled with content, as can be seen from Listing 7,and if the line

EXTRA_DIST = example.desktop

is entered in its main Makefile.am, then when the

completed program is installed a Desktop entry will beadded to the GNOME menu hierarchy. This entry maycontain localised names – such as in German as shownhere–, a comment – again localised –, the name of theexecuted file, the file type and the fact that theapplication should not be executed in a terminal.

Glade

I shouldn’t really be telling you this right at the end,but a program called Glade (see glade.pn.org/) cancreate complete source text trees for you at thepush of a button. This doesn’t mean you shouldn’tbother working ”by hand”, as described in thisarticle, though. Why? Well, primarily because Gladecan only create a quite rudimentary tree. As soon asyou want more than Glade has to offer, you have toget to work by hand anyway, and this will onlymakes sense to you if you have some priorknowledge of doing so, which we’ve just given you.Indeed, having created your own source tree, youcan sleep soundly at night in the knowledge that ifthere is ever any problem then you can make yourown changes in no time, without having to throwyourself on the mercy of a graphical user interface.

So there you have it – how to create easilyinstalled packages in a nutshell. Do please give it atry – you’ll be making the Linux world a better placefor everybody if you do. ■

Length 3.5 pages 1/page ad across bottom right

Listing 7: example.desktop1: [Desktop Entry]2: Name=Example program3: Name[de]=Beispielprogramm4: Comment=An example5: Comment[de]=Ein Beispiel6: Exec=example7: Terminal=08: Type=Application

Page 80: Linux Magazine UK 005

Blender 2.0 was released at the Siggraph event inJuly 2000 by the Dutch firm Not a Number (NaN). Asignificant new release, it includes some quitestunning new features that many a Blender fan hadbeen awaiting feverishly, including a built-in gameengine allowing for fast drafting of games models.The initial release of this new version does have oneor two problems, a slightly wonky physics engineand missing Linux sound support being the mostsignificant. The package is undergoing very rapiddevelopment, though, and a new version appearson the Internet (http://www.blender.nl) pretty muchon a monthly basis. This is a good thing, butbecause things are changing so quickly you shouldexpect some compatibility issues to arise. Collisiondetection and game dynamics are likely to workdifferently before too long, for example, and a newphysics engine is currently being worked on. Also inthe development phase is a new Python-API, withwhich allows even more complex game actions andobject types to be defined.

Having said all this, the most current version atthe time of writing, version 2.04, works very wellindeed. It is extremely simple to create interactiveenvironments without even having to write a singleline of code. More complex game concepts can alsobe created with ease too, but doing so does requirea little bit more time and effort. You should beaware, though, that you won't have much fun withBlender 2.x without 3D hardware support. I use anVidia TNT2 under XFree86 4.0, but other cards willwork too.

How do I produce a game?

This feature is aimed at those who are alreadyfamiliar with Blender and virtual reality. We will stillgo through a very quick overview of the individualsteps in the creation of a Blender gameenvironment though, just in case you are a bit rusty.

Create the level: Blender usually organises agame level in a Scene. This, in turn, is split up into

PROGRAMMING GAME-BLENDER

90 LINUX MAGAZINE 5 · 2001

Blender, the well-known freeware

modeller, now has some

additional talents. Version 2.0,

also known as "Game-Blender",

includes special functions that

allow you to create complete 3D

games in next to no time.

Workshop – Game prototyping with Blender

CHILDSPLAYMARTIN STRUBEL

Fig.1: Snapshot of a test level created with Blender

Page 81: Linux Magazine UK 005

sectors, for which transparency tests areperformed. In order to be able play a level at areasonable speed (in other words at a high frame-rate) you should give a lot of thought to thesubdivision of a level into sectors using polygoncomplexities.• Add moving objects: Generally, animated or

moving objects are called Props (short forproperties – i.e. characteristics). Moving objects,which should be subject to the laws of physics –such as the player, monsters, or bullets, areregarded as actors. The engine evaluatescollisions between these objects and otherobjects.

• Interactivity: Certain events trigger actions, whichare defined in Blender using what's known as aSCA mechanism. SCA stands for Sensor-Controller-Actuator. This is when an object (Prop or Actor) isassigned one or more sensors. These react tocertain events such as key actuations and arelinked logically with other events by Controllers.They can, using Actuators, trigger an action suchas an animation. The method will be explainedlater using the example of a Switch-object.

• Process and refine dynamics: The materials menuin version 2.0 has been expanded, a DYN (fordynamic materials) option having been added.This makes it possible to define physicalproperties of a surface (such as friction, elasticreflection, etc.). In addition, global parametersapply to the player object, such as generalfriction, gravitation and so forth.

An example

Ok, now that you have the basics under your belt,let's go on to create a simple environment.

1. First create a plane. Now scale it throughEditMode to the desired size – Blender alwayssets object scaling to (1.0,1.0,1.0) for sectors assoon as the engine is started. Extrude a point inthe Z-direction as can be seen in the picture.Especially important is the direction of the areanormals, which are displayed via the Edit button([F9]) by Draw Normals – if applicable increaseNSize. Inverting the direction of normals is donevia W and Flip Normals.

2. Leave Edit mode and activate the Sector option inthe RealTime menu (lilac Pac-Man).

3. The sector thus created is drawn with BoundingBox. Copy this sector using Shift+D several times(while holding down Ctrl), so that they jointogether as in Figure (c).

Now add, on top of the ground you've justcreated, an additional mesh and activate the Actorattribute for this, followed by the Dynamic andMainActor options. You guessed it – this is ourplayer. Dynamic actors possess additional attributestoo – see Table 1.

We'll tell you more about attributes later – firstwe need to define a few sensors for the object,which for the purposes of our example, we've nowrenamed as player.

The link of the signal channels occurs via theyellow blobs by clicking the mouse on theoutput-blob, holding it down, and drawing theline to the input-ring. The signal channel is

removed by clicking on this. Now create an SCAcombination as in Fig. 2 by adding a Keyboardtype sensor, clicking in the Key field and pressingthe desired key – for an up-arrow selectUparrow, for example. For the actuator, select anObject with a Force of 1.0 in Y-direction. Now tryto add rotation-actions by registering suitablesensors to the left and right arrow keys. ForTorque use a value of around 0.4 (left rotation)and -0.4 (right rotation) in the third co-ordinatefield (Z). You should also activate the axis displayof the object ([F9]): Axis. Also take note of the L(for local) button nearby. When activated,movement occurs with respect to the local co-ordinate system of the actor – if not then theglobal or superordinate co-ordinate system isused. You can test the control straight away bypressing the hot key to start the engine: P for

PROGRAMMINGGAME-BLENDER

5 · 2001 LINUX MAGAZINE 91

Table 1: Actor attributesDo Fh Activate Normal forceRot Fh Align on the level (e.g. for car on racetrack)Mass MassSize Radius of collision sphereDamp Damping of movementRotDamp Damping of rotation

Fig. 2: Creating a sensor for forwardmovementUsing Add, a new sensor, controlleror actuator can be added. Via theselection menu, the type of sensor(Always, Keyboard, etc.), or thelogical link of the controller or theaction of the actuator is selected. Inaddition to this any drawing can beentered. With the orange triangleyou can pack in the input formrespectively. You can find additionaldetails about the display options inTable 2.

Table 2: Display optionsSel Display all selected objects Act Display only active object (pale-lilac) Link Show links too

Page 82: Linux Magazine UK 005

Play! If you press Esc, play-mode will be endedand the position of the player will be reset. Thespace bar also ends play mode, but in this caseretains the current position of the player.

In the next step we want to test the sectorconfiguration. Use the space bar to add a camera,position it at the site of the player. Make the latterthe camera's parent by selecting first the camera,then the player while at the same time holdingdown Shift and then the key combination Ctrl+Pfor Make Parent. Rotate the camera so that it'sfacing the Y-direction (forwards) of the player.Now make this camera active by selecting it andpressing Ctrl+Num+0 (that's 0 on the numerickeypad). Now switch to TopView with Num+7.Press P, control the player, and observe theautomatic revealing and masking of the sectors,depending on visibility, as in Fig. 3. The playermesh here is in the form of an arrow for the sakeof greater clarity.

When handling sectors there are a fewimportant details to be noted: • Always process sectors in edit mode; scaling and

rotation in object mode leads to undesired effects.• Sectors can and should overlap somewhat,

although interlacing should be avoided. • Do not apply parenting hierarchies of sectors –

this often causes strange behaviour in thevisibility test.

• The lilac centre point should lie within thebounding box.

• Visibility is computed using the viewfinder of thecamera, taking into account the clipping values.Covering areas are not (yet) evaluated; if youwant to suppress the visibility of an adjacentsector, a gap between the sectors larger than 0.5units has to be created.

The secret is in the optics – UVmapping

If you switch the current 3D window into cameraview using Num+0, our test level looks rather bland– it lacks texture. Nor does our terrain have anysensible boundary. Like the old idea of a flat Earth,we fall off the edge of the world as soon as weleave a marginal sector. For this reason it is best tocreate a few level elements in order to add a littlemore spice. The simplest option is labyrinthinesystems of passages and underground spaces,which require little planning from the point of viewof sector organisation. We'll start with simplepassage elements as shown in Figure 4. To do this,download the demofile fromhttp://www.section5.de/game/demos/. Thiscontains what you might call a mini-adventure inwhich a goal has to be reached. You should becareful though, as you could get yourself killed.

Select one of the passage elements and pressthe / key on the numeric keypad. This switches youto LocalView, which means that only selectedobjects are displayed. Now press F for Face Select

PROGRAMMING GAME-BLENDER

92 LINUX MAGAZINE 5 · 2001

Fig. 4: Simple passage system

Table 3: Mapping optionsCube cubic mappingCylinder cylindrical mappingSphere spherical mappingBounds to 64/128 Use current view for projection, adjust boundaries to 64x64

or 128x128 respectivelyBounds to 128 As above, boundaries 128x128Standard 64/128/256 Quadratic mapping 64x64/128x128/256x256From Window Use current view for projection

Table 4: Draw modesTex Textured areasTiles Tile image for animated or combined texturesLight Area uses dynamic lightingInvisible Cannot be seenCollision Collision detectionShared Share vertex coloursTwoside Double-sided areaObColor Use object colour (material)Halo Halos, always turned towards the cameraOpaque Covering textureAdd Adding texture (halos)Alpha Alpha texture (water, pane of glass, etc.)

Fig. 3: Visibility of sectors

Page 83: Linux Magazine UK 005

mode, in which UV texturing is performed. To dothis, open a second window with the ImageWindow (Shift+[F10]). If you select the front door ofthe level (entrance) for instance, the UV mappinglooks like Fig. 5.

In Face Select mode, areas are selected withthe right mouse button (cross-wire selection viaB also works). The associated UV co-ordinates ofthe areas selected are displayed on the right inthe Image Window and can be moved, scaledand rotated with the normal Blender commands.But this mapping is a tedious task, especiallywith multi-surface objects. Luckily, Blender offersthe option of automatic mapping. Position themouse cursor over the 3D Window (Fig. 6 left)and press U. When you do this, the optionsdescribed in Table 3 will be offered. For thepassage system, cube mapping with a size of0.60 has been used throughout.

Take note of the red and green edge markingof the active areas. These help in orientation. Forthe active areas, Draw modes (view attributes)are displayed under the paint buttons (see Fig. 6)

You will normally use options selected in thepicture. The ceiling light fitted at the entrance(lantern) also uses the Tiles, Twoside and Alphaoptions, as well as Halo and Add for the middleareas. If you want to change the Draw Modes ofseveral areas at once, select the desired faces,select Draw Mode and then use Copy Draw Mode.This will copy the attributes of the active areasonto the selection. In the same way, Copy UV+texcopies the texture plus mapping, and CopyVertCol copies the vertex colours.

Areas without any texture assigned aredisplayed in the texture view in a hideous pink. Inthis view the direction of the area normals is alsorelevant, which means the faces are visible onlyfrom the outer side (to which the normal ispointing). The direction of the area normals of afairly uncomplicated or closed object can beoriented automatically by selecting the desiredvertices or areas via Ctrl+N (or Shift+Ctrl+N). If this

fails, the object might possess overlapping orsuperfluous areas internally (as can sometimes arisewith extrusion).

Textures

For each area, an image can be selected or loaded intothe image window using Load. When you do this, notethat the dimensions of the texture must correspond toa power of two, for example 128x128 or 512x64. Itwon't be shown in the texture view otherwise.

In the image window header further optionsare shown which activate tile mode for animation(see Fig. 7). Subdivision is done with the leftnumber buttons. For an animated texture, whichcan also be put together rather elegantly from asequence using the montage ImageMagick tool,activate Anim and set start and end frames withthe number buttons on the right. The Cycleoption has no effect for the moment. The partialimage in the activated tile mode is selected byholding down Shift then clicking the left mousebutton on the image. For tiled textures, such asthe torch texture in our mini-adventure, the ruleis that the dimension of the subdivision in tilemode (see Draw Modes) must correspond to apower of two, but not the total dimension. For a5x5 subdivision, then, with a tile size of 32x32 thistherefore gives the total quadratic dimension of thetexture image of 5 x 32 = 160.

A bit of dynamics – the physicsengineThe current physics engine evaluates collisions ofactor-objects with areas over a sphere with a radiusSize (see actor attributes in Table 1). In the case ofactors such as deformed Kraken monsters, thisnaturally leads to a problem when it comes tocollision detection. The solution to this will have towait until Blender 2.1 (with its improved engine)appears. If we limit ourselves to a first-person shoot-'em-up there is no need for us to worry too much

PROGRAMMINGGAME-BLENDER

5 · 2001 LINUX MAGAZINE 93

[top]Fig. 5: UV mapping(assigning)

[above]Fig. 6: The paint buttons:Draw modes

[left]Fig. 7: Image window: tilemode

Page 84: Linux Magazine UK 005

about our own appearance. A spherical shape willsuffice for simple prototyping.What is interesting though, is the ground andthe movement of the player. In our first test forthe sectors you will certainly have beenbemoaning the all-too smooth movement. Thereason for this lies in the fact that the value forDamp or RotDamp may be too low – whichapplies globally for the associated actor (seeTable 1). If you increase the damp values,forward and turning movements are brakedmore quickly regardless of the ground. Anotherglobally-applicable value can be found under theWorld Buttons: Gravitational acceleration, withthe standard value of 9.81 m/s≤ is the default.

But by experimenting with various masses youwill find a fault in the engine: Heavy bodies fallfaster than light ones. This is due to the fact thatNewtonian physics (f = m * a) has not beencorrectly implemented.

Ground material

Each surface can be assigned a so-called dynamicmaterial: If you use the Material button ([F5]), aswell as the RGB / HSV colour choices, you'll also finda DYN option (see Fig. 8). Selecting this will revealsliders for various parameters, whose functionswe'll explain in a moment. But first here's a usefulsnippet of information on physics on an oblique

PROGRAMMING GAME-BLENDER

94 LINUX MAGAZINE 5 · 2001

Table 6: Actuator featuresobject Apply force etc to objectConstraint Restrict place/orientation to one areaIpo Play Ipo animation Camera External camera flying alongsideSound Play sound unfortunately does not yet function under LinuxProperty Change user-defined attribute of an objectEdit Object Change, add, remove or track objects (tracking)Scene Change scene, restart or change camera

Table 5: Overview of the parameters of dynamic materialsFh Norm Fh in normals direction of the ground areaReflect Reflection/elasticity of the groundFh Dist Distance of the "soft" or elastic surface from the actual areaFh Damp Damping of the soft surface (elasticity)Fh Frict Friction components parallel to the surfaceFh Force Resistance force of the elastic surface

[top]Fig. 8: Dynamic

materials

[above]Fig. 9: Normal

forces to actors

[right]Fig. 10: Bob run

with variousmaterials

Page 85: Linux Magazine UK 005

plane: if a body is on a slope, it will obviously slidedownwards (provided static friction is overcome). InBlender, unfortunately, static friction does not existyet, so it is only possible to work with slidingfriction, which is usually dependent on the rate ofslide. We are not going to explain in detail howdownward movement comes about, as we hopeyou remember some physics lessons. However, thekey here is normal force (the force which exertsresistance to the gravitational force of a body on asurface). In Blender this resistance force is referredto as Fh. To make an elastic surface possible, thisforce is effective from a certain distance, namely FhDist, from the surface. If this distance between actorand plane reduces, a force of elasticity also acts (FhForce). Finally, with Fh Damp the damping of theelastic resilient movement is controlled. Regardlessof this, using Reflect, a hard elasticity of the surfaceat Fh Dist = 0.0 can be set.

Often sliding on a slope is not desirable,especially in an adventure game with a walkingplayer. For this reason the resistance force Fh can belaid in the Z direction by switching off the Fh Normoption, which cuts out the downwards movement –see Fig. 9, left. In the case on the right, the Fh Rotoption for the actor has been activated, whereby itorients itself to the plane.

You'll find another demofile, bob.blend, athttp://www.section5.de/game/demos/. This shows abobsled run. It has been assigned several differentmaterials, each with different friction forces Fh Frict– see the shaded image (by Z) in Fig. 10: yellowmeans Fh Norm is switched off, high Fh Frict. Greenmeans Fh Norm on, low Fh Frict and blue meansaverage Fh Frict. Play around a bit with thedynamics. Also try switching into camera view withNum+0 and show textures by using Alt+Z.

Interactivity – GamePlay

Let's get back to our adventure. Perhaps you havealready discovered the switch in one of the backpassages, or even solved the puzzle already. As well asthe simple, pre-applied SCA actions such as movingobjects by forces, animations and other things can beplayed back using an IPO curve. You will findadditional features in the short overview in Table 6.

Let's examine the example of a switch in theadventure. When the player stands close enough tothe switch and presses the "operate" key, ananimation of the switch should be played and theaction should be triggered (in this case the lightswitching on). To do this, you must be able to assignstatus to an object. This is achieved by means ofself-defined property attributes. With the real timebuttons ([F8]) in Fig. 11, a self-defined attribute canbe added using ADD property; enter type, nameand initial value in the corresponding fields.Property-attributes are also used to define certainobject classes, for example bad, good, etc.

Let's look at the switch in more detail: Select the

switch object – this gives an SCA combination as inFig. 11. Note the property attribute called on. The D("debug") means that in wireframe mode the valueis displayed in the 3D window.

Let's follow the signal paths: When E is pressedand the Near condition is met, an Ipo animation isplayed with the option PingPong, which means thatif tripped again the switch will reset itself. Theproperty attribute on is also set to the value 1. Thisactivates an animation for the lamp Lamp.004.

Switching on lamps unfortunately does not yetoccur via Energy-IpoCurve. The near checkfunctions as follows: If an object with the propertyattribute player comes nearer than a distance of Dist(2.20) this condition is met. If it moves away furtherthan the Reset distance (2.30) the condition is reset.Check to see if the player really does have theproperty player, and test the near check in the wiremesh view. When the near event is triggered, theswitch lights up in blue. The switch object can bemore easily achieved with Collision-Sensor.

When playing our mini-adventure, you willalready have discovered which objects haveinteractivity, and how the portcullis can be opened.Take a look at the associated SCAs at your leisure.

Let there be light

The correct lighting of a scene is really the key to agood atmosphere. This is difficult to achieve withinthe game engine, since as yet not all light sourcesreact exactly as they do in the rendering part. Also,you have to activate the Light option for each area,which might have the effect of slowing down theview. So, if dynamic lighting is not absolutelynecessary, lighting conditions can be simulated byvertex colours. To do this, position the light sourcesas usual, select the desired mesh object and, underthe edit buttons, use Vertcol Make. This willtransfer the lighting conditions as vertex coloursonto the object, which can be checked in thevertex paint mode (V). This means that additionalshade effects or colourings can be added byreprocessing with the paintbrush (see also paintbuttons). Reprocessing in vertex paint mode isusually necessary to make the colour shadingsbetween the areas slighlty more subtle. Blenderpros might also like to make use of the radiositymethod to generate a realistic lighting model. But ifyou do, bear in mind that existing UV-texturinggets lost during the radiosity process in the current

PROGRAMMINGGAME-BLENDER

5 · 2001 LINUX MAGAZINE 95

Fig. 11: Switchconcatenation

Page 86: Linux Magazine UK 005

version (2.04) of Blender. Also, if the areas have toohigh a level of subdivision in the radiosityresolution, a level may well look optically perfect,but from the point of view of speed it can easilybecome unplayable.

For dynamic lighting you must, as explainedabove, activate the light option for thecorresponding areas. The rule here is that onlylamps that are in the same layer as the mesh objectcontribute to the lighting. But previously onlylamps of the type Lamp, Spot and Sun functionedas desired. In the case of the Lamp type, thesphere option has no effect yet, but better lightattenuation can be achieved by increasing thevalue for Quad1, which controls the, physicallymore correct, quadratic attenuation of theintensity of a point light source.

Tips and tricks

Whew! If you've followed us this far you must beeager to create your own level by now. Before youdo though, keep the following tips in mind:• Number of polygons: Always keep the

number of polygons as low as possible. Forcharacters in particular you should not needmore than 500 faces. The number of vertices orfaces of an object or a scene can be read fromthe status line (normally top right in thewindow), e.g. Ve: 287, Fa: 458. For an object,switch into LocalView using Num-[/]. If you wantto risk a more complex game, subdivide the

sector groups into scenes, which should notcontain more than 5000-8000 polygons in total(depending on the graphics card used).

• Modelling: You can safely model and texture alevel as a whole within an object, and later split itinto individual objects in edit mode with P – thetexturing will not get lost. The same applies formerging objects using Ctrl+J. What counts mostwhen modelling is the direction of the areanormals for collision and visibility, otherwise yourplayer might fall through the floor.

• Texture: Keep the textures in as small a format aspossible. Texture-Mipmapping (automaticscaling/filtering) will be used only in later versions.

• Clipping/Popping: If your game is played in anoutdoor environment (countryside, motor racing,etc.), an unwanted side-effect called popping (asector appearing suddenly) might occurdepending on the camera clipping used. Eliminatethis by creating some Mist under the worldbuttons. To do this, set the initial mist value Sta abit lower than the clipping value set using ClipStafor the camera (the latter can be found among theedit buttons). Dist may also be fairly small.

In future Blender versions, you can expect a fewnew features such as automatic sectoroptimisation, better visibility tests and a bit moreautomation, especially for simulation of lightingconditions. The latest news can of course befound on the Blender Web site. Of course, youcan bet we'll report on any significantdevelopments here. ■

PROGRAMMING GAME-BLENDER

96 LINUX MAGAZINE 5 · 2001

Important key combinationsRealTimeP Play mode, start gameEsc Stop Play mode, reset positionsSpacebar (within Play mode) As above, but retain positionsViewNum+0 Camera-viewCtrl+Num+0 Activate selected camera Z Toggle wire mesh/ area viewShift+Z As above, with shaded area viewAlt+Z Textured viewModelling (Edit mode)B, B twice Cross-wires-/circle selectorE ExtrudeP Split selection as object (separate)Ctrl Snap vertices onto grid or gradually scale/rotateCtrl+N Reorient normals outwards (Shift = inwards)General object processingG / S / R Displace (grab), scale, rotateShift+D copy object or vertexAlt+D Linked copy: copy object linkedCtrl+J Merge objects (join)Ctrl+P Make ParentTexturing, coloursF FaceSelect modeU Automatic UV-MappingV VertexPaintShift+K colour whole object with current vertex colour

The authorMartin Strubel has been anenthusiastic Blender fan for

two years and is currentlydeveloping games

environments for NaN.

Page 87: Linux Magazine UK 005

BEGINNERS GNOMOGRAM

98 LINUX MAGAZINE 5 · 2001

GNOME and GTK are getting more and more popular

all the time. New features, tools and utilities for

them seem to appear on an almost daily basis. If you

count yourself as a GNOMEophile then read on, as the

Gnomogram column is where you’ll find the latest

news, info, hints and tips on these very subjects.

News and Programs around GNOME

GNOMO-GRAM

BY BJÖRN GANSLANDT

GNOME Foundation Board selection

At the time of writing, the very first GNOMEFoundation Board is set to be elected. This newcommittee will supersede the GNOME SteeringCommittee and, as far as possible, in a distributedproject like GNOME, try to steer its future

development. The Board will also co-operate withother free projects and firms, manage funds,organise conferences and form a contact point forthe press. There will be eleven GNOME FoundationBoard directors in all, and they will be elected via e-mail from members of the GNOME community. Nomore than four directors will be allowed to belongto any one firm. So far there have been very fewsurprises among the nominations, although therehas been some criticism that there are too few realexperts to choose from. More comprehensiveinformation on the GNOME Foundation can befound at foundation.gnome.org/charter.html.

Installing themes

More and more programs seem to support themesthese days. If you’ve been on the moon for the lastfew years, themes basically allow you to redesign aprogram’s user interface to a certain extent. All thiscan make programs look very nice, but if everyprogram ends up with an individual theme (andtherefore its own individual Look-and-Feel) the endresult will be more confusion than user-friendliness.The way around this is to get all programs to use thesame theme. This has always been the case withGNOME, of course, as all its programs are based onthe GTK library. It is well worth trying themes out ifyou’ve not done so already. The current GTK themecan be altered via the control centre using theWorkstation/Select themes option. And if you don’tlike any of the standard themes, you can always

The AquaOS Look

Page 88: Linux Magazine UK 005

BEGINNERSGNOMOGRAM

download some new ones. Some of the best areavailable at gtk.themes.org/. Once downloaded, youcan install them with the install new theme optionfound under the above-mentionedWorkstation/Select themes.

It’s worth noting that a separate windowmanager is responsible for the design and behaviourof windows under GNOME. Consequently, the GTK-theme selected has no effect on these. GNOME isactually capable of working with many differentwindow managers, but Sawfish, formerly Sawmill, isby far the most popular.

Sawfish’s themes can be changed in the controlcentre under Window manager Sawfish/Appearance. Other window managers can,incidentally, be selected using the Window manageroption and then configured with Call up configurationtool for windowmanagername. Sawfish themes caneasily be downloaded from sawmill.themes.org/, butthen have to be manually copied to ~/.sawmill/themes/ or /usr/share/sawmill/themes/. The latterdirectory is where the theme for all users is installed.For all screenshots in this article, by the way, theSawfish theme Blue-steel and the GTK themeCoolness are used.

Gnofract 4D

Gnofract 4D (gnofract4d.sourceforge.net/) is aprogram that renders four dimensional fractals thatrepresent a mixture of Mandelbrot and Julia fractals.In this four dimensional system one can not only movein four directions, but also turn about six planes. Theproportion of Julia or Mandelbrot fractals in the fractaldisplayed varies depending on the position in thissystem. In addition to these functions, Gnofract 4Dalso supports colormaps (which are, incidentally, inthe same format as used by Fractint). These colour inthe fractals in various ways. You can also enlarge afractal, at least as far as computing depth allows.Apart from the normal mode, an explorer mode isalso available that is strongly reminiscent of Kai’sPower Tools and allows the fractal settings to bemutated at random. A slider controls how much thesettings should be mutated. All fractals generated canbe stored either as a standard image file or as a set ofparameters for the fractal.

GnomePM

GnomePM (www.geocities.com/lordzephyroth/gnome-pm.html) is designed to replace the Yahoo!Java Portfolio Manager, and provides the latestprice information on shares in an online portfolio.Anyone who has ever tried to execute Java appletsunder Netscape will certainly welcome thisalternative.

GnomePM can manage several portfolios forwhich it displays the price, volume and lots of otherinteresting information on each individual sharecontained in it. Using the More Info menu option, itis also possible to load charts, headlines, valuationsand other data for the shares into a standardbrowser. Even if you don’t know the symbol for ashare, GnomePM can find it if you state the name ofthe company. All the data used is normally gatheredfrom the American Yahoo! Finance site, although itis also possible to specify a different Yahoo! Hostunder Program/Preferences.

As is often the case for such tools, all pricesGnomePM gets from Yahoo are delayed, trailing themarkets by 15 to 20 minutes or so. Talking ofdelays, GnomePM updates its data every 5 minutesby default – far too slowly for many users – but thiscan be changed under the Program/Preferencesmenu option. ■

5 · 2001 LINUX MAGAZINE 99

The authorBjörn Ganslandt is a studentand a passionate bandwidthsquanderer. He can often befound at irc.gnome.org underthe nickname ”Ansimorph”.

[top]Linux IPOs versustechnology blue chips

[above]Gnofract 4D in explorermode

Page 89: Linux Magazine UK 005

BEGINNERS OUT OF THE BOX

When Kraftwerk – one of the pioneers of electronicmusic – was formed, a synthesiser was still a hugeand clumsy analog device overloaded with knobsand slide controls and costing tens of thousands ofpounds. Synthesisers are much more compact andaffordable these days, of course, and with thecomputing power available today it is now evenpossible to simulate such devices on a relativelybasic PC. Indeed, this is exactly what SpiralSynth,developed in the UK by Dave Griffiths, does.

Prerequisites

A graphical user interface of some form is requiredin order to give the SpiralSynth user the ability tochange its settings and configure its options, as wellas to provide a visual display of the audio signalcreated. SpiralSynth makes use of the FLTK Libraryfor this purpose, so before you do anything elseyou’ll have to obtain and install this. We got ourFLTK (Version 1.0.9 or higher is required) fromhttp://www.fltk.org/ and SpiralSynth itself from

http://www.blueammonite.f9.co.uk/SpiralSynth/. Besure to download version 0.1.5 rather than a morecurrent version such as 0.1.6, however. There is nofunctional difference between these two versions,but they do use different file formats. You’ll discoverthe importance of this a little later on.

Installation

Once you have the two necessary components onyour hard disk, it’s time to compile. FLTK needs tobe compiled and installed first, the latter steprequiring root privileges:

tar xzf fltk-1.0.9-source.tar.gzcd fltk-1.0.9./configuremakesu (enter root-password)make install ; exit

Anyone who wants to avoid compiling FLTK caninstall the rpm package version. To do this you needtwo files which can be found at ftp://rpmfind.net/linux/Mandrakedevel/7.2beta/i586/Mandrake/RPMS/fltk-1.0.9-2mdk.i586.rpm and ftp://rpmfind.net/linux/Mandrakedevel/7.2beta/i586/Mandrake/RPMS/fltk-devel-1.0.9-2mdk.i586.rpm.

The installation of the rpm packages should bedone as follows:

su (enter root-password)rpm -Uvh fltk-1.0.9-2mdk.i586.rpmrpm -Uvh fltk-devel-1.0.9-2mdk.i586.rpmexit

Now it’s the turn of the actual SpiralSynth program itself:

tar xzf SpiralSynth-0.1.5.tar.gzcd SpiralSynth-0.1.5

100 LINUX MAGAZINE 5 · 2001

Out of the box

SOUNDRESEARCH

BY CHRISTIAN PERLE

There are thousands upon thousands of tools and utilities for Linux. This is great, but

it makes finding the real gems rather difficult. To save you time and effort, »Out of

the box« does the job for you, each month highlighting a particularly interesting or

useful program that you might otherwise have overlooked. This month we’d like to

introduce you to the SpiralSynth synthesiser.

Library: A file containing a collection of useful C-functions for specific purposes.Examples include libm, which provides mathematical functions, and libXt, whichcontains functions for programming the X11 window system. Libraries are often

shared by several programs.FLTK: The »Fast Light ToolKit« (pronounced: »Fulltick«) is a very compact library

for easy programming of the X11window system.Compiling: In its source text form, a program is not usually executable by the

operating system. It is only by compiling (converting) this source code that it canbe turned into something that can be executed by a PC’s processor.

RPM: With the »Red Hat Package Manager« software packages can be quicklyand easily installed or removed.

Page 90: Linux Magazine UK 005

BEGINNERSOUT OF THE BOX

./configuremakesu ( enter root-password)make install ; exit

If errors arise when compiling SpiralSynth you can tryinstalling a pre-compiled version. The program’sauthor recommendshttp://www.blueammonite.f9.co.uk/SpiralSynth/dload/SpiralSynth-i386Linux-0.1.5.gz. There isactually very little you need to do in order to installthis version:

gunzip SpiralSynth-i386Linux-0.1.5.gzchmod 755 SpiralSynth-i386Linux-0.1.5su (enter root password)cp SpiralSynth-i386Linux-0.1.5 U/usr/local/bin/SpiralSynthexit

Sound off!

So much installation work should be rewarded.From the terminal emulator of your choice (xterm,kvt or Gnome-Terminal, for example) start theprogram with the command SpiralSynth &, at whichpoint a window similar to that shown in Figure 1should appear.

The window is split into three main areas. Onthe left are the oscillators, on the right the mixersand effects devices and at the bottom the knobswith which stored settings (Patches) can beretrieved. There is also a graphical display of theaudio signal (Scope).

Each of the three basic oscillators has the samesetting options: wave form (square wave, sawtoothor noise), pulse width (PW), noise generator setting(SH), Portamento (PM) and controllers to tune andadjust the modulation depth. On top of everything else, an Envelope can beadjusted for each oscillator. This determines theattack and fade-out behaviour of the signal. Using the two mixers, signals from the oscillatorsare linked together. As with all other settings inSpiralSynth the word here is Experiment! Nothingbad will happen. Finally, you can give a tone a »finishing touch« withthe LFG (»Low Frequency Generator«), the low-passfilter and the delay effect Delay). Anyone who finds this is all too much trouble canpress the Rand button in the Patch Bank area, whichsets all the controls randomly.The actual triggering of the sounds occurs via thekeyboard, where the rows of keys y to m and q to pare assigned as »white keys«, and the rows a to jand 2 to 0 as »black keys«. Once you have created an interesting sound, youcan save it by clicking on the Save button and thenselecting one of the blue shaded buttons in thePatch Bank. In the Output field, the soundproduced can be saved in a WAV file by clickingon Record. Brilliant!

Tuning

SpiralSynth will create two hidden files in yourhome directory, in which the basic settings(.Spiralrc) and the stored patches(.SpiralPatches.bank) are located. Let’s just take acloser look at the first file. In order to do this you’llfirst have to shut SpiralSynth down. Having done so,fire up your favourite text editor and point it at.Spiralrc.

Not everyone has a MIDI keyboard. TheWantMidi entry can be set to zero if this appliesto you. The KeyMap entry contains a listing ofthe keyboard keys SpiralSynth uses, and can bechanged if required – essential if you aren’t usinga standard UK or US keyboard. Listing 1 showsan example .Spiralrc file with MIDI disabled.

Listing 1:.Spiralrc with MIDI disabled.SpiralSynth resource fileBufferSize = 512Samplerate = 44100WantMidi = 0FilterGranularity = 50Output = /dev/dspMidi = /dev/midiWantRealtimeOut = 1KeyMap = Uzsxdcvgbhnjmq2w3er5t6z7ui9o0p[

Sound samples

If, despite the very useful random function, you arestill unable to produce any interesting sounds fromSpiralSynth, all is not lost. Our coverdisc this monthcontains a pre-set patch bank called mypatches.bank,which you can rename as .SpiralPatches.bank andcopy into your home directory. This file can also befound on the Web at http://home.tu-clausthal.de/~incp/mypatches.bank.

There shouldn’t be anything standingbetween you and some exciting synthesisersound research, unless you have installedVersion 0.1.6 (against our advice). This uses abinary format for the patches file that isincompatible with the format used in version0.1.5, which is what we used to create thecoverdisc file. ■

101

Fig. 1:SpiralSynthmain window

Portamento: With this effectthe pitch selected is notattained immediately, but is»drawn out« from theprevious sound.WAV: A common and usuallyuncompressed audio format,first implemented in Windows.MIDI: »Musical InstrumentsDigital Interface«, a standardfor controlling electronicmusical instruments.

5 · 2001 LINUX MAGAZINE

Page 91: Linux Magazine UK 005

BEGINNERS DESKTOPIA

You can certainly use the icon functions of theseenvironments even without a started environment– provided KDE or GNOME in addition to theimplemented Window-Manager are already onyour hard disk. The KDE icons appear after thefirst retrieval of the file manager kfm. This alone isnot the end of it – KDE has a manager of its own,which extends these icons by the correspondingconfiguration menu: krootwm. The action of thismanager is unfortunately unnoticed by mostpeople, because it needs both the middle and theright hand mouse button, which in general, awindow manager can use at least equallyefficiently.

Second attempt

Just as in KDE, the file manager in GNOME alsoholds main responsibility for the function of thedesktop icons, called up via gmc —nowindows.But here again, one soon comes up against thelimitations of this variant (which depend uponthe window manager being used). The rightmouse button, together with a GNOME-compatible window manager, is necessary tomanage the icons on the desktop. And so in bothcases, it is usually only icons that are alreadyconfigured which can be clicked on. Theconsiderable trouble of adding new ones cannotbe justified. And yet, this is where your ownattempts can be successful.

All good things come in threes

Following tradition, here is one more file manager,which is dedicated to this task: DFM, the ”DesktopFile Manager”. This is usually already included onCDs from distributors. But anyone who would like amore up-to-date version can find it athttp://dfm.online.de/dfm.html or on the attachedcoverdisc. DFM was not developed for a specificenvironment such as KDE or GNOME, which is why itmanages to solve the problem of peaceful co-existencewith a window manager much more elegantly. Insteadof wanting to take complete possession of a mousebutton, this one works with one or more transparentwindows, in the defined areas of which any windowmanager assigns mouse actions to the application (andthus to our DFM) instead of itself.

The little manpage

Regardless of the ”big” Manpage (man dfm) the basicsof DFM are a piece of cake. It answers to the commanddfm, and when this is called up for the first time astandard configuration is undertaken. From now on adouble click on an icon is rewarded by the start of therespective program. Pressing the right mouse buttononce, brings up the context menu (see also Figure 1).

Opening a folder will immediately take you backto the file manager. As one would expect, thissupports Drag and Drop, (the picking up anddropping of icons). Those who don’t like the yellow

102 LINUX MAGAZINE 5 · 2001

Jo’s alternative desktop

DESKTOP-FILE-MANAGER

BY JO MOSKALEWSKI

Window-Manager: The maintask of this is to equip

applications with frames andthen to manage these on thedesktop. They sit on an active

X-server, which provides thegraphical output. KDE and

GNOME are so-calledenvironments, which take care

of all sorts of more or lessinterchangeable ingredients

of the window manager.BASH script: BASH is the

standard text console underLinux. You can create so-calledscripts for this, whose contentwill be interpreted as a list of

instructions and executed lineby line.

Only you can decide how your Linux desktop looks. With desktopia we

regularly take you with us on a journey into the land of window managers

and desktop environments, presenting the useful and the colourful,

viewers and pretty toys. Now that various window managers have been

presented here, it’s time to add to these with a feature that is important to

many people: Desktop icons.

Page 92: Linux Magazine UK 005

BEGINNERSDESKTOPIA

folder can simply replace it with a more attractiveone. The nice thing about this is that DFM does notneed icons of a specific size. Whether 16x16 pixel or60x60 pixel, it still co-operates (even if no opticalgain can be expected with such differences). Not sonice, on the other hand, is that all the graphics usedin DFM have to be present in the ”xpm” format. Butthe conversion of other graphics into this formatshould not pose too high a hurdle – the recentlyintroduced packet ”ImageMagick” deals with thiswith a simple convert graphic.jpg graphic.xpm.

Forever and ever

Now that the program has emerged from its chrysalisand is suitable for everyday use, it should now gracethe desktop permanently. Now let’s rig up, followingthe best example of KDE, what amounts to almost anew window manager. It consists of a simple BASHscript, in which we will first set the environmentvariable, then start DFM, and only then allow awindow manager to come into play:

#!/bin/shLC_ALL=”de_DE”; export LC_ALLdfm &my_windowmanager

Stored under dfmdesktop , this file must still bemarked as executable – a chmod 777 dfmdesktopcovers that satisfactorily. The ideal location for homemades of this type is the directory /usr/local/bin, intowhich the ”User” root ought now to move the file:

mv dfmdesktop /usr/local/bin/. This simple script canbe called up instead of the window manager fromnow on. Our window manager will in future appear,together with icons on the desktop.

Gone fishing ...

The catch? Of course there’s a catch. Drag and Dropis certainly very nice, but of course that does notwork here. On the other hand, it is possible, fromfile manager, to drag a file onto the desktop, or atext file onto an editor icon (or an HTML file onto abrowser icon), to be opened immediately.

Some people will be amazed to discover that theirwindow manager does not react in the usual way tomouse clicks in the open desktop. The remedy for thisis to deactivate the desktop context menu – found notin the options, but under the menu item DFM for X11immediately above the options. To save this setting, ithas to be explicitly saved again in the same menu.

Anyone who has, (because of high screenresolution) reset the X-server to 100dpi characters, willnot find the configuration interface so tidy as the oneshown in Figure 1. The texts no longer fit in because ofthe font size and have to be estimated. But this shouldneither cause any problem nor interfere with theimplementation of the program. ■

jo@planet ~> su -Password:root@planet:~> tar -xvzf dfm-0.99.7.tar.gzroot@planet:~> cd dfmroot@planet:~/dfm> ./configureroot@planet:~/dfm> makeroot@planet:~/dfm> make installroot@planet:~/dfm> logoutjo@planet ~>

5 · 2001 LINUX MAGAZINE 103

[Left]Fig. 1: DFM and its basic configuration[Right]Fig. 2: File manager with desktop icons

dfm 0.99.7LinuxMagazin/desktopia

DFM for home-workersIf DFM cannot be found on your distribution’s CD as a finished packet (or you would preferthe latest version) you will have to make do with the tar.gz archive attached to thismagazine. But this too, is easily installed: In addition to the packets usually required forcompiling (make, gcc, xdevel) the Devel-packets of GTK+ and libXpm are required. All areincluded with the usual distributions. If these are already installed, the archive is unpackedas ”User” root, at which point a ./configure checks the system and a so-called ”Makefile” iscreated. With the help of this the tool make then compiles a program which is ready to run.All that remains to be done is to copy (install) the newly-created files made duringcompilation, and to set the necessary file rights – which a make install does for us:

About the authorJo Moskalewski ekes out hisliving as a tiling foreman andstumbled across computers byway of a miraculousconception. When he is notsizing up his next loudspeakercabinets, he is either sittingaround with friends, oraccepting constructivecriticism at the editorialaddress [email protected] .

Page 93: Linux Magazine UK 005

BEGINNERS PROGRAMMING CORNER

104 LINUX MAGAZINE 5 · 2001

Many of you will be askingyourselves why you should even

have to start writing programs. After all,there seems to be a tool or utility for Linux that doesjust about anything you can imagine. The problemis, of course, that while lots of programs and utilitieswork fine in theory, some are just too complicatedor don’t meet your exact needs. Learning toprogram will solve these problems by allowing youto create customised tools and utilities. These canbe created either from scratch or by modifyingsomething someone else has written. Since thisfeature is aimed at beginners, we’ll stick to the verybasics and limit ourselves to quite simple programs.In doing so, our aim is to give you enough of aglimpse into the wonderful world of programmingto encourage you to delve much deeper.

BASH programming language

The Bourne-Again Shell – BASH for short, hasestablished itself as the standard shell for most Linuxdistributions, so you’ll almost certainly find it readyand waiting for you on your Linux system. But BASHis more than just a command line for startingprograms. In fact, it is almost a complete

programming language. For this reason we’ll useBASH as the programming basis of this feature. We’llalso touch on one or two other useful programs inpassing. And while the examples we’ll be giving areBASH-specific, the programming techniques havebeen kept as universal as possible, helping you get togrips with other languages should you want toprogress to more advanced programming tools andtechniques.

First steps

BASH programs are also called ”scripts”. Scriptsshould always begin by describing the shell to beused, then go on to list commands to be executed(which you could also enter manually outside theprogram). Traditionally, the first program newprogrammers write is one that prints ”Hello world”on screen. Here’s how a BASH script to do just that(twice) looks:

#!/bin/bashecho Hello worldecho Hello world

The first line is strictly speaking a commentary line,since it begins with a hash ”#”. Generally the rule is

Have you ever sat in front of your computer and

been irritated by having to perform some

annoyingly repetitive task? Many such tasks can

be automated by writing a simple program, and

in the first feature we’ll give you just an

introducton into the world of programming.

Part 1: Principles of BASH

HELLOWORLD

BY MIRKO DÖLLE

Page 94: Linux Magazine UK 005

BEGINNERSPROGRAMMING CORNER

5 · 2001 LINUX MAGAZINE 105

Version conflictThe examples shown here in this feature all relate to Version 2 of BASH, and are at best onlypartly applicable with the old Version 1. Although Version 2 has now been in use for overtwo years and has so far shown no significant problems, some distribution manufacturers,such as Red Hat and Caldera, are still installing the old Version 1.4 under /bin/bash as well asVersion 2 under /bin/bash2.

For this reason, the first thing you must do if you have any problems with entering our codeexamples is to check which version you are addressing via /bin/bash by entering thefollowing command:

/bin/bash -c ’echo $BASH_VERSION’

If the result is Version 1, you must hunt down Version 2 – it will probably be lying around inbin and be called bash2. Enter the following command to find out:

ls /bin/bash2

If ls reports that it is unable to find /bin/bash2, you should look on the installation CD ofyour distribution and if necessary install the package from there. If the ls command doesfind /bin/bash2, then when entering any of our program examples you must then alwaysuse /bin/bash2 instead of /bin/bash.As an alternative, you could completely convert your system to BASH 2. To do so, firstcopy /bin/bash into /bin/bash1. Next copy /bin/bash2 to /bin/bash. In fact renaming isalso sufficient, but then programs which use /bin/bash2 would no longer function,which is why /bin/bash2 should be retained. The real problem is that you cannotoverwrite or move a file which is in use – and as you are using normal /bin/bash as root,before you can follow our instructions you must first release /bin/bash using a handylittle trick.First log in as root and again ensure that there really is a /bin/bash2. If there isn’t thenyou must not perform the following steps under any circumstances unless you want torun the risk of never being able to log in again as root! Whatever the case, though, youshould launch an (extra) text console and log in there as root. We will refer to thisconsole for the sake of simplicity as ”emergency console”. At first you won’t need toenter anything on this emergency console, so you should now change back to your(normal) work console. Here we need to alter the default shell for the user root usingthe following command:

chsh -s /bin/bash2 root

Next, switch to yet another text console and log in there again as root. If everythinghas gone well, echo $BASH_VERSION will now report that it is Version 2 on thisconsole. If you are unable to log in, something has gone wrong and you absolutelymust now restore the former status. To do so, change to the emergency console andenter:

chsh -s /bin/bash root

This will set the log-in shell back to the initial value. If the new log-in worked, treat this as a new emergency console and log out of the old oneand out of all other consoles. It may also become necessary to close KDE or GNOME. All thatshould now remain is the new emergency console.The next step is to convert from BASH 1 to BASH 2. To do this, log in again to a new consoleas root and copy bash to bash1 and then bash2 to bash as we outlined when we startedusing the following commands:

cp /bin/bash /bin/bash1cp /bin/bash2 /bin/bash

The last step is then to reset the log-in shell from root :

chsh -l /bin/bash root

If you can log in again on another console as root and see Version 2 of BASH displayed, theconversion has worked, and Version 2 is now your standard shell. Congratulations!

Page 95: Linux Magazine UK 005

BEGINNERS PROGRAMMING CORNER

that only comments should stand between the hashsign and the end of that line. You can havecomment lines without any commentary if you wish– to break apart code sections, for example – butblank lines can also be used for this purpose and area better choice.

The first line in our example tells you whichprogram this script should be processed with (BASHin this case) though it could be Perl or TCL/TK forinstance, which is why this line is so important.

The next two lines both cause ”Hello world” to beoutputed onto the screen, followed by a line break.

Meta-characters and Escapes

Despite the variation in the text following the echocommand, the result of BASH processing lines twoand three are identical. This is because BASHinterprets what are known as control symbols (alsoknown as meta-characters and controlcharacters), in a special way. The spaces character isone such control symbol, and is used as a separatorbetween parameters of a command, where asequence of space characters is interpreded as oneparameter separation. The command in questionhere is echo, which simply prints all parameters (thethings following the echo command) in sequence,each one separated by a space. In our example bothline two and line three therefore have the sameeffect. echo simply sees two parameters ”Hello” and”world”.

There are quite a few of these specialcharacters, and the most important ones are listedin Table 1. To get more than one space between”Hello” and ”world” we have to use anotherspecial character, escape. This character informsBASH that the next character isn’t a specialcharacter – a true space and not a separatorbetween parameters in our case. In BASH, andmany other tools and languages, the escape symbolis represented by the backslash ”\” character. So, toprint ”Hello”, three spaces, then ”world” we’dhave to use the following command.

echo Hello\ \ \ world

Of course there will be times when we actually wantto print a backslash. To do so, we have to ”escapethe escape” by typing ”\\”. Alternatively, you canuse single or double quotes to demote spaces andmost other special characters into simple text, suchas in the following example:

echo "Hello world"

The use of quotes in this way is, however, bestemployed infrequently. They are far more effectivewhen used for other purposes, as we’ll see later on.

Variables

It would be boring to only be able to print fixed,unchanging text. This is where things known asvariables come into the equation. These are simplynamed containers for text or numbers.

Unlike more sophisticated languages, BASH doesnot differentiate between different types of variable,so you can store whole numbers (in principle decimalnumbers are not allowed), letters, words or wholesentences in a BASH variable without first having totell it which of these you want the variable to store.What’s more – again unlike some other programminglanguages – a variable does not have to be declared(”registered”) before you can use it; it simply comesinto existence automatically as the result of the firstvalue assignment.

Something well worth watching out for is thefact that variable names are case sensitive. In thefollowing example we’ll give the same variable fivecompletely different values using the ”=” operator,whose use should be pretty much self-evident:

#!/bin/bashvar=2var=avar=Hellovar=Hello\ worldvar="Hello world"

To find out a variable’s contents (also known as itsvalue), you simply use its name preceded by a dollarsymbol – ”$” (another one of these specialcharacters). You can also optionally enclose thename of the variable in curly brackets. This variant isused when a letter immediately follows the variable

Meta character: Characterinterpreted in a special way.Escape character: Cancels

the effects of meta-, control-and escape-characters.

Quotes: Double quotes, singlequotes and reverted single

quotes. These ensure that mostmeta and control characters are

no longer interpreted as such.These must always be used in

pairs.Script: Generally used to refer

to shell and sometimes alsoPerl programs. The script is

always a text file that can bedisplayed directly.

106 LINUX MAGAZINE 5 · 2001

Table 1: Control- and special characters in BASHCharacter FunctionSpace Separator between program parametersTabulator (tab) Separator between program parametersEnter (newline) Enter command\ (backslash) Escape character | (pipe) Concatenation of input/output of several programs& (ampersand) Start program as background process, input-/output redirect; (semicolon) Separator between two program calls( ) (braces) Grouping, calculation < (input redirect)> (output redirect)|| (logical or) Link two commands with ”OR”&& (logical and) Link two commands with ”AND”;; End of a case

Table 2: BASH OperatorsOperator Assignment Operator Function+, -, *, / +=, -=, *=, /= basic types of arithmetic% %= Remainder from whole number

division (5%2=1)! Logic negation (!1 = 0, !0 = 1)&& Logic AND (a and b)|| Logic OR (a or b)==, != equality, inequality<=, >=, <, > comparison larger/smaller~ Binary inversion (~1101 = 0010)& &= Binary AND (1011 & 1101 = 1001)| |= Binary OR (1100 | 0101 = 1101)

Page 96: Linux Magazine UK 005

BEGINNERSPROGRAMMING CORNER

name. To better understand what we’re talkingabout here, have a look at the following example:

Cost=100echo $Cost Eurosecho ${Cost}Euros

The second line would print ”100 Euros”, while thethird prints ”100Euros” without a space betweenthe amount and the unit of currency. Without curlybrackets in the third line, we would have got thecontent of the (non-existent) variable $CostEuros.Non-existent variables always have no value, theyare simply empty, and echo $CostEuros wouldtherefore print out a blank line.

BASH, by the way, replaces the variable names atalmost every point by the value of the variable, aprocess called variable resolution. The only exceptionto this rule occurs when inverted commas ” ‘ ” areused. Anything between these is never replaced witha value. To use the name of a variable, including thedollar sign, for printing (or for other functions), wecan also escape the ”$” as an alternative. Here aresome examples of what we mean:

Cost=100Cost="$Cost Euros"echo Content of the variable ’$Cost’: $Costecho Content of the variable \$Cost: $Cost

Note that in the second line we have assigned Costa character string in which the variable itself occurs.In this case, BASH first evaluates the part to theright of the equals sign, therefore substituting”100” for $Cost. To BASH, then, the right hand sideof the equals sign is therefore ”100 Euros”. Oncethe right-hand side of the equation has beenevaluated (to form what’s known as the r-value), itthen assigns it to the variable on the left-hand side(the l-value). Don’t worry if you don’t understandthis yet, though, as we’ll be coming back to this inanother example later on.

Arithmetical operations andzero-functionAssigning values to variables is all very well, butthey only come into their own when manipulated,compared or used in computations. BASHprovides quite a few operators to do this,including arithmetic, logic and binary ones. Whenusing these, though, with the exception of logicaloperators (which can be used with variablescontaining absolutely anything) you must makesure that you work with variables containing onlynumbers. Remember, BASH can store both textand numbers in a variable. It is your job to makesure you aren’t trying to calculate with letters atany time.

To understand this better, take another look atthe first two lines of our last example. In the firstline there was still just a number in Cost (100), butin the second line we added on ”Euros”. In other

words the Cost variable has suddenly turned into acharacter string rather than a number. This meanswe can no longer do calculations with the Costvariable. If you try to do so, BASH will abort yourprogram with an error message.There are two notations for calculations; theinstruction is either enclosed in square brackets or indouble rounded brackets. In both cases it ispreceded by a dollar sign. Both notations can beseen in the next example:

Value=$[$Value+1]Value=$(($Value+1)): $[Value+=1]: $((Value+=1))

In the end all four lines do exactly the same thing,which is to increase the content of Value by one.Lines one and two are the easiest to understandhere, as usual the R-Value is evaluated first and thenassigned to the L-Value. Lines three and four workon the same principle, because the operation”a+=b” is defined as ”a=$a+b” – internally, BASHconverts the short notation into the full one.

What is unusual here is the colon before thecalculation instruction. This is a zero function, acommand that does nothing. What matters to ushere is that BASH evaluates the parameter after it inexactly the same way as it would when calling up anyother command, such as echo, thus calculating theresult for us. The colon is necessary because thecalculation operations are always replaced by theresult, namely $Value, and without the colon thiswould be interpreted as a command for BASH, whichit would then try to call up and undoubtedly fail.

As we’ve already said, as well as basic types ofarithmetic, BASH also offers logic and binaryoperators, though these are only used rarely.Whatever operators are used, though, additionalassignment operators are usually also available –such as the ”+=” we used in our example andwhich can make reading programs a great dealsimpler. You can find an overview of the operatorsin Table 2.

Until next time

This brings us to the end of the first installment;next time we’ll tell you about processing characterstrings, introduce you to arrays and explain their useby means of a few more examples. ■

r-value: The result of theinstructions to the right of theequals signl-value: Variable to the left ofthe equals sign, in which the r-value is stored

5 · 2001 LINUX MAGAZINE 107

Quick glossaryecho Outputs all parameters separated from each other by a

space.: (colon) Zero-function, has no direct effect. Is sometimes used for

arithmetical operations or variable manipulations. The actual operations are stated as parameters of the ”:” function.

$[..] Calculates the arithmetical expression in brackets and delivers the result.

$((..)) Calculates the arithmetical expression in brackets anddelivers the result.

Page 97: Linux Magazine UK 005

BEGINNERS KDE THEMES

This workshop was conceived as a three part series.I now find myself compelled to add a fourth. Thenotation 3++ is appropriate. This last part takes overwhere the third one left off – with manual work. Inparticular, it describes how to port icon themes fromKDE 1.1.2 to KDE 2 without having to alter all theicons by hand.

Porting icons by machine

A few things have been happening at KDE. The newversion uses .xpm, instead of .png files as standardfor the icons. It no longer stores these by crudelyshoving them all into one directory, but into several.Each directory has five subdirectories. The iconsmust already be classified if an icon set is to bealtered via dialog.To do this, we must firstly use

mkdir eclipse2

to make a directory with the name of the icontheme. After that we make subdirectories, thenames of which reflect the size of the icons. KDE2 standard icon sizes are 16x16, 22x22, 32x32and 48x48. As our icons are 32x32 we will nowcreate the directories for icons of this size orsmaller (enlarging them would effect theirquality).

mkdir eclipse2/16x16mkdir eclipse2/22x22mkdir eclipse2/32x32

In these subdirectories, which classify the iconsaccording to their use, additional subdirectoriesshould now be made. The five classes are:• actions • apps • devices • filesystems • mimetypes

108 LINUX MAGAZINE 5 · 2001

KDE Themes Workshop – Part 3++

PLAYINGDRESS UP

BY HAGEN HOEPFNER

Fig. 1: Icon 32x32 in size

Fig. 2: Icon 32x32 in sizeenlarged to 48x48

Most of us know that KDE has the ability to

alter its appearance very rapidly by means of

so-called ‘themes’. This series describes how to

create your own.

Page 98: Linux Magazine UK 005

BEGINNERSKDE THEMES

That’s the long and the short of it. Here are thecommands:

mkdir eclipse2/GR÷flE/actionsmkdir eclipse2/GR÷flE/appsmkdir eclipse2/GR÷flE/devicesmkdir eclipse2/GR÷flE/filesystemsmkdir eclipse2/GR÷flE/mimetypes

Now, to convert our .xpm files into .png files wewill need a temporary directory. We create this with

mkdir xpm2png_temp

The directory name in this case can be anything youlike.That completes the basic framework of the icontheme. Next, we copy, using

copy ~/eclipse/*.xpm xpm2png_temp

5 · 2001 LINUX MAGAZINE 109

Listing 2: Script for classifying icons#!/bin/sh#classify itDEFAULT_KDE_ICON_TREE=/opt/kde2/share/icons/hicolorTHEME_PATH=../eclipse2

for I in "$@";do

convert $I -geometry 16x16 __TEMP_FILE16.pngconvert $I -geometry 22x22 __TEMP_FILE22.png

DEFAULT_FILE="$DEFAULT_KDE_ICON_TREE/32x32/actions/$I"if test -f $DEFAULT_FILE; then

cp $I $THEME_PATH/32x32/actions/ 2> /dev/nullcp __TEMP_FILE16.png $THEME_PATH/16x16/actions/$I 2> /dev/nullcp __TEMP_FILE22.png $THEME_PATH/22x22/actions/$I 2> /dev/null

elseDEFAULT_FILE="$DEFAULT_KDE_ICON_TREE/32x32/apps/$I"

if test -f $DEFAULT_FILE; thencp $I $THEME_PATH/32x32/apps/ 2> /dev/null

cp __TEMP_FILE16.png $THEME_PATH/16x16/apps/$I 2> /dev/nullcp __TEMP_FILE22.png $THEME_PATH/22x22/apps/$I 2> /dev/null

elseDEFAULT_FILE="$DEFAULT_KDE_ICON_TREE/32x32/devices/$I"

if test -f $DEFAULT_FILE; thencp $I $THEME_PATH/32x32/devices/ 2> /dev/nullcp __TEMP_FILE16.png $THEME_PATH/16x16/devices/$I 2> /dev/nullcp __TEMP_FILE22.png $THEME_PATH/22x22/devices/$I 2> /dev/null

elseDEFAULT_FILE="$DEFAULT_KDE_ICON_TREE/32x32/filesystems/$I"

if test -f $DEFAULT_FILE; thencp $I $THEME_PATH/32x32/filesystems/ 2> /dev/nullcp __TEMP_FILE16.png $THEME_PATH/16x16/filesystems/$I 2> /dev/nullcp __TEMP_FILE22.png $THEME_PATH/22x22/filesystems/$I 2> /dev/null

elseDEFAULT_FILE="$DEFAULT_KDE_ICON_TREE/32x32/mimetypes/$I"

if test -f $DEFAULT_FILE; thencp $I $THEME_PATH/32x32/mimetypes/ 2> /dev/nullcp __TEMP_FILE16.png $THEME_PATH/16x16/mimetypes/$I 2> /dev/null

cp __TEMP_FILE22.png $THEME_PATH/22x22/mimetypes/$I 2> /dev/nullelse

echo "File could not be classified: $I";fi

fifi

fifi

done

Table 1: Differing file namesFilename in KDE 1.1.2 Filename in KDE 2applications_package.png package_applications.pngeditors_package.png package_editors.pnggames_package.png package_games.pnggraphics_package.png package_graphics.pngmultimedia_package.png package_multimedia.pngnetwork_package.png package_network.pngsettings_package.png package_settings.pngsystem_package.png package_system.pngutilities_package.png package_utilities.pngkfm_fulltrash.png trashcan_full.pngkfm_trash.png trashcan_empty.png

Listing 1: Script to convert from .xpm- into .png-files# convert_itfor XPM_FILE in "$@";do

PNG_FILE=$(basename $XPM_FILE .xpm)convert "$XPM_FILE" "$PNG_FILE".png;

done

Page 99: Linux Magazine UK 005

BEGINNERS KDE THEMES

the old files into the temporary directory andchange, using

cd xpm2png_temp

to this. The actual conversion functions almostridiculously simply. We merely write a little script,using our favourite editor (convert_it) and releasethis for execution with

chmod +x convert_it

and call it up with

./convert_it *.xpm

After a short time all the .xpm files have beenconverted into .pngs. We can also leave theclassification of the files to a script (cf. Listing 2). Thisgleans the necessary information from the standardicon directory of KDE 2 and classifies our icons. Theprerequisite for this is that we are still in thetemporary directory when we do it. Take care here, asa few file names have changed. The differences inTable 1 have been found by testing. These need to becorrected before calling up the classify_it scripts by

mv old_filename new_filename

Once Listing 2 has been typed, stored in the fileclassify_it and, using

chmod +x classify_it

has been released for execution, the script is startedwith

./classify_it *.png

After that, the names of the files are displayedwhich could not be classified in any of the abovefive classes. These are mainly icons which eitherbelong to an application not yet known to KDE 2 ordo not in fact fit into these classes (window iconsetc).The script in Listing 2 also ensures that the icons,correspondingly reduced in size, are sorted into the16x16 and the 22x22 subdirectory. The scripts maynot be resolved in the most elegant way. But theydo work. So we now have our icons in thenecessarily structured directory tree. All that remainsis to create the configuration file index.desktop inthe eclipse2-directory. This has a similar syntax toeclipse.themerc and is shown in Listing 3. Theentries were obtained by re-engineering the”penguin” theme by Ilona Melis (listed as item 4below). They are consequently not based on”substantiated” research. The individual parametersmust therefore not be speculated upon. Theambitious reader should investigate further.

110 LINUX MAGAZINE 5 · 2001

[KDE Icon Theme]Name=EclipseDescription=Eclipse Icons by Hagen HoepfnerDisplayDepth=32Example=execInherits=hicolorDesktopDefault=32DesktopSizes=16,22,32SmallDefault=16SmallSizes=16Directories=16x16/apps,16x16/actions,16x16/dUevices,16x16/filesystems,16x16/mimetypes,22xU22/apps,22x22/actions,22x22/devices,22x22/fiUlesystems,22x22/mimetypes,32x32/apps,32x32/acUtions,32x32/devices,32x32/filesystems,32x32U/mimetypes,[16x16/apps]SIZE=16Context=ApplicationsType=Fixed[16x16/actions]SIZE=16Context=ActionsdType=Fixed[16x16/devices]SIZE=16Context=DevicesType=Fixed[16x16/filesystems]SIZE=16Context=FileSystemsType=Fixed[16x16/mimetypes]SIZE=16Context=MimeTypesType=Fixed[22x22/apps]SIZE=22

Context=ApplicationsType=Fixed[22x22/actions]SIZE=22Context=ActionsdType=Fixed[22x22/devices]SIZE=22Context=DevicesType=Fixed[22x22/filesystems]SIZE=22Context=FileSystemsType=Fixed[22x22/mimetypes]SIZE=22Context=MimeTypesType=Fixed[32x32/apps]Size=32Context=ApplicationsType=Fixed[32x32/actions]Size=32Context=ActionsdType=Fixed[32x32/devices]Size=32Context=DevicesType=Fixed[32x32/filesystems]Size=32Context=FileSystemsType=Fixed[32x32/mimetypes]Size=32Context=MimeTypesType=Fixed

Listings from the article LinuxMagazine/kthemes/

Listing 3: index.desktop

Page 100: Linux Magazine UK 005

BEGINNERSKDE THEMES

Using the icons

Once the icons have been converted and classified,they have to be copied to the right place and thenactivated. The first is done via a simple copycommand. As we are indeed still in the themedirectory, we first have to leave this with

cd ..

Then we send it with

cp eclipse2/ ~/.kde2/share/icons/ -rf

to where it belongs.Changing an icon theme in KDE 2 works on a

dialog basis. The corresponding dialog is in the startmenu under Settings/Display/Design/Symbols and isshown in Figure 3.

After the dialog has been called up, the icontheme to be used is selected by a left click on thename and confirmed by a left click on the OKbutton. ■

5 · 2001 LINUX MAGAZINE 111

The authorHagen Hoepfner studiescomputer science at Otto-von-Guericke-Universit‰t inMagdeburg.

Info

[1] KDE Homepage:http://www.kde.org[2] The example of an icon theme "eclipse2":http://kde.themes.org/themes.phtml?cattype=inc&disptype=trad&numthemes=0&boxhide=1&themetxt=eclipse[3] KDE Themes Homepage: http://kde.themes.org[4] penguin theme : http://www.ilicon.com

■Fig. 3: Changing icon themes under KDE 2

Page 101: Linux Magazine UK 005

BEGINNERS KORNER

There are now plenty of graphical FTP clients forLinux. What makes KBear, our K-tool of themonth, different from the rest is its somewhatunusual appearance and basic design, whichallows you to simultaneously browse throughseveral FTP-sites.

Before we go any further, we have to warn youof a slight catch involved in running KBear – itrequires KDE 2.0 (or at least a Beta version of it)and Qt-2.2.0 in order to run smoothly. This meansthat the traditionalists among you, who still don'twant to be parted from your KDE 1.1.2, can't try itout. Those of you who are more open-minded willfind the very latest version of the program athttp://www.kbear.org/.

On your marks, download, go...

Once you've downloaded and installed theprogram, use kbear & in the terminal emulationwindow of your choice to get started. Doing sowill start to reveal that Kbear isn't quite like an

ordinary FTP client, and launches a configurationwizard with which you can define the program'sappearance – see Figure 1.

You can happily leave everything at its defaultsetting by just clicking on the Next button untilthe final screen, at which point you'll need toclick on Finish. If you aren't in a hurry, exploringthe options is well worth the effort. However, thewizard itself and any of its component pages canbe called up again later via the Settings-->General Settings or Settings-->Run Wizard...menu items.

A quick glance at Figure 2 seems to indicatethat Kbear doesn't split its main displaywindow in two as other FTP clients normally do(with the home directory on one side and thewindow for the FTP server on the other side).Your home directory is actually shown here, it’sjust that the rest of the space is currently freeand waiting to display the various FTP serverswhich you will be linking to once you contactthem.

112 LINUX MAGAZINE 5 · 2001

FTP: Abbreviation for "FileTransfer Protocol", a protocol

governing the transfer of datain the Internet. Once you have

logged onto a remote hostcomputer, FTP allows

comprehensive filemanagement; depending on

your access rights. Files anddirectories can be transferred,

deleted, copied or moved.

K-tools

DIFFERENTVIEWS

BY STEFANIE TEUFEL

This column is where, every month, we tell

you about particularly useful KDE tools of all

kinds – from essential problem solvers to

things that just make life more interesting.

Page 102: Linux Magazine UK 005

BEGINNERSKORNER

Contacted

What's the use of the smartest FTP client if it hasno connection to an FTP server? Not much. This iswhy Kbear offers you two different options formaking contact with a server. The simplest to useis activated by a click on the FTP-->Quick Connectoption (also accessible with a Ctrl-N keycombination). This displays a dialog box into whichyou can enter the address of the desired server(see Figure 3). If this is a public FTP server you'llneed to activate the Anonymous Login option inorder to be able to log in. In any case, the nextstep is to click on the Connect button (alwaysassuming you are now online). The Kbear will thenmake the connection and off you'll go. Do notethough, that sometimes a public server will ask fora password, even though you selected theAnonymous Login option. If this happens, enteryour own email address in the dialog box whichpops open – the problem will be solved.

Incidentally, the little box labelled Save toSitemanager in the dialog box refers to the secondof the two connection options – Sitemanager, asort of FTP phone book. Sitemanager, which canbe accessed directly through FTP-->OpenSitemanager or the key combination Ctrl-O, comespreconfigured with a few of the main FTP servers

together with Login etc. See Figure 4 for what thislooks like.

When using Sitemanager, all you have to do toget started is select the appropriate FTP serverfrom those displayed, click on Connect and off itgoes. If you would like to include other servers inthis list, simply activate the box we mentionedearlier (Save to Sitemanager). Then let Kbear dothe rest. Alternatively, use the New option inSitemanager itself. The Remove option allows youto remove any sites you no longer want to use.Fanatics of tidiness can go even further, with NewGroup and allocate new main folders to the onesalready defined (which include General and KDE),doing so permits you to separate and classifyaddresses by subject if need be.

Hand it over!

As soon as you have made a connection to one ormore FTP servers, you're almost there in terms of adownload. But perhaps just a few words first aboutthe arrangement of the windows is in order beforewe leave you to it.

5 · 2001 LINUX MAGAZINE 113

Fig. 1: The Kbear wizard says hello

Fig. 3: Which server should it be?

Fig. 2: A little unfamiliar

Fig. 4: Adding servers to Sitemanager

Page 103: Linux Magazine UK 005

BEGINNERS KORNER

You can change the window configurationvery easily. Start by clicking on the Window-->Placing item, then select from one of the optionsdisplayed. For a traditional FTP client look and feel,the Tile vertically option (see Figure 5) will be thebest choice. If you prefer things split horizontally,try Anodine's tile (Figure 6) instead. If neither ofthese appeals to you, then simply try whichever ofthe other settings suits you best.

You can also define whether you want the filesin the directories displayed simply as icons or in themore detail, with rights, time stamp and so onshown. You can do this via the menu Settings-->General Settings-->View Settings menu item. Thisis also where you can define whether this shouldbe a tree view, or whether or not the taskbar andother things should be shown.

But back to the nitty-gritty – actuallydownloading a file. This can be done, like so manyother things in KDE, via drag and drop. Just clickon the file you want to download from the FTPserver's directory, then drag it with the mouse intothe destination directory on your own hard drive.When you let go of the mouse button a contextmenu will appear. Then select Copy – and that's it.You can now simply lean back satisfied and watchthe progress of the transfer in the lower Kbearwindow (Figure 7).

Before we finish, we'd like to tell you abouttwo more Kbear features. The first allows you toview a file prior to downloading it. To do so, clickon the file you want to view with the right mousebutton, and in the context menu that appears,select Open in standard browser. Kbear then callsup Konqueror, in which you can look at the file atyour leisure – file type permitting, of course.

The second and final feature we want tomention is an emergency brake. Kbear provides thisfeature for scatter-brained folk. On selecting Quit,which normally closes the program down, Kbearwill let you know about any ongoing transfers thatwould be ruined if you were to actually shut theprogram down at that point (see Figure 8). Anyonewho finds that this features gets on their nerves canswitch it off by clicking on the Don't ask me againbox. On doing so, Kbear will let you exit theprogram without any warning no matter what filesyou might be downloading at the time. ■

114 LINUX MAGAZINE 5 · 2001

Fig. 5: Vertical...

Fig. 6: ... or do you prefer horizontal?

Fig. 8: Caution is better than interrupted downloads...

Fig. 7: It's making progress

Page 104: Linux Magazine UK 005

SOFTWAREKONQUEROR

5 · 2001 LINUX MAGAZINE 115

Konqueror itself is basically a small and leanprogram, which can if required load in additionalsubprograms ("components"), in order to offerextended functionality. So, to display a Web site theKHTML components are loaded, or to showimages, the kview components.

So where is he then?

When KDE 2 is started for the first time theKonqueror introduces itself as file manager anddisplays the home directory. If not, you can callup Konqueror via the panel at the bottom of thescreen. One click on the house-icon is all it takesto get a quick overview of your files. If there area great many files, you will immediately noticethat Konqueror has become much fastercompared with KFM. Anyone who has ever gotlost with the old KFM in the /dev directory willknow that it sometimes took more than half aminute to construct the entire directory, with its2000 files. Using Konqueror this takes just amoment.

It all depends on your view

And now it is possible to alter the view preciselyaccording to your own wishes. On the symbol baron the right you can toggle back and forthbetween Symbol view, Multi-column view, Treeview, Detailed directory view and Text view. Thetree-view (Fig. 1) is a great inside tip, if, whenmoving files to various places in the file system,you want to observe the overview. It displays thedirectory structure and the precise properties for allopen folders at the same time. Via View/Displaydetails it is possible to set which properties areshown and their sequence can be defined by dragand dropping the column headers. Since thedirectory tree over on the left in the tree view issuperfluous, this can be cut off via the menu entryWindow/Display directory tree.

Those who prefer a perfectly normal symbolview have not been forgotten. If you frequentlywork with images, you will certainly want to switchon the image preview, in which a reduced version ofthe images is used as icon. (View/image preview).

[left]Fig. 1: Practical when dealingwith files: the tree view ofKonqueror:

[right]Fig. 2: Konqueror with varioussub-windows – a console isembedded at the bottom.

The acquisition of new territory always follows the same pattern. Once it has been

discovered by the navigator, it is explored by the explorer in order to be taken

by the conqueror. So the name given to the program which replaces the KFM

("K FileManager") from KDE 1.x is quite logical. It is the Konqueror.

Universal File Manager Konqueror

FLEXIBLECONQUEROR

TORSTEN RAHN

Page 105: Linux Magazine UK 005

SOFTWARE KONQUEROR

116 LINUX MAGAZINE 5 · 2001

The size of these thumbnails can be changedtogether with the icon size via View/Symbolmode.

Divide and rule!

As an advanced user you will certainly discovermany additional interesting features in the Windowmenu. You can break the window into as manyhorizontal and vertical areas as you like via View ...split. This is similar to the classic NortonCommander, in which one can then deal withcompletely different things.

The Konqueror window can be split in twovertically (Split view into left and right halves). Thismakes it easy to move or copy files.

Another example can be found in Figure 3, wherework is going on in a Konqueror window on a Website. On the left at the top the files are displayed, fromwhich the Web site is composed and on the right, thecurrent version of the Web site can be shown at alltimes. On the bottom margin you will discover aconsole window, in which work is being done via thetext editor vi on the Web site. Such a console windowcan be added via window/display terminal-emulator.

Symbols and profiles

But how do you know in which window section youare actively working? This is made clear by the greenLED, which lights up in the respective active windowat the bottom left. The checkbox at the bottom right,on the other hand makes it possible to link ordecouple various views by means of a chain symbol.So it is possible to ensure that two different window

sections always show the same directory. For examplethe window sections can be removed, by clicking withthe right mouse button on the bottom grey edge ofthe window section and selecting Remove activeview. There are various combinations of the windowsections on offer for different purposes. Therefore,you can load and store the "Layout" of the windowsection via so-called Profiles in the menu window.

File, open sesame!

As with starting programs, opening documents is donewith a click of the left mouse button on the associatedicon, although you can set a double click via KControl,the KDE-Control centre. As a rule this does not start anindependent application, but only those parts of theprogram ("components") embedded in Konquerorand needed to display the corresponding documents.When clicking on a graphics file, for example, the file isdisplayed in Konqueror as an image and the menusand symbol bars are simply altered so that all necessaryfunctions are available.

If on the other hand one clicks with the rightmouse button on the document, it is possible toselect the application with which the documentshould be opened. It is either listed directly in thecontext menu or you select the Open with entry, viawhich the desired application can be entered asappropriate. In addition, though, it is possible viaSettings /Install/ File allocations to set, easily andpermanently, which document type should beopened with which program and whether theapplication for this should be embedded or startedcompletely normally (Fig. 5).

An alternative to Netscape?

As already indicated, there are numerous othercomponents in KDE 2, including the KHTMLcomponents to display Web sites. This means that youcan also use Konqueror as a fully-capable browser, sincewith KHTML it can master all current standardsnecessary for the viewing of Web sites: HTML4, CSS1/2in part, Javascript, Java and even Netscape-Plugins.Since Konqueror is very fast, uses few resources and stillcopes with all current standards, it's a good idea to useit rather than your previous browser.

To do this, type the desired web address in theURL-line directly into the opened Konqueror or elsestart it via the globe icon in the panel. You should firsttell Konqueror whether you wish to use a proxy – sucha proxy can considerably speed up the loading of Websites. If you have been using Netscape until now, youcan also check there under Edit/Settings/Extended/Proxies/Manual proxy configuration, whether you havepreviously been making use of a proxy and, if so, whatthe proxy and port numbers are. You can then takeover these settings for Konqueror underSettings/install/ Proxies. For some sites it may still benecessary to activate Javascript- or Java support, underSettings/Install/Browser.

Fig. 4: Flash-Plugins also function inKonqueror.

Fig. 5: Documents can now beassigned much more simply to therespective application responsible

for them.

Fig. 3: With KGhostview a documentis displayed here in Konqueror

Page 106: Linux Magazine UK 005

SOFTWAREKONQUEROR

5 · 2001 LINUX MAGAZINE 117

Pure surfing pleasure

Now you can get started surfing the Internet. Beginfor example with http://www.konqueror.org, whereyou can find out if there is any news about your newfavourite browser. Another very easy one is thehistory function, which guesses the complete addressjust by typing in the URL. Should this guessworkprove unsuccessful, simply carry on cheerfully typinguntil the correct address appears. Then you can makeKonqueror display the desired Web site by pressingthe Enter key, in full image mode if you like. Whenyou have installed OpenSSL, secure connections ofup to 168 bit encryption cause no problems forKonqueror. Some KDE developers are now evenusing Konqueror for their home banking.

Abbreviations and foreignlanguagesOne additional and extraordinarily helpful feature isInternet keywords. If you enter gg: KDE in the URLbox for instance, the search engine "Google" isautomatically called up. This then shows you all theWeb sites in the Internet in which the word KDE ismentioned. Other Internet keywords make it possible,for example, to translate texts from other languages,search for RPMs or look up terms in lexicons ordictionaries (Fig. 6). By making your own definitionsyou can extend this functionality to completely matchyour own taste. Beyond everyday surfing, the fun ispractically unlimited. KHTML also supports characterswhose character set goes beyond the Latin alphabet(the magic phrase here is "bidirectional Unicodesupport"), so that for example you can look atJapanese Web sites (Fig. 7). But to do this, thecorresponding characters also have to be installed.

Sight for sore eyes

Apropos: If the font on the Web sites is too small,this can also be remedied, by making theappropriate adjustments under Settings/ Install/Browser/ Appearance. And a minimum size for fontscan also be specified in order to avoid the text beingso small as to be illegible. For temporary changes intext size it is a good idea to use the correspondingentries from the symbol bar to enlarge or reduce thetext on the Web site.

Where was it now ...?

Sites of especial interest can be provided with abookmark: After a click on bookmark/addbookmark the corresponding URL is included in thebookmark menu. The bookmark functionality is not,however, limited to Web sites, but can also be usedfor FTP download addresses and directories on yourown computer. All entries can obviously be dividedby folder into subject areas. If you have been usingNetscape or Mozilla until now, then you have

probably already created a bookmark collection bytedious, fiddly work. But here, too, Konquerormeets the user halfway, by taking over the existingbookmark under bookmark/Netscape bookmark.Anyone who wants to reach his absolutely favouritesites almost at the touch of a button can do so viabookmark/bookmark list/add bookmark. Then thebookmark is specifically included in a special symbolbar, which can be activated via Settings/displaybookmark list. As in all other KDE-applications, thecomposition of these symbol bars can be configuredmore precisely via Settings/Install/toolbar.

And the download session?

Obviously Konqueror can also be used for FTP-downloading, and the downloading of manypackets at the same time is completelyunproblematic. In order to retain an overview whendoing so, it can be advantageous to ensure (viaSettings/Install/File manager/Other) that statusinformation on all network connections is displayedtogether in one window.

A glimpse of the future

Beyond the standard protocols HTTP and FTPalready mentioned, Konqueror also has some othercommon protocols available, such as for NFS- andSMB-Shares, and LDAP-directories. In principlethese services are made available throughout KDE.So, for example, you can use FTP not only inKonqueror, but also with other programs whichmake use of it. Because of the modular architectureof KDE 2, it is easy for the developers to addadditional protocols. The result of this will be that infuture you will also be able, via the URL line inKonqueror, to read your e-mails and/or newsgroupsor can download the images from your digitalcamera. A refinement of the functionality andappearance of History- and Bookmarks is planned.So there is also a prospect of a better view of iconsand a preview for text files. In addition to increasedstability there is thus some additional attention todetail in the pipeline. Because it is mainly the manyuseful details, which make KDE and also Konquerorso popular. In the meantime the KDE team wishesyou lots of fun with KDE 2 and Konqueror! ■

[top left] Fig. 6: translating with konqueror ....

[top right]Fig. 7: Konqueror in FVWM2:Obviously, Japanese Web sites canalso be displayed.

Fig. 8: The toolbar, too, can beconfigured freely in any KDEprogram.

Page 107: Linux Magazine UK 005

SOFTWARE PHOTOPAINT WORKSHOP

118 LINUX MAGAZINE 5 · 2001

In true Linux tradition, Corel is giving away copies of its

”PhotoPaint 9” image editor for Linux. This alternative to

GIMP is absolutely brimming with useful features, but isn’t

particularly beginner-friendly. So, for those who think they

might get lost in the PhotoPaint jungle, in this feature

we’ll introduce you to this very useful program and some

of its most important features.

Having made any configurationchanges necessary, after starting

PhotoPaint 9 it should, all beingwell, display a

”Welcome”screen. In the

background, you should also seewhat appears at first glance to be a somewhatovercrowded work area. To shed some light on thisjungle of icon bars, we’ll explore them one by one.To do so without boring you silly, we’ll use anexample task, in which we will place good old”Tux”, the Linux mascot, into a pretty picture frame.The main focus will be on handling masking toolsand layering technique, but we’ll explore otherareas along the way too. Before we get down to thenitty-gritty, though, we need to cover a fewtheoretical principles first.

Basics

PhotoPaint is a pixel-oriented image processingprogram. All images are composed of individualpoints arranged in a rectangular matrix. Byassigning colours to these individual points, whichare known as pixels (an abbreviation for ”pictureelement”), an image can then be created. Therepresentation of such a graphic image becomesmore detailed as more pixels are used. The numberof pixels used is referred to as the resolution.

An alternative to this form of imagerepresentation (referred to as raster) is what’sknown as vector representation. Here, and image ismade up from a number of individual geometric

shapes that can be manipulated individually or asgroups and is ideal for technical drawings orillustrations. PhotoPaint doesn’t support this type ofimage directly, though, instead leaving this topackages such as CorelDraw.

Having dealt with the very basics, before you goon to follow the steps required to enhance Tux inour example, it is well worth having a look atPhotoPaint’s built-in tutorial. You can start thiseither via Help/CorelTUTOR... or by selecting therelevant option in the ”Welcome” screen.

Desktop

As we’ve already mentioned, to help you get togrips with PhotoPaint this tutorial will involveadding a frame to Tux. In order to do so we will, ofcourse, need a suitable image of the little fellowbefore we can continue. Just such an image isincluded on our coverdisc. To open this, if youhaven’t already done so, launch Corel PhotoPaint 9and, from the top right corner of the ”Welcome”screen, select Open Image. If you have already shutthis window by deselecting the little tick in the boxat the bottom of the window, you can use theFile/Open... option from the main screen. In eithercase, when the file open dialog box pops up, selectthe file tux.cpt.

Let’s now take a closer look at the desktop. Atthe top of the screen you’ll see three toolbars underthe main menu bar. The first is the ”standard”toolbar. This includes a few basic icons used forpurposes such as loading and saving files. Beneaththis you will find a toolbar with various masking

Corel PhotoPaint 9 – first steps

PAINTING BYNUMBERS

BY TIM SCHÜRMANN

Page 108: Linux Magazine UK 005

SOFTWAREPHOTOPAINT WORKSHOP

functions, which we’ll be making extensive use ofshortly. As well as providing access to certain otherfunctions, the third toolbar keeps certain settingoptions easily to hand for whichever drawing toolhas been selected, and so constantly alters itsappearance. Obviously you will find (almost) all ofthe functions available in these three bars are alsoavailable from the normal menus.

A toolbar can be shown or hidden very easily.All you have to do is click on any toolbar, then selector deselect the appropriate toolbar from the menuthat pops up. You can also alter the positions of anyof the toolbars and even completely ”detach” themfrom the desktop so that they are then in their own,free-floating, window. To move or detach them,simply drag them and drop them by clicking on thedouble vertical or horizontal lines you’ll see at oneend of the bar.

In addition to the toolbars we’ve justmentioned, on the left side of the main PhotoPaint

Window you’ll see what’s called the ”tool palette”,and on the far right you’ll see a ”colour palette”. Astatus bar, which always keeps a few very helpfuldetails handy, is visible at the bottom of the mainwindow.

An additional window, just to the left of thecolour palette, is part of the family known as”dockers”. These are normally free-floatingwindows and are used for a wide variety ofpurposes. As the name ”dockers” suggests, thesewindows can ”dock” anywhere. A few of thesewindows can even be hung inside each other. Bydefault, the docker displayed to the left of thecolour palette displays a list of layers.

By using Window/Dockers, the various windowsavailable as dockers can be maximised andminimised, which is very handy. This and otheroptions to do with dockers and toolbars are wellworth experimenting with if you are working withPhotoPaint for the first time. When doing so, be

5 · 2001 LINUX MAGAZINE 119

Installation Before you do anything else, you should first check whether your computer is up to the rather high minimum systemrequirement of the program. These are a 200MHz Pentium processor or faster, 64 MB RAM or more (128 MB RAMrecommended), no less than 170 MB of free hard disk space, a mouse, and last but not least SVGA monitor and graphics card.You’ll also need Kernel release 2.2 or higher, glibc libraries 2.0, 2.1 or compatible, X-Windows and Package managementsoftware for RPM or Debian Packages (dpkg/apt-get). Keep in mind, though, that trying to run it on anything less than aPentium II will result in very slow response when dealing with larger images, or more than a handful of smaller ones at once.Although Corel is giving the software away free, you can’t, of course, just call them up and ask for one. Instead you’d normallyneed to download it from http://linux.corel.com, and at over 90Mb this is no quick process. We’ve included a copy on thismonth’s coverdisc, though, which means you don’t even have to spend a second online to download it.To get the installation process under way, first unpack the PhotoPaint archive with a suitable program. You can use somethinglike ”Ark” under KDE, or you can use ”tar xvfz <Filename>” in a terminal window. After that you need to invoke theinstallation utility by launching the ”install” program that will have been unpacked along with everything else. Annoyingly,you won’t be given a choice of installation directory – this has to be /usr/lib/corel. Under some distributions (including SuSE) aKDE menu item then has to be installed manually. To do this you can either make the links yourself or install two RPM formatpackages from the sub-directory /dists/redhat. Both of the archives necessary for this begin their file names with ”menu-” or”menusupport-redhat”. If in doubt, you should read the readme.htm file provided. Alternatively, if you want to avoid all this,PhotoPaint 9 can be started at any time via a terminal window just by typing in photopaint and then pressing the enter key.Incidentally, fonts must be registered before they are used, but as with WordPerfect Office 2000, an easy to use font manageris provided as part of the package that can be used for this very purpose.

[left]Figure 1: Corel PhotoPaint 9after starting

[right]Figure 2: ”tux.cpt” has beenopened

Page 109: Linux Magazine UK 005

SOFTWARE PHOTOPAINT WORKSHOP

sure to experiment with the little double arrows thatare displayed in the corners of some windows. Youmight also want to look out for small black trianglesin the bottom right corner of some of the toolpalette icons. These indicate that more objects fromthis family of tools are available but are currentlyhidden.

You will find, for example, tools to draw circlesand polygons hidden underneath the rectangledrawing tool in the tool palette. To reach thesehidden tools, move the mouse cursor over therectangle symbol and hold down the left mousebutton for a couple of seconds. A menu will thenpop up from which you can choose the additionaltools. Note the double lines displayed to the left ofthe extra options – clicking and holding on here willallow you to detach the menu and drop it anywhereon the screen, just like normal toolbars. Is that greator what?

Get set, go

For all those who are impatient and want to getstarted with their painting immediately, try this:Click with the left mouse button on a colour fromthe colour palette. This then becomes the currentdrawing colour (a click with the right mouse button,on the other hand, would re-define the fill colour).Now select the bottom symbol in the toolbar, the”Paint Tool”. This will allow you to paint directly

onto the image. When you do, note the way theproperty bar, (the full name for the last of the threetoolbars at the top of the screen) changes. Alsonote that using this toolbar you can, among otherthings, alternate between various paint tools (thefirst icon from left) or define the shading depth (theslide controller). Feel free to experiment in order tobecome familiar with the various settings and whatthey do. If you make a mistake or do somethingparticularly stupid, you can always reverse youraction or actions via the Edit/Undo menu options orthe backward curving arrow button on the firsttoolbar.

If you do experiment and end up saving anychanges to Tux by mistake at this point, reload himfrom the CD.

Tux – you’ve been framed

Leaving Tux alone for a moment, using File/New... ,create a new image. In the window that pops up,there are a few settings we need to change, andwhich need a little explanation.

As we’ve already mentioned, a colour isassociated with each pixel in an image. The colourvalue can be based on the intensity of the coloursred, green and blue (”RGB”), or cyan, magenta,yellow and black (”CMYK”). RGB colours are usedin monitors and TV sets, while CMYK is used inmost inkjet printers.

120 LINUX MAGAZINE 5 · 2001

[left]Figure 3:

The desktop with free-floating symbol bars

[right]Figure 4: Creating an

empty image

PhotoPaint and WordPerfect Office 2000 As you may be aware, some problems arise when you have both PhotoPaint 9 and WordPerfect Office 2000 installed on asystem at the same time. Some of these problems can be avoided by always installing WordPerfect Office 2000 beforePhotoPaint 9 and saying yes when PhotoPaint asks if you want to install an update for WordPerfect Office. This will avoidcompatibility problems that result from PhotoPaint over-writing Office 2000’s font manager. Incidentally, when asked for thepath to the CD-ROM by PhotoPaint, simply specify the directory in which you unpacked the program in the first place. Youshould also note that any font types you installed yourself have to be registered again in the font manager in order to work.Even after doing all this, all will not yet be plain sailing. In order to prevent Office 2000 from suddenly becoming unable tofind its spellchecker, you’ll need to copy all files from the directory /usr/lib/corel/shared/Writing Tools/9.0/ into/usr/lib/corel/Shared/Writing Tools/9.0/ – note the capital S in the second path.

Page 110: Linux Magazine UK 005

SOFTWAREPHOTOPAINT WORKSHOP

In the type of RGB-images used on PCs, whenyou want to display ”true colour” 16.7 millioncolour images, you have to specify three values foreach pixel, between 0 and 255, one for the red, onefor the green and one for the blue component. Thismeans that each pixel requires 24 Bits (3 Bytes) ofmemory in order to store it. If such a wide range ofcolours aren’t needed, you can conserve space bycreating images where less memory is used todefine the colour. You could use just one byte (8Bits), for example, but then the image could consistof no more than 256 colours.

In a case like this, where only a small number ofcolours are used, it is possible to define exactlywhich colours these are, out of the full 16.7 millioncolours most computers can deal with. The requiredcolours are defined in a table known as a colourpalette, and each entry is assigned a number or anindex. In the image itself, you then only need tostore the corresponding colour index for each pixel.With viewing or creating images based on palettes,it is important that the correct palette is used at alltimes, as otherwise the colours won’t look right.

For our new image we’ll leave the setting as”24-Bit RGB” in the dialog box. Underneath thisdrop-down box you’ll see an option that allows youto set the background colour of the new image –select White. ”No Background”, incidentally meansthat the background remains transparent.

In the ”Image Size” group of options you canspecify the dimensions of your image. Here it ispossible to specify a fixed size from the drop-downbox, or to adjust the borders to your exactrequirements. If you choose the latter method, youshould define, in the area to the right, the yardstickyou want to use. In general this should be left as”Pixel”, but you may want to choose other optionson other occasions. Note how, in the lower area ofthe new image window, you are always shownhow much memory space the new image willrequire if created using the current settings. For thepurposes of our tutorial, select 640x480 inlandscape format.

Scene-setting

Once the new image has been created, the firstthing to do is switch on the ruler, using View/Rulers.With this it is very simple to create the ”guidelines”we’ll add next. First, click on the horizontal ruler,hold down the mouse button and drag theguideline that will appear to roughly the centre ofthe image, then release the mouse button. Next, doalmost exactly the same thing, but this time create avertical guideline. Arrange this new guideline sothat the two form a cross. You can move eitherguideline by dragging them and dropping them ifyou need to. Note that the selection tool, or”Object Picker Tool” as Corel calls it (which is at thetop icon in the tool palette) must be activated inorder to do so.

Worth knowing is that guidelines can beadjusted much more precisely by entering numericalvalues directly via the View/Grid and Ruler Set-upmenu.

Having set up the guidelines, in the View menuactivate Snap to Guidelines. In this way you make aguideline act as a sort of magnet to any objectswhich come close to it. This allows much greateraccuracy in the orientation of objects.

In the next step, we’ll create a frame for ourpenguin. To do this we’ll need to create a rectanglein which we’ll then have to stamp a hole. First,though, we’ll pick a colour for the frame from thecolour palette on the right hand side of the screen.Click with the left mouse button on a colour - anycolour you like except white will do. As we’vealready mentioned, this allows you to define thedrawing colour, while a right click will define the fillcolour. Your selections are displayed in the status barat the bottom of the screen as ”Paint” and ”Fill”). Ifyou don’t see a colour you like in the palette, doubleclick on one of these two symbols, which makes acolour window appear – you can make much morecomprehensive colour choices here.

After you have decided on a colour, click on therectangle tool – sixth symbol from the bottom on

5 · 2001 LINUX MAGAZINE 121

[left]Figure 5: Showing rulerand two guidelines

[right]Figure 6: The finishedrectangle

Page 111: Linux Magazine UK 005

SOFTWARE PHOTOPAINT WORKSHOP

the Tool Palette. Now move the mouse cursor toroughly the point in the image at which the twoguidelines cross. Next, click and hold the left mousebutton, then move the mouse. You’ll see a rectangleappear on the screen, the size and format of whichyou can control. Note how the guidelines have”sucked” the starting corner of the rectangleexactly onto the crossing point. Without letting goof the mouse button, press and hold the Shift key.This tells PhotoPaint that the point at which youbegan the drawing process should be the centre ofthe rectangle, and not the corner. Finally, drag therectangle so that it covers the entire backgroundand let go of the mouse button then the Shift key.Pressing the Ctrl key, by the way, makes all theedges of the rectangle equal, in other wordsallowing you to draw perfect squares.

Your image should now look something like thatshown in Fig. 6. If it is not already displayed onscreen, you should now open the Objects docker byselecting it in the Windows/Dockers menu. It isnormally shown by default on the left next to thecolour palette on the right side of the screen, though.

The Objects docker displays all objects containedin the currently active image. In our case you shouldsee the rectangle object and the background, whichis itself treated as an object, listed.

Each object lies on its own layer. A layer can bethought of as being a transparent sheet, many suchsheets being arranged on top of each other. In ourcase the rectangle object is on a sheet lying over thebackground sheet.

The rectangle object should be surrounded by ared border in the list, which indicates that it thecurrently selected object.

Holes

Our next step is to stamp an oval hole out of therectangle. This is where we’ll put Tux. To do this,click on the second symbol from the top in the toolpalette (the ”Rectangle Mask Tool”) and hold downthe left mouse button until the tool sub-menu pops

up. From this, select the ”Circle Mask Tool”. Now move back to the centre of the image over

the previously created rectangle, hold down theshift key and, with the left mouse button pressed,draw an oval that does not touch the edges of therectangle.

Next, select Object: Cut Selectionfrom theObject/Create menu. Cut Selection will do just whatit says it will, cutting out the oval from therectangle, but not actually moving it anywhere soyou won’t be able to tell that anything hashappened at first glance. But if you now look at thedockers window, you’ll see the stamped out ovalhas appeared as a new object on a new layer. Tomove this unwanted object out of our way, click onthe oval in the middle of the image and move itusing drag and drop.

The white oval area which you can now see inthe centre of the rectangle is not a collection ofwhite pixels within the rectangle. Rather, it is thebackground showing through.

In the dockers window, the oval should now behighlighted black. If this is not the case, click onceon its name (with a double click you would open adialog window with additional settings). Since weno longer need this stamped out oval, we can eraseit using Object/Delete.

Fills

A basic, one colour frame does not look particularlyattractive, and certainly isn’t good enough for ourfriend Tux. For this reason we’ll now go on to giveboth background and the frame a ”fill”. To do this,first select the background object from the layers list.Then select the paint pot from the tool palette (the”Fill Tool”). This will make some colourful iconsappear on the property toolbar (the third and last ofthe toolbars at the top of the screen). The first fourof the new icons represent the fill types you can usea solid colour, a shading, a bitmap (i.e. a pixel image)or a texture. Via the fifth button, ”Edit Fill” you canthen make extended adjustments to the fill action.

122 LINUX MAGAZINE 5 · 2001

[left]Figure 7: The cut-out circle

[right]Figure 8: Selection

of paper fill

Page 112: Linux Magazine UK 005

SOFTWAREPHOTOPAINT WORKSHOP

For our image, click on the fourth icon, ”TextureFill”, and then on ”Edit Fill”. From the ”Texture List”,select ”Recycled Paper” and then click on ”OK”.

Move the mouse cursor to an area where thebackground is visible and press the left mousebutton; this will give you a paper fill. Next, in thelayers docker, select the rectangle object, then clickon the third colourful icon on the properties toolbar(bitmap fill). Click on ”Edit Fill” and, in the windowthat pops up, then click on the down arrow next tothe large button showing a preview of the bitmapcurrently selected. This brings up a scrollablepreview of more bitmaps you can use. Select thefourth image from the top in the left hand column.Incidentally, using ”Load” you could also use one ofyour own images as fill object. Select ”OK” and fillthe rectangle with the bitmap by clicking on it.

Although it isn’t too bad, our currentarrangement isn’t particularly good either. To spiceit up and give it a feeling of depth, select theEffects/Texture/Plastic option. Leave the defaultvalues in this setting window and click ”OK”, andwatch what happens. Isn’t it great? Please note thatthis kind of effect can take a long time to completeon slow computers.

Frame program

Now, finally, we are at the stage were we can putTux in his new frame. To do this, select the windowwith the Tux image. As we only want to insert Tuxand not the entire image in the frame, we must firstcut out the little chap from his background.PhotoPaint helps here with its intelligent maskingfunction: click on the second icon from the top inthe tool palette and hold down the mouse buttonuntil the sub-menu appears and select the ”MagicWand Mask Tool”. After you’ve done that, click onthe area around Tux. The magic wand will thenautomatically and precisely mask that area and allareas of the same colour. However, what we’ve justdone is select Tux’s background, and not Tuxhimself. We therefore need to invert the mark inorder to select Tux – you can do this effortlesslyusing the Mask/Invert option.

By the way, as an alternative to the magic wandyou could also use the lasso. With this you only

need to roughly encircle the penguin. Once you’vedone this, PhotoPaint will attempt to find the edgesof the encircled object and mask it.

However you decide to do it, our marked Tuxcan now be copied from his present location usingEdit/Copy and inserted into the image with theframe using Edit/Paste/As New Object.

Activate the selection tool again (”Object PickerTool”) and then move the penguin to the right spot inthe frame using drag and drop. If the penguin is toobig for the opening, you can place the layers on whichit lies behind those of the rectangle: To do so, with thepenguin selected, choose Object/Arrange/Order/BackOne, which moved him back one layer and thereforebehind the frame. Alternatively, you can also pick upand change the order of the objects in the layersdocker using drag and drop – try it!

We’ve just about finished, so we can now getrid of the guidelines we created right at the start. Todo so, just click on them with the mouse and then,with the mouse button pressed, drag them back tothe ruler, at which point they will vanish!

All you have to do now is store the image. Usethe File/Save as... option to do this. When you doso, note how you can select from various fileformats for the file. The options displayed dependon the colour model used (RGB, CMYK etc), andalso on whether or not there are objects in theimage. You cannot save an image with objects inBMP format, for example, unless you merge all theobjects into the background layer first. You can dothis using Object/Combine/Combine All ObjectsWith Background. Worth noting, though, is the factthat you’ll not have the option of separating theobjects from each other again once you’ve donethis and saved the file.

Well, here ends our introduction to CorelPhotoPaint 9. It hasn’t been possible to show youabsolutely everything. Indeed, we’ve only scratched thesurface, so some exploration of your own would bevery worth while. In particular, the effects (in the Effectsmenu) are something you should try out on a testimage. When you do, though, note that some of theeffects can only be applied to objects already selected.

For more information, you can turn toPhotoPaint’s online help, or to one of the manybooks covering the subject. ■

5 · 2001 LINUX MAGAZINE 123

[left]Figure 9: The completed frame with the plastic filter effect

[middle]Figure 10: Selected Tux

[right]Figure 11: The complete image: Tux in the frame

Page 113: Linux Magazine UK 005

CGIBurn [5] by Scott Gifford is a web-based front-endfor writing CDs. It is meant to allow several users onone or several machines to share a single CD writer.

Since CD writing is rather susceptible toproblems, the CD writer is traditionally put into adedicated machine or the file server. Most CDburning software front-ends are not designed to beused by several users. Additionally they very oftencreate problems when the display is being exportedto some other machine over the network. In thecase of a flaky network the writing process is

inadequately insulated against network outages.Problems with the desktop machine also can lead tothe production of wasted CDs. Fortunately, web-based front-ends do not have these problems.

Additionally CGIBurn offers advantages in termsof usability. On a computer used by several people,one user can trigger writing a CD and then free upthe workspace for someone else. Also, inheterogeneous networks this method offers severaladvantages. If the CD writer is housed in the machinethat also hosts the SAMBA server then users can dropfiles into certain directories and use their favouriteweb browser to start writing them to CD.

According to Scott Gifford, one of theprogram's big advantages is its modular concept.The first public release already supports copyingfrom CD to CD, between CDs and directories, aswell as writing ISO images. Since the configurationfiles define certain actions and the modules used forthem, it is rather easy to implement newfunctionality. The look and feel of CGIBurn can alsobe catered to personal taste by HTML templates.

As the previous paragraph perhaps implied,CGIBurn is still rather young. The current version is thefirst one publicly available. Not surprisingly the list ofplanned features is rather long. The next step will becopying music CDs to and from MP3 and WAV files.Also on the list is an option to erase CDRWs,directories or ISO images. If there is enough interest,Scott will consider rewriting the template system to

COMMUNITY BRAVE GNU WORLD

124 LINUX MAGAZINE 5 · 2001

CD burning is easywith CGIBurn

Welcome to Georg's Brave GNU World. Although I'm new to you guys in the

English edition of Linux Magazine, I've been writing for the German

edition for two full years now. As a kind of birthday present to you all I've

put together two features that explain what I have been working on for

the last year. This will also help my new found audience catch-up.

The monthly GNU Column

BRAVEGNU

WORLDGEORG C. F. GREVE

Page 114: Linux Magazine UK 005

become more flexible and versatile as well as addingsupport for locking directories. And finally he canimagine writing front-ends for the command line,ASCII interfaces and even an LCD display with buttons.

The biggest weakness currently is the lack ofaudio support although Scott is certain to have thatincluded within a few weeks. But despite the earlyversion he already considers it to be quite stable.Interested developers and HTML designers shouldfeel encouraged to get in touch with him. Help isvery much welcome and Scott has documented theconcepts and backgrounds rather well.

Personally I think one thing can be improved –the installation. Newbies or more basic users shouldtake heed and not attempt the job unless you havesufficient nails to chew through and hair to pull out.Nevertheless CGIBurn has a great potential and isdefinitely worth taking a look at.

By the way, this project has quite an interestinghistory. Scott and his fiancé went to buy a CD writer

to go into his GNU/Linux machine. But as his fiancéhas limited knowledge of GNU/Linux she wouldn'tbe able to use the new drive. Scott looked on theFTP sites for a solution and didn't find anything thatsatisfied him so began writing CGIBurn. When herealized that this might also be of interest to otherpeople he began to clean up the code and releasedit under the GNU General Public License.

Multiple

Multiple [6] is a small command line tool by OliverBandel which was released under the GNU GeneralPublic License. Its function is to find identical filesand get rid of duplicates.

Home directories in particular tend to collectquite a bit of saved news and mail as well as otherfiles so duplicates are a relatively common thing.Finding duplicates in particular in saved news andmail was the very reason Oliver wrote the program.

COMMUNITYBRAVE GNU WORLD

5 · 2001 LINUX MAGAZINE 125

CGIBurn also supports copyingbetween directories and CDs

[left]Diff2html shows incombination with dv thedifference between fileswith similar content

[right]Just starting: The FreeSoftware FoundationEurope

Page 115: Linux Magazine UK 005

In order to do the task better than similar programsit offers the option to ignore everything before thefirst empty line in order to avoid problems withdifferent time/date stamps in the saved mail.

Multiple can get rid of all duplicates, printingthe name of the remaining files to stdout becausedeleting all files can hardly be what the user wants.

Unlike diff it can compare an unlimited amountof files and it is also not based upon md5checksums which makes it relatively fast andefficient. People with a certain tendency ofaccumulating things might find this a useful tool.

According to Oliver, the big weakness ofmultiple is that in taking the files to comparefrom find, if anybody activates the find optionto follow symbolic links this might result indeleting all files. This problem arises wheneverfiles are given to the program multiple times. Toavoid this, he's considering writing his ownroutine to search directory structures. At themoment he feels that writing properdocumentation and a manpage would be moreimportant, however.

diff2html and dv

Diff2html [7] and dv [8] are two interlinkedprograms from Daniel E. Singer. They come fromthe category of what you could call"something2html" programs.

As the name already indicates, diff2html is aprogram to present the output of the diff programin an HTML document. The output is colour codedand lists both versions next to each other in a prettynice way. The colours can be defined byenvironment variables.

Dv stands for "diff viewer" and is essentially awrapper for diff2html that starts a browser to showits output.

Being BASH shell-scripts, both programs arevery portable which makes them useable on anyUnix machine. Unfortunately the author did notspecify a license for them since he did not considerthis to be necessary as he has no wish to controlthem in any way. This is a disadvantage but theprograms might be helpful for some users.

GNU GRUB

The GNU "GRand Unified Bootloader" (GRUB)[9] is an official part of the GNU Project and is ofcourse published under the terms of the GNUGeneral Public License.

GNU GRUB is quite probably the most powerfulbootloader for i386 based machines. It has its originin 1995 when Erich Boleyn began working on it.From 1999 Gordon Matzigkeit became the officialmaintainer and Okuji Yoshinori, a former Japanesetranslator of the Brave GNU World, has become themost active developer. But of course these aren'tthe only developers. A lot of people have

contributed to GNU GRUB over the years and,unfortunately, the list is too long to be quoted here.

The capabilities of GNU GRUB are ratherastonishing. It has a nice menu for an interface andeven supports operating over a serial console.Additionally it has the capability to boot over thenetwork via TFTP or NFS so workstations can beconfigured to pull their kernels off some central server.

At boot time GRUB can already deal with a lotof file systems (Ext2fs, ReiserFS, BSD UFS, MS-DOSFAT16 & FAT32 and Minix) in order to be able toload kernels or files for booting. This comes in veryhandy when trying out new kernels without havingto reconfigure GRUB, not to mentiontroubleshooting, where it can be real life-saver.

Should something special be missing or not besupported, GRUB can chain-load another bootloader. Of course all these features can bepassword-protected if so desired.

The GRUB shell is a Unix program that emulatesthe GRUB bootcode under another operatingsystem like GNU/HURD, GNU/Linux or *BSD. Thismakes it possible to test features without having toreboot the machine.

Right now GRUB is teetering on the brink of its1.0 release and most of the work will be done ineliminating the last bugs and increasing stability –new features are not to be added.

However, after the 1.0 release a new infrastructurefor GRUB called Figure [10], which is already beingdeveloped by Gordon Matzigkeit, will be tried out.Should this prove to be a good idea it would essentiallygive GNU GRUB the capabilities of a mini operatingsystem with compiler, memory management and soon. Independently of Figure everything seems toindicate that the GRUB is headed towards becoming akernel in its own right. The main reason is that it doesmake a lot of sense to have a tiny boot loader thatextends itself by loading modules or a kernel thatcompletely replaces the bootstrap environment.

But those plans are almost pipe-dreamscompared to the here and now. It is much moreimportant that with GNU GRUB we get a boot loaderthat can boot GNU/HURD and has features that couldonly be dreamt of so far. Knowing this it makes a lotof sense that several GNU/Linux distributions likeOpenLinux, Plamo Linux, Mandrake, BestLinux andConectiva Linux use it by default.

But now we stop discussing technical stuff andcome to the special features.

FSF Europe

Founding a European sister organization of the FreeSoftware Foundation is an idea I had over a yearago. Richard M. Stallman considered this a goodthing and together we agreed that Werner Koch,author of the GNU Privacy Guard (GPG), and PeterGerwinski, maintainer of GNU Pascal, would beideal people to do this with. After an initialbrainstorming phase we asked Bernhard Reiter, co-

COMMUNITY BRAVE GNU WORLD

126 LINUX MAGAZINE 5 · 2001

Page 116: Linux Magazine UK 005

founder of the FreeGIS project and board memberof the FFII, to join us.

The four of us have discussed advantages andpossible pitfalls as well as really got to know eachother and our respective views on things webrought the discussion out in the open. InNovember 2000 it was finally time.

The main task of the Free Software Foundation inthe United States is to provide a certain technical andorganizational infrastructure as well as gathering,bundling and distributing funds. All these parts wereunderrepresented in Europe until now since in everyday work, the United States is sometimes rather faraway. Additionally the tax-deductibility of donationsis an important point that was not possible so far.

The declared goal of the FSF Europe is to supportthe technical and organizational side of the GNUProject as well as other useful Free Software projectsjust like the original FSF does. Furthermore we want tomaintain the financial side in Europe to provide betterand more effective funding. And finally we seek tobecome a competent political partner in order to laysound fundamentals for Free Software in Europe.

Together we have created a core concept andbuilt up mutual trust in this closed group sincediscussing these things in public normally leads tovery emotional debates that have the tendency tocloud the core issues. From the political side, thisoften looks like there is no consensus in the FreeSoftware scene, which has proven to be prettycounterproductive. Now we feel that we have founda sound basis to provide a lasting reference point.

To assure longevity is our goal and for this thehelp of the whole community is desired. As pointsof reference for those interested we prepared the afairly minimalist web page [11] and some publicmailing lists [12].

But there is also a fourth job that the FSF Europewill be doing – it will maintain and organize theGNU Business Network.

GNU Business Network

Creating a "GNU Business Network" occurred tome when we were still discussing the FSF Europeprior to Bernhard arriving. It Network has becomemuch more definite following the LinuxTag inStuttgart when organizations and companies askedthe LinuxTag for something like it. As an additionaltest I have talked about it with several people at theLinux Expo in San Jose and got positive feedback.

The idea is to have the GNU Business Networkbring companies and the GNU Project closertogether and to offer an additional incentive forcompanies to commit to deals according to theGNU philosophy. Its focus will be the web site thatacts as a central hub with a worldwide list of allparticipants. This list serves essentially threepurposes.

First of all it allows customers to specificallyprefer companies that contribute to the Free

Software community in some way. This wayeveryone can indirectly strengthen the communitywith the money spent.

The second functionality it provides is a businessto business contact platform for companies involvedin Free Software around the world. This waycompanies can find possible distributioncontractors, local support providers or build co-operations in software development. The last partespecially does have a huge potential that isuntapped. We hope to change this.

And finally we wish to encourage companies toreduce their proprietary activities in order to gain abetter position in the GNU Business Network –membership in the GNU Business Network is notbased on financial contributions but solely on thebusiness activities of the company concerned.

Furthermore it is planned to offer a kind ofcertification for Free Software projects that willbecome a branding which can be used bycompanies to display their affinity to Free Softwareto customers and the community.

The core document of the GNU BusinessNetwork will be the "GNU Business NetworkDefinition" that is being developed by theprotagonists of the FSF Europe in permanent dialogwith Richard M. Stallman. We are currently at aboutthe 20th iteration and believe to have found a pointthat allows this to become a reality too.

Interested people and especially companies arevery much encouraged to discuss the concepts andideas on the public mailing lists [13].

that's it

That's the Brave GNU World for this month. I hopeto get a lot of feedback [1] from what I've beendiscussing (both technical and political), and, ofcourse I'll bring updates about the FSF Europe andthe GNU Business Network in the future. ■

COMMUNITYBRAVE GNU WORLD

5 · 2001 LINUX MAGAZINE 127

Info

[1] Send ideas, comments and questions to Brave GNU World<mailto:[email protected]>[2] Home page of the GNU Project: http://www.gnu.org/"[3] Home page of Georg's Brave GNU World: http://brave-gnu-world.org"[4] "We run GNU" initiative: http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html[5] CGIBurn home page: http://www.tir.com/~sgifford/cgiburn/[6] Multiple: ftp://www.belug.org/pub/user/ob/Programs/Tools/[7] Diff2html: ftp://ftp.cs.duke.edu/pub/des/scripts/diff2html[8] Dv: ftp://ftp.cs.duke.edu/pub/des/scripts/dv[9] GNU GRUB home page: http://www.gnu.org/software/grub/[10] Figure home page: http://fig.org/figure/"[11] Free Software Foundation Europe home page: http://www.fsfeurope.org[12] Free Software Foundation Europe mailing lists: http://mailman.fsfeurope.org[13] GNU Business Network mailing lists: http://mailman.gnubiz.org