ottaky@ottaky.com
 
HTML OK
CSS OK
 
Vaio
Momonga
 
ottaky.com supports..
ORG
no2id

Kondara Linux 2.1 on the Sony Vaio U1

Author: sjb (Steve Brown) - ottaky@ottaky.com
Date: 14th July 2002
See also: My other U1 page
http://browncat.org/linux/vaio-u1.html
Sony's website
Linux on Laptops
Tuxmobil
Yahoo! vaio_U1 group

Please see my other U1 page for a more current Linux installation.

Disclaimer:
The instructions on this page are supplied under the "WFM"Licence (Works For Me). I don't make any claims to the accuracy of the information here, nor to the method described. If you decide to mess with your computer using this information, that is your decision and you acknowledge that I cannot be held responsible for any damage you may cause to the machine.

Special thanks: This page wouldn't have been possible without the assistance of Naoki Yamaya. In fact, much of the installation information on this page is based on his work at the browncat.org URL above. If your native language is Japanese, I suggest that you use Yamaya-san's page instead.

Know something I don't? Of course you do! It's entirely possible that I've made mistakes in this page, or you know a better way of doing things. If so, please let me know so that I can correct my mistakes and keep this page at least halfway helpful for other U1 owners.

Update! It seems that Kondara has ceased distributing Linux. However, their distribution was based on Redhat - so these instructions should still be valid for a Redhat install. However, I haven't tested the patches and precompiled kernel etc with Redhat, so I cannot be sure the downloads referenced here will work. Sorry about that. If you have a really pressing need to use Kondara specifically, I still have all the RPMs on my Satellite and I'd be happy to burn them to a couple of CDs for you, providing you cover the cost of the media and the postage ;-)

Updated update! It appears that some ex-kondara people have started to put together a distro by the name of Momonga. There aren't many details on their website just yet (2nd October '02), but it's probably worth checking them out.

What is a Sony Vaio U1?

Since everybody knows who Sony are, and what a Vaio is, I'll answer the last part of the question - the U1 is a full fetaured PC in a package roughly the same size as a DVD case (albeit quite a bit deeper). It has a Crusoe chip running at 867MHz, 256MB of RAM and a 20GB hard disc. The display is a remarkably good 1024 x 768 24bit LCD panel. It is very, VERY nice.

At the time of writing the U1 is only available in Japan, and only if you can find somewhere that has one in stock ;-) Being Japanese, it has a Japanese keyboard and is pre-loaded with Japanese Windows XP Home Edition. I bought my U1 at PC Select on the main drag through Akihabara. By the time my wife had negotiated a decent cash price and avoided paying any sales tax the U1 cost about £805 in real money. I've seen some places in the UK selling the U1 for £1,500 or more, my advice would be to try Conics instead, or use that extra £700 to buy a return ticket to Japan and a few nights in a hotel.

CPU Transmeta Crusoe 867MHz
RAM 256MB (expandable to 384MB)
HDD 20GB Toshiba Ultra ATA
Graphics ATI Radeon Mobility (8MB)
Display 6.4" TFT
PCMCIA 32 bit CardBus, 1 x type II slot
NIC Realtek RTL-8139
USB 2 x USB ports (ALi)
Firewire (IEEE1394) Texas Instruments
Other 1 x proprietary VGA out socket
1 x Memorystick socket
1 x 3.5mm stereo heaphone socket
1 x 3.5mm mono microphone socket
OS Windows XP Home edition (Japanese)
 
Linux Kondara MNU Linux 2.1 (kernel 2.4.18)
Click for larger image

The installation of Linux on the U1 is non-trivial. It's not difficult, but it's not just a question of running the install from a CD. Accordingly, this installation description may not exactly match your circumstances, but you should still be able to find some useful information here.

The biggest problem with the U1 is that it uses the ALi alim15x3 IDE interface. The Linux driver for this interface was broken in the 2.4 kernels and the computer will lock if you try and use the driver. This leaves you with the option of installing a 2.2 kernel, or patching the 2.4 kernel. My other laptops and desktop machines run 2.4 kernels, so I decided to use 2.4 on the Vaio too - just to keep things consistent.

