Red Hat unveils Linux advanced server for enterprise customers
MS Office arrives on the Linux desktop
Microsoft makes a college try on sharing source
Microsoft said Wednesday that it will share with students more than a million lines of source code–the underlying software blueprint–for its .Net Internet initiative, including the code for its Shared Source CLI implementation, which takes aim at rival programming language Java. The code will be available on the Windows and FreeBSD operating systems.”
MS Office runs on Linux now
How many times have you heard, “Linux won’t be viable on the desktop until it can run MS Office?” Now it can. Are we satisfied yet?
Codeweavers is the company known for its work with the Open Source Wine project. Wine emulates the Windows environment and comes with just about every Linux distribution. Performance has been spotty until now. Today, Codeweavers announced the 1.0 release of Crossover Office.
This product only makes sense for people who already have a Microsoft Office CD.
If you don’t, stick with StarOffice or pay Microsoft USD $370 plus tax for the
suite. But if you do have Office 97 or 2000 laying around, Codeweaver’s
Crossover Office will let you fire up Word, Excel, PowerPoint, and Access in
Linux, and even surf the Internet with Explorer, or check your mail with
Outlook.
The test subject
An RC1 beta of Crossover Office that Codeweavers sent us in advance of the final release, with MS Office 2000.
The Testers
Norb Cartagena, a Linux.com staffer;
Hetz ben Hamo, a KDE developer and Slashdot contributor (HeUnique on Slashdot); and
me.
Hardware:
1. HP Omnibook 4150b with PIII 500 Mhz processor, 256k cache, 128M RAM, 15GB
hard drive, Red Hat 7.2, KDE and GNOME
2. Generic desktop AMD K6 450 Mhz processor, 64k cache, 192M RAM, 6GB Linux
partition, Mandrake 8.1, KDE
3. Generic desktop Pentium IV 1.5Ghz processor, nVidia Geforce 2 card, 512MB
RAM 40GB hard drive, Red Hat 7.2, KDE
Installation
Codeweavers has done well with the installation procedure. Save the install file
in your home directory. Type “sh install-crossover-1.0.0.sh.” Click, click,
boom — the base application puts itself right where it belongs. Unless you
need to install for a network, just keep everything under your home directory.
Once that’s in, you put your Office CD in and click again. It’s automated. It was slow on our computers, but nothing you wouldn’t expect from
an app based on Wine. Hetz had an easy time with it
as well.

If you’ve ever installed a Windows program, you won’t see anything unexpected
here, until you get to the reboot part. Ever noticed how you don’t have to
reboot Linux when you install programs? With Crossover Office you don’t have to
reboot even when you’re installing Windows stuff. Crossover has a way of instantaneously tricking the installer into
thinking that the computer has rebooted.
Once the MS Office installer has finished, Crossover takes over again to let you
establish file associations, and then you’re done. From now on, you’ll have the
options “open Office document” and “new Office document” in your menu. You’ll
also have the big blue “e” icon on your desktop, and even an icon for Windows Media Player.
The Skinny (what works and what doesn’t)
Not everything works. And this is a beta we’re talking about, not the
actual 1.0 release. Nevertheless, the basic
functions of Word, PowerPoint, and Excel are there.
File manipulation — Word, Excel, and PowerPoint were all adept at
opening, creating, changing, and saving files. Access has issues – neither
straight data mode nor the wizard would allow me to create a database. Too many
errors. And Norb had other problems. Of Word he says, “The fonts have no form
of anti-aliasing, so they generally look like crap.” Fonts weren’t perfect for
me, but they didn’t look too bad. Hetz says fonts will look better if you recompile freetype with fonts hinting enabled. That’s a free tip for those of you with time on your hands.
Printing — Both Hetz and I were able to print using the default Wine
Postscript Printer driver. Here’s where I had font problems – the screen fonts didn’t
translate well to the printed page. This is probably not a fault of the program
however, but a lack of installed fonts on my system.
Extras — Basics work best with this implementation of Crossover Office.
- Don’t try to download clip art galleries; the system doesn’t
automatically install them and then Word or PowerPoint or Excel hangs waiting
for an install that will never complete. - Something to giggle over: WordArt
in Linux. This plugin worked fine for me with no slowdowns or “sticky” screens.
Mail — Outlook Express didn’t work for me or for Hetz, and Norb didn’t even want to mess with it. “Maybe on a
system I didn’t need, but NOT on a mission critical environment,” he says.
Internet — The most intriguing part of Crossover Office was Internet
Explorer and everything that goes with it. It worked for all of us, and even
allowed us to install a few extras. Hetz installed the Microsoft Java Virtual
Machine, and I got JRE downloaded and installed. At first I thought the
installer was hanging, but I saw a little icon, the typical one for
auto-install apps in Windows, in the lower left of my screen, floating on top
of the intersection of the browser and the panel. I thought it was a funky
bug, but just out of curiosity I double-clicked on it, and it quickly installed
JRE and integrated it.