I used Sony's USB floppy drive to boot a Linux installation disc and then proceeded with an FTP install.


Pre-installation

- BIOS

This may or may not be required, but I found setting up the soundcard was problematic and the onboard ethernet wasn't reliable unless I disabled "Plug and Play OS" in the U1's BIOS. Reboot or start the machine and hit F2 a couple of seconds after the Sony logo appears. Find the "Plug and Play OS" setting and turn it off. Save the settings and exit. Re-enabling "Plug and Play OS" after installation seems to be OK - at least, it doesn't appear to cause any problems. You might as well continue booting all the way into Windows at this point because we need to do a couple of things there which are explained below.

- RPMs (optional)

NB:
As mentioned above, Kondara no longer distribute Linux, but this method should still be good for other distributions.

Rather than installing directly from the Kondara FTP servers, I opted to mirror the entire i586 subdirectory from one of Kondara's FTP servers onto my Toshiba Satellite - mostly because I didn't trust my ADSL connection to stay up all the way through an install, and partly because I wanted to have everything on hand in the event that I had to re-install Linux or needed to add packages in a hurry. The Kondara FTP servers don't appear to be mirrors of each other, so the directory structures vary from machine to machine, I used ftp2.kondara.org and the files were in

ftp://ftp2.kondara.org/pub/linux/kondara/Kondara-2.1/i586

but they might be somewhere else on the other servers. Anyway, grab everything from inside i586 (the Kondara, dosutils and images directories) and put them onto a machine running an FTP server. Or, you can skip this bit altogether if you're happy installing directly from the Kondara servers.

- The Boot Disc

Download this boot disc image to a Linux machine, put a blank floppy in the disc drive and

dd if=bootnet-u1.img.bin of=/dev/fd0

to create a bootable disc that will allow you to perform a network install.

- The patched kernel

Once Linux is installed we'll be wanting to use a newer (fixed) kernel. The easiset way to do that is to copy the new kernel, along with the patched header and source files, to the Windows partition on the Vaio so that once the initial installation is complete, we can mount the Windows partition and install the packages from there. So, boot the U1 into Windows, if it's not already there, and copy these files to somewhere like C:\tmp\ - do NOT put them on D: because D: will be going bye-bye to make way for the linux partitions.

kernel-2.4.18-63ky.i586.rpm
kernel-headers-2.4.18-63ky.i586.rpm
kernel-source-2.4.18-63ky.i586.rpm
XF86Config-4.u1.txt

- D:

If you have any files on D:, move them onto C: now. We're going to delete D: and replace it with the Linux file system, so everything on D: will be removed, never to be returned. On my U1 the only files on D: were some kind of temporary directory structure created by one of the bundled Sony applications - I simply deleted it.

- Checklist

  • You have FTP access to a machine with the Kondara distribution on it
  • You have a bootable floppy
  • You have copied the kernel patches onto C:
  • You have backed up or moved everything you want to keep from D:

Installation

NB:
I would suggest that you don't plug in any peripheral devices at this time, except for the FDD. If, for example, you plug in a USB mouse you may find that the built in mouse isn't configured at all and that you will have to always use the USB mouse, or hack around after the install to make the on board mouse work.

Reboot the Vaio with the FDD plugged in and the boot disc in the drive.

You'll want to select an "expert" install, I opted for a "server" type installation.

The installation is fairly self-explanatory, but I'll offer some hints which are not necessarily in the order you'll need them.

When you get to the network card selection, choose the Realtek driver.

Select the "jp106" keyboard.

The "mouse" on the U1 can be configured as a PS/2 mouse, and you should configure it to emulate 3 buttons if you plan on using X for any length of time. OTOH, if you're planning on using a scroll mouse, you want to make sure that you're not emulating 3 buttons .. see my XF86Config file extract below.

You can let the install procedure configure X for you, it detectes the Radeon chip, but you'll need to configure the display manually, try the "Generic LCD 1024 x 768" option. After the installation we'll replace the X config file with a better one anyway, so don't worry too much about this part.

When you get to the disc partioning page, select "custom", don't go with "automatic" as that will use the entire HDD, trashing Windows XP in the process. Maybe you don't care if Windows gets trashed, but you still have to install the patched kernel from the Windows partition, so go "custom" ;-) You can always get rid of XP after the installation if you really want to.

Select the second windows partition (hda5) and delete it (you did move everything off of D:, didn't you?). Then add the following partitions

256MB swap (type "swap")
/boot 16MB (type "Linux native")
/ 1MB (type "Linux native", check the box to "expand")

my HDD ended up looking like this

  Device Requested Actual Type
  hda1 9562 9562 NTFS
/boot hda2 16 23 Linux native
  hda5 256 258 Swap
/ hda6 1 9224 Linux native

but you can divide it up however you like.

NB:
If you intend to suspend your U1 you may want to increase the size of the swap partition to at least 1.5 times the size of your RAM (sorry, I don't know if this is actually required .. software suspend may require it, but disc space is cheap so it might be better to be safe than sorry). If you want to share files between XP and Linux, it may be worth your while creating a FAT32 partition somewhere along the line because NTFS is read only under Linux, and EXT2 is read only under Windows - but FAT32 is writable by both.

When selecting packages I would recommend you opt to put KDE on. I found the Gnome implementation to be very buggy - I had to give up using it, although Enlightenment is very good. You should definitely take a look at the "detailed" package selection as I found it didn't include a lot of the stuff I take for granted. (Certainly you'll want to install the kernel header and source files, bintools, compilers, sndconfig etc)

Let the install run its course. When you're prompted to reboot, do so, and at the Kondara splash screen hit "tab" to take you to the text mode login. At the boot prompt, type

linux pci=off

and hit "return"


Post-installation

Assuming that everything has gone OK for you, the U1 should now be booting Linux. You'll see quite a few error messages appear, but you can safely ignore them as they are related to the "pci=off" switch supplied at the boot prompt. Let the machine boot .. if you are prompted to configure any hardware I would choose not to at this point, wait until you have the new kernel running.

If the boot process gets you to the graphical Kondara login, hit "ctrl+alt+F1" to get back to a text mode login. Login as root and enter the following:

mkdir /mnt/windows
mount -t ntfs -o ro /dev/hda1 /mnt/windows
cd /mnt/windows/tmp
rpm -ivh kernel-2.4.18-63ky.i586.rpm
rpm -Uvh kernel-headers-2.4.18-63ky.i586.rpm
rpm -Uvh kernel-source-2.4.18-63ky.i586.rpm
mkinitrd /boot/vmlinuz-2.4.18-63ky.img 2.4.18-63ky
cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.backup
cp XF86Config-4.u1.txt /etc/X11/XF86Config-4
vi /etc/lilo.conf

and then edit lilo.conf to look like this

boot=/dev/hda
map=/boot/map-bmp
install=/boot/boot-bmp.b
bitmap=/boot/kondara.bmp
bmp-colors=14,,,15,,0
bmp-table=17,22,1,6,17
prompt
timeout=50
lba32
default=linuxky

image=/boot/vmlinuz-2.4.18-63ky
        label=linuxky
        initrd=/boot/vmlinuz-2.4.18-63ky.img
        read-only
        root=/dev/hda6
        append="acpi=on apm=off idebus=50"

image=/boot/vmlinuz-2.4.18-10k
        label=linux
        initrd=/boot/initrd-2.4.18-10k.img
        read-only
        root=/dev/hda6
        append="acpi=off apm=on pci=off"

other=/dev/hda1
        label=windows

(or however you want it to look)

/sbin/lilo
reboot

and now the U1 will reboot. (You may want to re-enable "Plug and Play OS" in the BIOS at this point). At the Kondara splash screen select "linuxky" (the patched kernel) and hit "return". Again, you may be prompted to configure new hardware - this is as good a time as any to do that. I found that the automatic detection and configuration of the ethernet and sound cards worked correctly .. and also my USB mouse.

And that's about it ... ;-)


Tweaks 'n' tips

If eth0 fails to initialise (it did with me before I disabled the "Plug and Play" in the BIOS), you should be able to start it manually with

insmod mii
insmod 8139too irq=9

and then using ifconfig to set your network parameters (e.g. ifconfig eth0 192.168.1.5 netmask 255.255.255.0). Adding these lines to /etc/rc.local will ensure that eth0 comes up.

If you encounter problems getting the sound working, try adding this line to your /etc/modules.conf

alias sound-slot-0 trident

If you're using Enlightnement and see an error reporting that esd isn't running when you start, try using this /etc/esd.conf file:

[esd]
auto_spawn=1
spawn_options=-terminate -nobeeps -as 2
spawn_wait_ms=1000

That is, spawn_wait is set to a reasonable value.

I modified my /etc/sysconfig/i18n file to look like this:

LANG="C"
SYSFONT="lat1-08"

to load a smaller font during the boot sequence. The Midnight Commander is now useable ;-)