I couldn’t get any other programs to put the installer icon on my screen, but I
got tantalizingly close to installing LimeWire for Windows before it locked up
on me.
General Issues — Whenever Crossover Office had been running for a while
or I had too many windows open at once, it always started to run very slow and
eventually to hang or otherwise malfunction (hey! just like the real Windows
environment!). Sometimes, a graphic would “stick” to the screen, or I would be
unable to start a Windows application. Usually, by closing all the apps and
then running “killall wineloader” I was able to start over again with a clean
slate. After working with the program for a while, I found that by keeping just one or two apps open instead of running full throttle, Word, Excel, and PowerPoint lasted much longer.
The sound works in Windows Media Player, but it take the total
volume down by about half — my maximum volume is barely loud enough to
comfortably hear in Crossover.
There’s a strange refresh problem in the main toolbar of Word. The toolbar disappears and reappears multiple times when the
application first starts, and then it finally
settles down.
Observations — “It’s not as slow as Corel’s Office, but certainly no
match for StarOffice,” says Norb. “Good to be able to use MS Word in Linux,
though.”

“Codeweavers has done some incredible work by hacking wine to let you run
Office 97/2000 on your favorite Linux distribution,” says Hetz. “However, lots
of people won’t like this product. If you’re using vi/emacs as your word
processor, or you just fell in love with Latex and you’re doing all your emails in
mutt — then you don’t need this at all (unless you want to support Codeweavers
— they DO give all of their work back to the LGPL Wine tree). If you’re a
corporate user, or you’re used to working with Office 2000, and can’t live
without it, or you don’t like the Linux alternatives — then this product is for
you.”
I agree with both of these assessments. Crossover Office performs admirably on the
basics, but if you’re a power user you won’t want to throw out your other
productivity suite applications yet. Crossover creates a nice incentive to switch to Linux for
Windows users who don’t want to play the Microsoft operating system game anymore. If that were all Crossover Office accomplished, it would be good. For current Linux users,
Norb is right, StarOffice is better right now simply because it is more stable, and because you don’t have to own MS Office. Stability will come with future releases — MS Office won’t.
Yet, being able to use Internet
Explorer and the associated plugins is a plus, and could make the
$54.95 price tag worth it for many users.
This is big stuff. Codeweavers takes me right to the best of Microsoft, and it’s done quicker, smarter, and more securely than Lindows.
Category:
- Linux
Hollings, Valenti, and the American Techniban
Hollings, Valenti, and the American Techniban
Caldera certifies OpenLinux Workstation 3.1.1 with Borland Kylix 2
Development; Time to Market and Total Cost of Ownership Reduced.”
Caldera International, Inc. (Nasdaq: CALDD) announced
today that its OpenLinux Workstation 3.1.1 has been certified with Borland Software
Corporation (Nasdaq NM: BORL) for Kylix 2. This certification allows corporate
developers to rapidly create Linux, Web, Web services, database and GUI applications
much faster and more efficiently, thereby reducing time to market and total cost of
ownership.
Caldera OpenLinux Workstation 3.1.1 is a Linux based operating system designed to
help developers easily create open source or corporate applications for an open
standards environment. Borland Kylix 2 is the latest version of Borland's
award-winning, rapid application development (RAD) environment for the Linux
operating system with support for developing and deploying Web services.
"The certification of OpenLinux Workstation 3.1.1 with Borland's Kylix 2 provides
developers a powerful choice for building Web services applications for Linux or
UNIX," said Drew Spencer, CTO, Caldera International. "By working with Borland, we
offer a richer set of solutions to fulfill the requests of our customer base."
"Borland has a long-standing commitment to provide the Linux community and customers
with software technology that enables the rapid development of e-business
applications and Web services on the Linux platform," said Simon Thornhill, general
manager and vice president, RAD solutions, Borland Software Corporation. "Caldera's
certification of Borland Kylix on OpenLinux Workstation underscores the continued
leadership of Kylix as an industry standard solution for Linux development."
As another demonstration of the Caldera-Borland relationship, Caldera will be
exhibiting at BorCon, the annual Borland Conference, May 18-22 in Anaheim, CA.
Attendees are encouraged to visit the Caldera booth, booth #236, and register to win
a Compaq iPaq. More details regarding BorCon are found at
http://www.borland.com/conf2002/.
Visit http://www.borland.com/kylix/ for more information regarding Borland Kylix.
See http://www.caldera.com/products/workstation/ for more details about Caldera
OpenLinux Workstation.
Caldera International, Inc.
Caldera International (Nasdaq: CALDD) provides "Powerful Choices" for businesses
through its UNIX, Linux and Volution product lines and services. Based in Lindon,
UT, Caldera has representation in 82 countries and 16,000+ resellers worldwide.
Caldera Global Services provides reliable localized support and services to partners
and customers. For more information on Caldera products and services, visit
http://www.caldera.com.
Caldera, the Caldera logos, Caldera Volution, OpenLinux, SCO and the associated SCO
logo, and SCO OpenServer are trademarks or registered trademarks of Caldera
International, Inc. in the U.S. and other countries. Caldera Global Services is a
service mark of Caldera International, Inc. UNIX is a registered trademark of The
Open Group in the United States and other countries. Linux is a registered trademark
of Linus Torvalds. All Borland brand and product names are trademarks or registered
trademarks of Borland Software Corporation, in the United States and other
countries. All other brand or product names are or may be trademarks of, and are
used to identify products or services of, their respective owners.
Forward Looking Statements
The statements set forth above include forward-looking statements that involve risks
and uncertainties. The Company wishes to advise readers that a number of important
factors could cause actual results to differ materially from those in the
forward-looking statements. These factors include the ability of the Company to
successfully meet its revenue projections, which are based in part, on the continued
acceptance in the marketplace of the historical products of the acquired operations;
the ability of the Company to develop and successfully introduce products
integrating its products and services with those historically offered by the
recently acquired operations; the ability of the Company to continue to manage its
cost reductions without adversely affecting customer service and employee
productivity; the ability of recently introduced and new products to operate as
designed, including compatibility with various platforms in the absence of other
defects; the Company's reliance on developers in the open source community; new and
changing technologies and customer acceptance of those technologies; the Company's
ability to compete effectively with other companies; failure of our brand to achieve
the broad recognition necessary to succeed; unenforceability of the GNU general
public license and other Open Source licenses; our reliance on third party
developers of components of our software offerings; claims of infringement of
third-party intellectual property rights; and disruption in the Company's
distribution sales channel. These and other factors, which could cause actual
results to differ materially, are discussed in more detail in the Company's filings
with the Securities and Exchange Commission.
GNOME summary for 2002-03-03 – 2002-03-16
==============================================================
Table of Contents
--------------------------------------------------------------
1. Rhythmbox 0.1 released
2. Sun release abicheck
3. GStreamer 'GUADEC By Foot' 0.3.3 released
4. Release of GnuCash 1.6.6
5. GTK+ user interface libraries, version 2.0
6. GNOME 2.0 Desktop Beta 2: 'I bastun bor vi allihopa!'
7. Abiword on O'Reilly
8. GNOME 2 software popping up
9. Ada bindings for GTK+ 2.0 already out
10. First release of Gior
11. Bug Day Reminder
12. Translated GNOME summaries
13. Hacker Activity
14. Gnome Bug Hunting Activity
==============================================================
1. Rhythmbox 0.1 released
--------------------------------------------------------------
The fast growing Rhythmbox team lead by Jorn Baayen and Bastien Nocera
had their first official release this last week. Rhythmbox is a music
management program which aims at taking care of all your needs in
relation to playing music on a computer. This first release just plays
your mp3 or ogg files but development is moving rapidly and many more
features are planned as shown on the rhythmbox homepage.
http://www.rhythmbox.org/
==============================================================
2. Sun release abicheck
--------------------------------------------------------------
Sun Microsystems has released Abicheck under the LGPL to the GNOME
community. Abicheck is a tool to make sure that the libraries ABI stay
100% compatible, within the same release series. As part of this release
they have made ABI docs for glibc and GNOME. More info on the abicheck
homepage.
http://abicheck.sourceforge.net/
==============================================================
3. GStreamer 'GUADEC By Foot' 0.3.3 released
--------------------------------------------------------------
The GStreamer team did a new release of the GStreamer Multimedia
Framework. This release featured among other things a new autoplugger
and many new plugins. The release is also needed if you want to try out
the first two released applications based on GStreamer namely the the
Gst-Player and Rhythmbox releases.
http://www.gstreamer.net/releases/0.3.3/notice.php
http://www.gstreamer.net/releases/0.3.3/gstplayernotes.php
==============================================================
4. Release of GnuCash 1.6.6
--------------------------------------------------------------
Our friends of the Gnucash project made another release this week. The
new version features tweaks for the exchange rate calculation so that it
will work in even more complicated cases, involving different Euroland
and other currencies, added Edit Report Options hyperlink to warnings in
reports and added workaround for Guppi barchart legend sorting (broken
in Guppi 0.40.0 - 0.40.3).
http://www.gnucash.org/
ftp://ftp.gnucash.org/pub/gnucash/
==============================================================
5. GTK+ user interface libraries, version 2.0
--------------------------------------------------------------
The GTK+ team is proudly announced to the world the release of version
2.0 of the GTK+ widget toolkit and associated libraries (GLib, Pango,
and ATK). These libraries are the result of 3 years work with
contributions from hundreds of volunteers. This release represents a
major step forward in free software user interface toolkits. This
release brings with it many improvements in API and
widget functionality, accessibilty support, unsurpased i18n support and
support for anti-aliasing. All this for the first time available in a
library available under the LGPL license a license that is open and free
to all developers no matter what license they choose to use for their
software.
http://www.gtk.org/2.0.0-announce.html
==============================================================
6. GNOME 2.0 Desktop Beta 2: 'I bastun bor vi allihopa!'
--------------------------------------------------------------
The second GNOME desktop beta was out this week and according to many
this beta is stable enough to use on a daily basis if you are willing to
be a little forgiving with your desktop. Bugfixing goes on at great pace
thanks to the dedicated effort of the GNOME team. One person I think
deserves a special mention this time around is Kevin Vandersloot who now
maintains both gnome-applets and gnome-utils and is very quick to
respond to new bug reports as shown by him being high both on the cvs
commits list but also on the bug-hunters list. Thanks Kevin. Anyway
please read the release notes for more information about this release.
http://mail.gnome.org/archives/desktop-devel-list/2002-March/msg00181.html
==============================================================
7. Abiword on O'Reilly
--------------------------------------------------------------
That GNOME has the best applications there can be little doubt about.
This week O'Reilly published an article presenting our favourite word
processor Abiword to the world. The article gives some positive insight
into the history of the project, where it is now and where its heading.
http://linux.oreillynet.com/pub/a/linux/2002/03/14/abiword.html
==============================================================
8. GNOME 2 software popping up
--------------------------------------------------------------
The first software release for GNOME 2 is starting to appear. In
addition to the mentioned Rhythmbox and Gst-Player releases mentioned
earlier we had releases of Gnumeric, File Roller and Eye Of GNOME. More
ports are started so expect to see more in the coming weeks.
http://mail.gnome.org/archives/gnome-announce-list/2002-March/msg00017.html
http://mail.gnome.org/archives/gnome-announce-list/2002-March/msg00033.html
http://mail.gnome.org/archives/gnome-announce-list/2002-March/msg00037.html
==============================================================
9. Ada bindings for GTK+ 2.0 already out
--------------------------------------------------------------
The GtkAda team announced the release of GtkAda 2.0.0 release this week.
This makes Ada the first language bindings to have a non-development
release of bindings for the new GTK+ 2.0 release. Maybe this is the
chance you have been waiting for to try out the Ada programmig
language?
http://mail.gnome.org/archives/gnome-announce-list/2002-March/msg00029.html
==============================================================
10. First release of Gior
--------------------------------------------------------------
Since we have had a CORBA story for the last couple of summaries I
thought we needed one this week also. Frank Rehberger has made a fun
little tool which lets you dump CORBA ior's and ping associated objects.
You find it and a screenshot at the link below.
http://user.cs.tu-berlin.de/~frehberg/gior.html
==============================================================
11. Bug Day Reminder
--------------------------------------------------------------
We will also this week have a bug squashing event in #bugs on
irc.gnome.org also this thursday between 2PM-2AM GMT aka (9AM-9PM EST).
While the bug team has gotten many great volunteers the last few weeks
more is needed so please stop by.
==============================================================
12. Translated GNOME summaries
--------------------------------------------------------------
As always we have translations of the GNOME summaries available. So
linked below are French translation, Spanish translation and Hungarian
translation. If there are other translations available please let us
know.
http://www.gynov.org/news/index.php4
http://es.gnome.org/actualidad/
http://cactus.rulez.org/projects/gnome/summary/
==============================================================
13. Hacker Activity
--------------------------------------------------------------
Thanks for Paul Warren for these lists.
Most active modules:
93 gnumeric
80 evolution
56 profterm
48 gimp
47 gok
45 gnome-applets
42 gnome-panel
42 gtk+
41 SashComponents
40 rhythmbox-new
39 gnome-control-center
35 vte
33 nautilus
32 galeon
29 gal
25 gtkmm-root
24 encompass
24 pan
23 ggv
21 gnome-utils
[134 active modules omitted]
Most active hackers:
57 minmax
48 dtb
48 frob
46 ajshankar
38 jamesh
38 stano
36 jpekka
34 michael
34 jbaayen
32 nalin
30 jody
29 chrisime
29 menthos
29 murrayc
29 fejj
27 hp
26 kmaraas
25 dobey
24 kevinv
24 ettore
[138 active hackers omitted]
==============================================================
14. Gnome Bug Hunting Activity
--------------------------------------------------------------
This information is from http://bugzilla.gnome.org, which hosts bug and
feature reports for most of the Gnome modules. If you would like to join
the bug hunt, subscribe to the gnome-bugsquad mailing list.
Currently open: 6779 (In the last week: New: 1116, Resolved: 887,
Difference:
+229)
Modules with the most open bugs (excluding enhancement requests):
nautilus: 1149 (In the last week: New: 130, Resolved: 104, Difference:
+26)
gtk+: 399 (In the last week: New: 78, Resolved: 36, Difference: +42)
gnome-core: 312 (In the last week: New: 97, Resolved: 131, Difference:
-34)
gnome-vfs: 245 (In the last week: New: 2, Resolved: 5, Difference: -3)
gnome-applets: 235 (In the last week: New: 33, Resolved: 13,
Difference: +20)
galeon: 177 (In the last week: New: 191, Resolved: 174, Difference:
+17)
gnome-panel: 168 (In the last week: New: 114, Resolved: 39,
Difference: +75)
gnome-pilot: 165 (In the last week: New: 6, Resolved: 42, Difference:
-36)
sawfish: 165 (In the last week: New: 12, Resolved: 7, Difference: +5)
GIMP: 157 (In the last week: New: 17, Resolved: 12, Difference: +5)
control-center: 141 (In the last week: New: 57, Resolved: 33,
Difference: +24)
medusa: 125 (In the last week: New: 0, Resolved: 0, Difference: 0)
gmc: 111 (In the last week: New: 4, Resolved: 4, Difference: 0)
balsa: 106 (In the last week: New: 18, Resolved: 7, Difference: +11)
gnome-utils: 101 (In the last week: New: 33, Resolved: 26, Difference:
+7)
Gnome Bugzilla users who resolved or closed the most bugs:
heath@pointedstick.net: 127 bugs closed.
yaneti@declera.com: 126 bugs closed.
kmaraas@gnome.org: 78 bugs closed.
bordoley@msu.edu: 55 bugs closed.
louie@ximian.com: 51 bugs closed.
otaylor@redhat.com: 35 bugs closed.
mpeseng@tin.it: 28 bugs closed.
hp@redhat.com: 24 bugs closed.
kfv101@psu.edu: 23 bugs closed.
menesis@delfi.lt: 21 bugs closed.
james@daa.com.au: 18 bugs closed.
iain@ximian.com: 17 bugs closed.
jfleck@inkstain.net: 16 bugs closed.
srittau@jroger.in-berlin.de: 15 bugs closed.
jacob@ximian.com: 14 bugs closed.
There is no new and updated software listing this week. The new software
map registers every change to the application entry which means that the
script generating a list of new releases generated a huge list as
maintainers have been updating their entries for the new map as this
activity goes back to normal the new and updated software list will be
back. The cvs stats and bug hunting stats are for last week only.
Christian
gnome-summary@gnome.org
Category:
- Migration
Source code and patents: both or neither
Configuring the Palm Key flash drive in Linux
Key chain-sized storage devices are
becoming increasingly popular, for both individual and business uses such as backing up data and storing sales presentations. I’ve been able to test and use the
Allwell Palm Key flash drive, a nice key chain storage device with a
reasonable price tag. Below, I describe ways to configure and
use the Palm Key storage device.
Requirements: For the basics of this document, all you will need
is an Allwell Palm Key (or some other similar device) and a working
Linux 2.4.x system (I’m using 2.4.18) on which you have root permissions. Most of the
steps in this document must be done as root. For encryption, you will
also need loobpack filesystem support in your kernel, and it is
recommended that you use the Cryptographic API for Linux as well.
If all you want to do is mount a Palm Key and use it as a DOS
filesystem, the first section, “the short instructions,” is all
you need. The second section thoroughly describes the process of setting up
the Palm Key. It is useful for those wishing to learn more about the
Palm Key. It is also useful for getting other devices like
the Palm Key working. The final section deals with creating an encrypted
filesystem on a Palm Key. Though it is more complicated than simply
using the Palm Key out of the box, it is a good way to make your data
safe, and setting it up is fun.
The short instructions
On newer kernels (2.4.18+) with
USB support, the USB drivers will automatically detect a Palm Key. Assuming the device is the first SCSI
storage device, getting the Palm Key online is as simple as this:
mkdir /mnt/pk mount -t msdos /dev/sda1 /mnt/pk cd /mnt/pk
Because the Palm Key comes with a DOS
filesystem, mounting it will permit reading and writing of files in DOS
format.
The longer version
This section goes through setting up the Palm Key step-by-step. If you
are having problems getting your Palm Key working, or have a
key chain storage device like the Palm Key, these steps should be enough
to at least help you isolate any problems.
Preparing USB
Before plugging in the Palm Key, you should make sure your system has
the USB kernel modules inserted (or built in, if you don’t want them to
run as modules). Specifically, we need the usb-uhci (or usb-ohci) and
usb-storage modules loaded. use “lsmod” to see if they are there. If not,
use modprobe:
modprobe usb-uhci usb-storage
Note: the usb-uhci is a driver for one type of USB bridge. If it doesn’t
work, you probably have an OHCI bridge, in which case you should modprobe usb-ohci.
Running “lsmod” now should show the usbcore, usb-ohci or uhci driver, and the
usb-storage driver, among others.
Plugging in the device
Once the modules are loaded, you can plug in the device. Wait a few seconds, and
then change directories to /proc/bus/usb.
/proc/bus/usb is home to information about USB devices. The directory should have a file
for devices, a file for drivers, and a directory for the root USB hub.
$ ls -l total 0 dr-xr-xr-x 1 root root 0 Mar 25 11:09 001 -r--r--r-- 1 root root 0 Mar 25 16:01 devices -r--r--r-- 1 root root 0 Mar 25 16:01 drivers
The drivers file contains a list of available USB drivers. It should have an entry for
usb-storage, the module we inserted above. The more important file, though, is the
devices file. It lists all of the USB devices connected to the system (the program “usbview”
takes this information and formats it in a way that is easier to read). It should
contain an entry for our Palm Key. My devices file is below. It has two entries — one
for the root hub, and one for the Palm Key. The second line beginning with a “T:” marks
the beginning of the information about my Palm Key.
# cat devices T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 0.00 S: Product=USB UHCI Root Hub S: SerialNumber=ff80 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0c76 ProdID=0003 Rev= 1.00 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
Most devices contain some text information about themselves. If present,
it is displayed on lines beginning with “S:”.
Some versions of the Palm Key, though, do not contain any text identifiers.
However, all USB devices are required to have version info, which is on the line
beginning with “P:”. Yours should look somewhat similar to mine, where the
vendor code identifies the vendor, the prodID identifies the product, and the
rev indicates the version of the product.
P: Vendor=0c76 ProdID=0003 Rev= 1.00
As long as you see an entry for the Palm Key in this file, we are ready to go on.
If there is no entry, check the physical connections, and make sure that the
right modules are loaded in the kernel.
The mass storage driver
The job of the mass storage USB driver (usb-storage) is to map USB mass storage
devices to SCSI device handles. This allows the USB device to be treated like a large
removable storage device.
If things went well above, then the Palm Key should have been assigned to a
SCSI device. In /proc/scsi, you should see a directory named something like
“usb-storage-0.” (The number at the end will be different if you have other USB
mass storage devices.) The file /proc/scsi/scsi contains details on what devices
are registered as SCSI devices. Mine looks like this:
Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: GENERIC Model: USB Mass Storage Rev: 1.00 Type: Direct-Access ANSI SCSI revision: 02
Because I don’t have any other SCSI devices, the only entry in this file is for
my Palm Key. Note that in the absence of vendor identification from the device itself
(and subsequently from the /proc/bus/usb/devices file), the device
is just tagged as a generic USB mass storage device. The first line, “host,”
provides information on the location of the device. It is the first SCSI device,
which will be mapped to /dev/sda.
I am using DevFS, so looking in /dev, I see entries for /sda and /sda1. /dev/sda1
contains the filesystem for the Palm key. Note: Many USB mass storage
devices use the fourth partition (which would have been /dev/sda4 in our case) for
the filesystem. This is done because old Mac systems always used the forth partition
for data. It appears the Palm Key was not designed to be used with old Macs.
If you are not using DevFS and have a lot of entries for /dev/sda, you can
run ‘file -s sda*’ to see which partition(s) contain filesystems.
Mounting the device
At this point, we have identified which SCSI device the Palm Key is mapped to. As a
SCSI device, it should act exactly the same as any other hard drive, and mounting
is no exception.
$ mkdir /mnt/pk $ mount -t msdos /dev/sda1 /mnt/pk
At this point, you should be able to cd /mnt/pk and write to the Palm Key. When
a write occurs, the red light on the device should flash. Since data may be buffered
before a write, don’t panic if it doesn’t flash each time you write.
Remember to unmount the filesystem before you unplug the device. You may make an
entry in /etc/fstab to make this easier. Mine looks like this:
/dev/sda1 /mnt/pk msdos user,noauto 0 0
With an entry in fstab, mounting and unmounting is a little easier. The “user”
flag allows a non-root user to mount and unmount the Palm Key, too.
$ mount /mnt/pk #mounts the device $ umount /mnt/pk #unmounts the device
Replacing the DOS filesystem
If you are not concerned about sharing the data on the Palm Key with a
DOS-capable box, then it is nice to put a Linux filesystem on the Palm
Key. Because ReiserFS is supposedly good at dealing with small files, it
might be a good choice for use on the Palm Key if you want a journaled
filesystem. However, I’m just going to put a plain old ext2fs on mine.
Really, there is no reason why you shouldn’t be able to put any
Linux-supported filesystem on the Palm Key.
Remember, before you write a new filesystem,
you need to unmount the Palm Key.
$ umount /dev/sda1 $ mke2fs /dev/sda1
Putting an encrypted filesystem on the Palm Key
The advantage of a Palm Key is that it
allows you to keep personal data close at hand. However, the data
that I keep on my Palm Key, being personal, is not data that I want
someone else to be able to access should I lose it. For that reason,
I replaced the standard filesystem on the device with an encrypted
filesystem. Though this can be done to some extent with the standard
loopback drivers, I found that the International Crypto API provided
more secure (and more flexible) ways of storing my data.
Patching the kernel and Util-Linux
The first step, and probably the hardest, is taking the Crypto API
patches (available in the kernel mirror or at http://cryptoapi.sourceforge.net)
and applying them to the 2.4.18 kernel, and then doing the same for the util-linux
patches. All of these steps are well documented, though, and I won’t cover them
again. If you are using a well-known distribution, it is possible that
the patched kernel and util-linux packages are available in binary form. If you can
find a trusted source distributing binaries, you can install those and skip this
section.
Once patched, I went through kernel configuration, selecting most of the crypto-api
options under “cryptographic options” to be built as modules (generic loop filter is a
must, and I selected all the ciphers that were not deprecated).
I also selected “loopback device support” under “block devices,” making it a
module as well. After configuring the kernel, I rebuilt it and installed it. (If you
have never compiled a kernel before, read the documentation on it in the source code,
usually in /usr/src/linux-[version]/README. Compiling is not hard, and gives you
a lot more power over how you configure your system.)
Once the kernel was installed, I compiled the patched util-linux package (available at
the same place as the crypto-api). Under Gentoo Linux, this was very easy, but I would
imagine that under distributions like Red Hat, you might have to find the right source RPMs and do a little tinkering. On the other hand, if you are using a large distro, you might be able to find prebuilt binaries. 😉
Setting up an encrypted loopback filesystem
Okay, if you made it this far (and your system still boots), you have made it through
the worst. Following the steps highlighted in the last section, you should be able to
modprobe the necessary USB kernel modules and then plug the Palm Key in again. If you have any
data on the Palm Key already, I advise moving it somewhere else, because we are going to wipe out the filesystem.
We want to create a loopback filesystem on the device. Rather than create a
filesystem and then a large file into which we put the loopback filesystem, we’ll just write
the file directly onto the device. First things first, though — load the modules for
cryptographic loopback filesystems. I am going to use Serpent, but feel free to use
whatever cipher you want. Note that if you are not using the crypto API, you can
still set up an encrypted filesystem, but your only cipher choices are “none,” “des,” and
“xor,” none of which are very strong. Also, if you are not using the crypto API, you will
modprobe loop, not cryptoloop.
modprobe cryptoloop cipher-serpent
That should load all of the necessary modules, including loop.o. Now we need to setup
the loopback filesystem. Before you setup the loopback filesystem, you should know which
cipher you are going to use and how big the key is going to be (I always go for the larger
ones because I prefer strength to speed). You should also have a good long password in mind,
because you will only get one chance to enter it.
$ losetup -e serpent /dev/loop0 /dev/sda1 Available keysizes (bits): 128 192 256 Keysize: 256 Password : $
Now you have a loop device set up with encryption. The next step is to create a
filesystem on it. I’m just going to create an ext2 filesystem. I am not sure if there
are any complications to journaled filesystems on encrypted filesystems, but feel free
to try and email me with the results.
mke2fs /dev/loop0
All that is left now is mounting the filesystem.
$ mkdir /mnt/crypt $ mount /dev/loop0 /mnt/crypt $ cd /mnt/crypt $ touch test $ ls lost+found test
Turning a loopback filesystem off
Loop devices take a few more steps to shut them down without compromising security or
corrupting the filesystem. Make sure you do these steps when you are done with the Palm
Key.
$ cd #if you are in /mnt/crypt, you can't unmount it! $ umount /dev/loop0 $ losetup -d /dev/loop0
The last step, “losetup -d /dev/loop0,” deactivates the loop device, ensuring that someone
can’t come along later and remount the filesystem without entering a password.
The next time you want to use the Palm Key loopback filesystem, start it up like this:
$ modprobe cryptoloop cipher-serpent $ losetup -e serpent /dev/loop0 /dev/sda1 $ mount /dev/loop0 /mnt/crypt
And that is it — you now have a loopback encrypted filesystem on your Palm Key. The following section
has a useful script for making remounting and unmounting the loopback filesystem a little bit easier.
Sample automation scripts
Mounting an encrypted loopback device can get a little tedious, not to mention error prone. This
script simplifies it a little. Note that the script is pretty basic — no fancy features yet. It will also require a little bit of modification — you will have to set the CIPHER variables to match
your choices.
#!/bin/bash ########################################################### # Shell script to mount and unmount loopback on Palm Key. # # Author: Matt Butcher# ########################################################### CIPHER=serpent # Set this to the desired cipher CIPHER_MODULE=cipher-serpent # In most cases, this is 'cipher-$CIPHER' CIPHER_KEYSIZE=256 # Size of key, depends on the size CIPHER supports MOUNT_DIR=/mnt/crypt # If you want to mount the PK somewhere else... USAGE="Usage: $0 start|stop|status" case $1 in start) # To start: add modules, setup loop device, mount loop # Note: you will be prompted for password. modprobe cryptoloop $CIPHER_MODULE # If you remove "-k $CIPHER_KEYSIZE" you will be # prompted to enter the keysize. losetup -e $CIPHER -k $CIPHER_KEYSIZE /dev/loop0 /dev/sda1 mount -t ext2 /dev/loop0 $MOUNT_DIR ;; status) # Just tell if the fs is mounted and if the loop device # is working. echo Mount: `mount | grep loop0` echo Loop: `losetup /dev/loop0` ;; stop) # unmount loop, remove loop, rmmod modules. # modules are not the _only_ mods that might # be inserted. umount /dev/loop0 losetup -d /dev/loop0 rmmod cryptoloop $CIPHER_MODULE ;; *) echo $USAGE ;; esac
Using the script is pretty simple. It should work like this:
$ ./pk-ctl.sh start Password : $ ./pk-ctl.sh status Mount: /dev/loop0 on /mnt/crypt type ext2 (rw) Loop: /dev/loop0: [0008]:927 (serpent-cbc) offset 0, undefined encryption $ ./pk-ctl.sh stop
This should give you a good start for using key chain storage devices with Linux. Good luck.