The memorystick slot is seen as a SCSI device and can be mounted and unmounted with

mount -t vfat /dev/sda1 /mnt/memstick
umount /dev/sda1

(providing you've created the /mnt/memstick mount point)

You can mount the Windows partition with

mount -t ntfs -o umask=666 /dev/hda1 /mnt/windows

but NTFS support in Linux is read only, so it's usefulness is moderate at best. I keep all my MP3s on the Windows partition and then mount that when I use XMMS, which works OK.

The PCMCIA support is kernel based, which tends to get a bad press, but I have successfuly configured one of my Xircom CWE1100 cards and it's talking to another card in my Satellite, so it's working for me. If you have the same card, try adding this to /etc/pcmcia/config

card "Xircom Wireless"
 version "Xircom", "Wireless Ethernet Adapter"
 bind "airo_cs"

and then restarting PCMCIA with

/etc/init.d/pcmcia restart

You may need to create a /etc/sysconfig/network-scripts/ifcfg-eth1 script, maybe with something like this in it ..

DEVICE=eth1
ONBOOT=no
IPADDR=192.168.0.2
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.1

and then use iwconfig to set your network parameters e.g.

iwconfig eth1 essid "myessid" channel 6 mode Ad-hoc rate auto

I put the above line into /etc/sysconfig/network-scripts/ifup-wireless to make the whole ipconfig and iwconfig thing automatic when inserting the card.

The Xircom cards seem a bit different from others on the market .. particularly the way they report statistics like Link Quality, Signal Level and Noise. You may find that you end up tinkering with some applications to get this information displaying correctly. For example, I had to change the maximum values in the GKRELLMWireless monitor like so:

#define LINKQ_MAX 12
#define LEVEL_MAX 100
#define NOISE_MAX 255

I've written 802mon which is a quick Perl script that displays a console display of Link Quality and Signal Strength.

Update:
Actually, the kernel PCMCIA isn't that great. Ejecting the Xircom card (physically or through software) can produce all kinds of unpleasant side effects, from cryptic error messages to complete lock up requiring a hard reset. If you find kernel PCMCIA to be unreliable, it may be worth compliing a new kernel to use module PCMCIA instead.

Updated update:
I may have stumbled across a fix for the above problem. It seems Redhat likes to keep two copies of the Aironet drivers. By copying airo.o and airo_cs.o from /lib/modules/[kernel version]/kernel/drivers/net/wireless to /lib/modules/[kernel version]/kernel/drivers/net/pcmcia I can now eject and insert the card without any problems.

I bought a USB optical mouse made by Macally which has a scroll wheel on it. This works without any kernel hacking and these changes to the XF86Config-4 file:

Section "InputDevice"
        Identifier      "Mouse0"
        # Modified by mouseconfig
        Driver          "mouse"
        Option          "Device"                "/dev/mouse"
#       Option          "Protocol"              "PS/2"
        Option          "Protocol"              "IMPS/2"
#       Option          "Emulate3Buttons"       "yes"
        Option          "Emulate3Buttons"       "no"
        Option          "ZAxisMapping"          "4 5"
        Option          "Buttons"               "5"
EndSection

My complete XFConfig-4 file can be found below.

I take my U1 into the office where we have a DHCP server, but at home I use a fixed IP on my LAN. The default install uses a very long DHCP timeout (about 2 minutes!) which becomes very tiresome at home. You can reduce the DHCP timeout by changing this line in /sbin/ifup

    if [ -x /sbin/dhcpcd ] && /sbin/dhcpcd ${DHCPCDARGS} ${DEVICE} ; then

to

    if [ -x /sbin/dhcpcd ] && /sbin/dhcpcd -t 5 ${DHCPCDARGS} ${DEVICE} ; then

and then creating a /etc/pump.conf file with this line in it

timeout 5

Power Management

The U1 has some useful power saving features, some of which you can control from Linux. I'm using two utilities to control the Crusoe CPU and the LCD panel brightness:

ftp://ftp.kernel.org/pub/linux/utils/cpu/crusoe/longrun-0.9.tar.gz
http://download.alcove-labs.org/software/sonypi/spicctrl-1.2.tar.bz2

It's probably worth using Google to track down the latest versions.

The longrun utility allows you to set and query the Crusoe processor. For example:

[root@vaio longrun]# longrun -l
# %   MHz  Volts  usage
  0   367  0.950  0.226
 33   533  1.100  0.440
 60   667  1.200  0.656
 86   800  1.250  0.853
100   867  1.300  1.000

You can tell the Crusoe to work between a lower and higher percentile limit, effectively limiting CPU speed and battery drain.

spicctrl can control the brightness of the LCD display. You can read the current brightness value:

[root@vaio root]# spicctrl -B
255

and set it:

[root@vaio root]# spicctrl -b 100

Before you can use spicctrl you need to issue this command as root:

mknod /dev/sonypi c 10 250

and then add these lines to /etc/modules.conf

alias char-major-10-250 sonypi
options sonypi minor=250

(You also need to do the above if you intend to use sjog).

Using longrun and spicctrl you can tune the performance of your U1 under Linux. If you can get acpid running (I couldn't) you could have it trigger scripts to limit CPU speed and LCD brightness when running on the battery. As an example of a "power saving" mode, try

longrun -s 0 33
longrun -f economy
spicctrl -b 60

and for full speed, full brightness

longrun -s 0 100
longrun -f performance
spicctrl -b 255

I wrote a nasty Perl hack to demonstrate these features, you can download it here. Run the script as root and it will set your U1 to economy or performance mode depending on the state of the AC adapter. It "monitors" /acpi/event and acts on adapter related mesages so you can plug and unplug the adapter to your heart's content.

Alternatively, I've written a bash shell script to do the same thing, available here.

I added "/sbin/acadmon.sh &" to the end of my /etc/rc.local script to start acadmon automatically when booting.


Zoom

NB:
If you're using sjog, please see the sjog section below!

I've written a small C program to cycle through available X modes using the "Zoom" button. You can download the source here, or a precompiled binary here. If you're compiling from the source, please try the following to compile the program correctly:

gcc -c u1zoom.c -I/usr/X11R6/include
gcc u1zoom.o -L/usr/X11R6/lib -lXext -lX11 -lXxf86vm -o u1zoom

I generally run KDE so I placed the following executable script into my ~/.kde/Autostart directory (called simply "zoom")

#!/bin/bash
/usr/bin/u1zoom

to run the program when KDE starts. Don't press the Zoom button while you're in a tty terminal as this will fail and terminate your X session .. if anybody knows anything about X programming, please let me know how to fix this!

Thanks to Henrik Jonsson for invaluable help with this!


sjog

NB:
Please also see U1jog, below

I didn't think I was going to have any use for sjog, but after I started using it I've found it to be invaluable. It's especially useful for those times when you're out on the road and all you have is the U1 - no mouse, no external monitor - because it gives you a simple interface for starting all your favourite programs.

You can download sjog here.

The default package is useful .. but you can make it even more useful by adding some features of your own. I've modified the u1zoom program described above for use with sjog. The executable simply switches to the next available screen mode in your XF86Config-4 file. You can download the source here, or a precompiled binary here. If you're compiling from the source, please see the compilation and linking instructions above.

To use the Zoom button with sjog you'll need to hack two files in the sjog source:

sjog_sonypi.h

Add the following line to the end of the define section:

#define SONYPI_EVENT_ZOOM               40

sjog_sonypi.c

Add these lines to the sjog_sonypi_read() function:

case SONYPI_EVENT_ZOOM:
system("/usr/bin/u1zoom2");
break;

The above assumes that you've put the u1zoom2 executable into /usr/bin.

You can then put a script into ~/.kda/Autostart to run sjog automatically. Pressing the Zoom button should .. err .. Zoom.

Of course .. you can extend this to make the other buttons on the U1 do something useful too. The #define values for sjog_sonypi.h for the various buttons are as follows:

  • 41 Thumb Phrase
  • 10 Standby
  • 35 Back
  • 40 Zoom
  • 6 Lid switch (Only seems to fire on opening the lid ..?)

For example .. I use the Thumb Phrase button to start a new konsole, but use your imagination!


U1jog

I've hacked around with sjog and come up with a program called U1jog. It's basically very similar to sjog, but with a few U1 specific tweaks thrown in. It's also a quarter of the size ;-)

If you'd like to try it, you can download the package here.

If you use U1jog and find it useful, please let me know!


USB floppy

I've added the following entry to my /etc/fstab:

/dev/sdb               /mnt/floppy            auto noauto,user,sync 0 0

If KDE has a Floppy Device icon on the desktop, edit the properties so that the device is /dev/sdb

You can manually mount the floppy drive with

mount -t auto /dev/sdb /mnt/floppy

If you experience problems it may be worth trying

insmod sd_mod

Nokia 6210 modem

Using a USB<-->RS232 adapter available from Sitecom I'm able to use the modem in my Nokia 6210, although it was slighlty trickier than with my other laptops.

My home connection is a USB Alcatel Speedtouch ADSL modem through BTOpenworld, and the BTO "service" comes with standard dial-up access in the event that the ADSL connection fails. Here's how I got it working.

Create a /etc/ppp/peers/bto file with this in it:

/dev/ttyUSB0 crtscts 9600
modem
lock
debug
noauth
noipdefault
defaultroute
asyncmap 0
user USERNAME
remotename bto
usepeerdns
connect "/usr/sbin/chat -v -T 08457560000 -f /etc/ppp/chat-default"

.. and then a /etc/ppp/chat-default file with this:

TIMEOUT 10
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO CARRIER"
ABORT "NO DIAL TONE"
ABORT "NO DIALTONE"
ABORT "WAITING"
"" "\p\p\p\p\pATZ"
"" "\p\p\p\p\pATZ"
"OK" "\p\p\p\p\p\pATDT\T"
TIMEOUT 45
"CONNECT" '\c'

.. and a /etc/ppp/chap-secrets:

# Secrets for authentication using CHAP
# client        server  secret                 IP addresses
"USERNAME"      "bto"   "PASSWORD"

NB:
Make sure that you replace USERNAME (twice) and PASSWORD with your own username and password!

I can then dial in using

pppd nodetach call bto

DVD

To my surprise, video playback is very good on the U1. It can play DVDs and VOB files without dropping any frames, even when the output is scaled to 1024 pixels in width. I'm using the excellent mplayer package:

The only problem is one of hard disc space for those ripped DVDs;-) I'd be very interested to hear from anybody using one of the Sony Firewire DVD players .. I'm very tempted to get one.


To Do

Things that I may do if I decide I need them, or if I get bored ..

acpi - acpi is installed into the kernel image (check /proc/acpi to confirm this) but the acpid daemon from Kondara doesn't seem to like it. There may be a patch on Yamaya-san's page, but it's not clear (to me, at least). In the meantime I'm not much bothered by this. I have written a Perl script, available here, to show me the battery status for those occasions when I need to know. There's also a KDE application that monitiors the battery status, available from Sourceforge.

suspend - again, I'm not worried. I don't think I've ever suspended a laptop in my life ;-)

DRI -I tried installing the Radeon driver from http://dri.sourceforge.net/ but the install script screwed my X server and broke OpenGL. If anybody feels brave and gets this driver working, please let me know how!


Config files 'n' stuff

My XF86Config-4 file looks like this. Note that it contains 2 mouse entries - "Mouse0" is my USB scroll mouse, and "PS/2" is for the built in mouse. If Mouse0 fails (if it's not plugged in) then "PS/2" still works. Both devices can be used simultaneously.

# XFree86 4.0 configuration generated by Xconfigurator

Section "ServerLayout"
        Identifier "XFree86 Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "PS/2"   "CorePointer"
        InputDevice    "Mouse0" "SendCoreEvents"
EndSection

# By default, Red Hat Linux 6.0 and later use xfs

Section "Files"
        FontPath "/usr/X11R6/lib/X11/fonts/efont-unicode/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/ucs/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/japanese/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/korean/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/local/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/misc/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/etl-bitmap/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/intlfonts/:unscaled"
        FontPath "/usr/X11R6/lib/X11/fonts/PEX/"
        FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
        FontPath "/usr/share/fonts/default/Type1/"
        FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
        FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/"
        FontPath "/usr/X11R6/lib/X11/fonts/freefont/"
        FontPath "/usr/X11R6/lib/X11/fonts/latin/"
        FontPath "/usr/X11R6/lib/X11/fonts/DynaLab-Kondara/"
        FontPath "/usr/X11R6/lib/X11/fonts/truetype-ja/"
        FontPath "/usr/X11R6/lib/X11/fonts/truetype-ko/"
        FontPath "/usr/X11R6/lib/X11/fonts/truetype-zh_CN/"
        FontPath "/usr/X11R6/lib/X11/fonts/truetype-zh_TW/"
        FontPath "/usr/X11R6/lib/X11/fonts/encodings/"
#       FontPath "unix/:-1"
EndSection

# Module loading section

Section "Module"
        Load  "dbe"             # Double-buffering
        Load  "GLcore"          # OpenGL support
        Load  "dri"             # Direct rendering infrastructure
        Load  "glx"             # OpenGL X protocol interface
        Load  "extmod"          # Misc. required extensions
        Load  "v4l"             # Video4Linux
        Load  "xtt"             # Default loading not freetype but xtt
        Load  "speedo"          # Default loading Speed Font Library
        Load  "type1"           # Default loading Type1 Font Library
        # Load  "pex5"          # PHIGS for X 3D environment (obsolete)
        # Load  "record"        # X event recorder
        # Load  "xie"           # X Image Extension (obsolete)
        # You only need the following two modules if you do not use xfs.
        # Load  "freetype"       # TrueType font handler
        # Load  "type1"         # Adobe Type 1 font handler
EndSection

Section "Keyboard"
# See /etc/X11/XF86Config
        XkbDisable
EndSection

Section "InputDevice"
        Identifier      "Mouse0"
        # Modified by mouseconfig
        Driver          "mouse"
        Option          "Device"                "/dev/mouse"
#       Option          "Protocol"              "PS/2"
        Option          "Protocol"              "IMPS/2"
#       Option          "Emulate3Buttons"       "yes"
        Option          "Emulate3Buttons"       "no"
        Option          "ZAxisMapping"          "4 5"
        Option          "Buttons"               "5"
EndSection

Section "InputDevice"
        Identifier      "PS/2"
        Driver          "mouse"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "PS/2"
        Option          "Emulate3Buttons"       "yes"
        Option          "Emulate3Timeout"       "50"
        Option          "Buttons"               "5"
        Option          "ZAxisMapping"          "4 5"
EndSection

Section "Monitor"
        Identifier "Generic Laptop Display Panel 1024x768"
        VendorName "Unknown"
        ModelName  "Unknown"
        HorizSync 31.5-48.5
        VertRefresh 40-70
        Option "dpms"
EndSection

Section "Device"
        Identifier "ATI Radeon (generic)"
        Driver "radeon"
        BoardName "Unknown"
        VideoRam 8192
        Option "nodri"
EndSection

Section "Device"
        Identifier "Linux Frame Buffer"
        Driver "fbdev"
        BoardName "Unknown"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device "ATI Radeon (generic)"
        Monitor "Generic Laptop Display Panel 1024x768"
        DefaultDepth 16
        Subsection "Display"
        Depth 16
        Modes "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

Section "DRI"
        Mode 0666
EndSection

My /etc/modules.conf looks like this ..

alias eth0 8139too
alias parport_lowlevel parport_pc
alias sound-slot-0 trident
post-install sound-slot-0 /bin/aumix/minimal -f /etc/.aumixrc -L >/dev/null/ 2>&1 || :
pre-remove sound-slot-0 /bin/aumix/minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
alias usb-controller usb-ohci

alias char-major-10-250 sonypi
options sonypi minor=250 verbose=1

Here's the output from lsmod

Module                  Size  Used by    Not tainted
radeon                 84216   0
nfsd                   63616   8 (autoclean)
lockd                  45696   1 (autoclean) [nfsd]
sunrpc                 56724   1 (autoclean) [nfsd lockd]
autofs                  8868   1 (autoclean)
ds                      6176   1
yenta_socket            8160   1
pcmcia_core            37344   0 [ds yenta_socket]
8139too                13408   1
mii                     1040   0 [8139too]
md                     42496   0 (unused)
mousedev                3712   1
hid                    16800   0 (unused)
usbmouse                1760   0 (unused)
input                   3200   0 [mousedev hid usbmouse]
usb-storage            95040   0
scsi_mod               85656   1 [usb-storage]
usb-ohci               18304   0 (unused)
usbcore                51328   1 [hid usbmouse usb-storage usb-ohci]

lspci says ..

00:00.0 Host bridge: Transmeta Corporation: Unknown device 0395 (rev 02)
00:00.1 RAM memory: Transmeta Corporation: Unknown device 0396
00:00.2 RAM memory: Transmeta Corporation: Unknown device 0397
00:06.0 Multimedia audio controller: Acer Laboratories Inc. [ALi]: Unknown device 5451 (rev 02)
00:07.0 ISA bridge: Acer Laboratories Inc. [ALi] M1533 PCI to ISA Bridge [Aladdin IV]
00:09.0 FireWire (IEEE 1394): Texas Instruments: Unknown device 8023
00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
00:0c.0 VGA compatible controller: ATI Technologies Inc: Unknown device 4c59
00:0f.0 USB Controller: Acer Laboratories Inc. [ALi] M5237 USB (rev 03)
00:10.0 IDE interface: Acer Laboratories Inc. [ALi] M5229 IDE (rev c4)
00:11.0 Non-VGA unclassified device: Acer Laboratories Inc. [ALi] M7101 PMU
00:12.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 80)
00:14.0 USB Controller: Acer Laboratories Inc. [ALi] M5237 USB (rev 03)

scsi_info has this to say about /dev/sda (the Memorystick slot)

SCSI_ID="0,0,0"
MODEL="Sony MSC-U03"
FW_REV="1.00"

Uses for a U1

So, your U1 is all Linuxed up .. what can you do with it?

  • Zsnes. The U1 makes a great portable SNES console for those occasions where you have 10 minutes to kill.
  • Portable video player. I use DVDDecryptor for Windows to rip DVDs to VCD MPEGs which are of a fairly reasonable quality. They generally take up about 800MB, so you can put two or three of those onto your U1 for those occasions where you have a couple of hours to kill.
  • Portable TV. I bought a Hauppauge USB TV receiever which works pretty well for TV on the move. They also have updated drivers to inject the audio output over USB directly into your soundcard so you don't need an external amplifier. (Windows only so far, I'm working on the Linux implementation)
  • Portable server. I'm running HTTP, HTTPS, POP, SMTP, MySQL, SSH, telnet, FTP etc. on my U1.
  • Make other geeks jealous
  • Using Kismet it's possible to put the Xircom 802.11 card into RF monitor mode and go warwalking/drivng.
  • GPS tool. I have a Magellan GPS310 which is cheap and nasty but does output NMEA 0183 messages over a serial cable. I also have a Sitecom USB adapter which is also cheap and nasty, but does the trick. Under Linux, the adapter uses the pl2303 driver. You can then use GPSD to fetch data from the GPS receiver and have it available on a listening TCP port. Kismet, above, can include latitude and longitude data in its logs so you can tell where the WLAN was discovered.

Links

You may find these links useful.


Contact

You can write to me at ottaky@ottaky.com.