Showing posts with label Omnibook 800CT. Show all posts
Showing posts with label Omnibook 800CT. Show all posts

Thursday, 18 August 2011

DSL to SliTaz

Having got my Omnibook firewall up and running rather sweetly it was time to return to my Omnibook NAS project...

Returning to my DSL install on another OB800, I fired up Samba for a few tests and discovered that the venerable code that is DSL has a 2GB file limit. Since I store a collection of Linux install DVD images this is rather a limitation. As DSL seems to have stalled I went looking for a successor and found one of its offspring, SliTaz.

I started up DSL and pulled down the SliTaz ISO file. With great presence of mind I had configured DSL with root and swap partitions the same size (at 512MB). This gave me somewhere to put SliTaz without blowing away DSL. I could thus shut down the swap partition, replacing it with a swapfile, and then mark it as Linux and format with ext2.

There is a manual install for SliTaz here. One problem...there is no lzma or xz for DSL so I can't unpack the root filesystem (which has a .gz extension but won't, of course, unpack with gzip). No matter, I ftp'ed the file to another machine, uncompressed the rootfs cpio archive and then pulled it back. Finally, I mount the DSL partition and add Slitaz to the Grub menu there since DSL installed Grub already.

Reboot...and Grub hangs trying to load the SliTaz kernel. Hmmmm. Grub 0.91 from DSL is rather ancient and does have a few known problems - maybe I need a newer one. The obvious thing to do is to boot SliTaz from floppies and then use the SliTaz version of Grub. Kernel loads fine from floppies and starts to boot and then panics.That might be a duff floppy image so try a new set but get the same results. Might be lack of RAM, try the low ram images but get the same results.

Ok, scratch SliTaz for this project. Pity.

Friday, 12 August 2011

IPCop Tweaking

Doing a few throughput tests on IPCop on the OB800 I noticed it was working very hard. A bit of poking around revealed that tweaking could the hard drive settings made a lot of difference. Switching on 32-bit access and unmasking interrupts during operation improved network throughput and dropped CPU load at the same time. I guess logging onto CF was taking long enough to affect the network.

Anyway, the net result is to add the following to /etc/rc.d/rc.local

/sbin/hdparm -u1 -c1 /dev/hda

This also works for DSL, though the file to modify is /opt/bootlocal.sh


Wednesday, 27 July 2011

IPCop on the Omnibook 800CT

I had planned to convert a couple of my Omnibook 800's into a firewall and a NAS respectively since they are low power and built like brick-privys.  Herewith are my firewall experiences...

I've been using IPCop for a while although activity and progress towards V2.0 has kind of dropped off, it still works for me though the loss of Snort support is a little annoying.  It is the rear facing side of a dual-bastion configuration so the forward 'wall takes most of the crud.

In any case, something a little more elderly might help since it only has 32MB RAM and a P133 to run on.

First off, unlike Damn Small Linux the IPCop boot floppy can't see my PCMCIA CDROM drive so it's back to my Omnibook CDROM drive. Unfortunately I don't have a power cable so I have to feed it AA batteries which it consumes at a prodigious rate - hooray for rechargeables.

I have scored a couple of Xircom 10/100 Ethernet/56K modem PCMCIA (not Cardbus) cards off eBay which seem to supported by IPCop so we are good to go. In order to fit both cards in, I need dongled ethernet cards rather than the fat cards that seem prevalent today. 

Boot from floppy (get an image from the IPCop CD) proceeds until it tries to load the additional drivers from floppy. It appears that the IPCop 1.4.20 CD has a corrupt drivers floppy image so I backtrack to 1.4.10 for no particular reason.

Boot from floppy and loading the drivers floppy then works...until it discovers the 128MB CF (in a CF/2.5-inch hdd adapter) for /dev/harddisk1 which is apparently too small. A quick raid on my digital camera scores a Kingston 1GB CF which solves the problem. Other than that the install goes smoothly.

...Until I bring IPCop up - when I discover that the GREEN network is fine but the RED does not function. The dongle lights up to indicate a 100MB connection and flashes to show traffic but I can't ping the front firewall or, indeed, reach it in any way. Hmmm.

After a bit of digging around gets me to /proc/interrupts which indicates that the RED PCMCIA card is sharing an interrupt , IRQ 9, with something else whereas the GREEN is not. It all comes back now, back in the days before ACPI and all that fancy stuff when we had to worry about IRQ's.

A reboot and F2 press later, I have disabled the serial port on the Omnibook thereby freeing up IRQ 4. This now needs to be pressed into service for the RED Xircom instead of IRQ 9. A quick visit to /etc/pcmcia/config.opts allows me to disable IRQ 9 and enable IRQ 4 for PCMCIA and a further reboot later (this is getting like a Windows install!) all is well and I have an operational firewall. A flurry of patches later, I now have a reasonably up-to-date firewall.

One other thing, I note that the screen blanker on IPCop does not power down the backlight. Fortunately, pressing the on/off button on the Omnibook with the power plugged in powers down the screen, keyboard and mouse but leaves everything else running...perfect!

Saturday, 18 April 2009

DSL Linux on the Omnibook 800CT - Part 3

Now we have DSL installed and X running properly we can look at customising it for the 800CT and its role as an rsync server.

First of all, the 800CT doesn't have AGP, USB, Firewire or any of that newfangled stuff. As DSL is Knoppix-derived, it does a lot of device detection and configuration on startup but we can disable these using the previously mentioned cheatcodes in /boot/grub/menu.lst.

However, we do want APM enabled and although the HDD supports UDMA this is beyond the 800CT - not surprising since the standard was actually introduced after the 800CT launched.

Finally, I want to mount /dev/hda3 on /srv for rsync to use for file storage. This means I would rather Knoppix didn't recreate /etc/fstab on bootup.

Putting this all together we now have a line in /boot/grub/menu.lst that reads:

kernel /boot/linux24 root=/dev/hda1 quiet vga=normal nofirewire nousb
... noagp noacpi nodma noscsi nofstab frugal

I know the 800CT does in fact have a built-in SCSI port which was dead cool at the time but I don't see myself using it right now.

I also need to manually mount /dev/hda3 since just putting an entry in /etc/fstab is not enough. Knoppix drive detection means that there's no mount -a in the startup process. A quick look in /etc/rc5.d shows that /opt/bootlocal.sh is where I need to add mount /dev/hda3.

Finally, for now, torsmo is the neat little utility that puts system stats on the desktop in DSL. So I update /root/.torsmorc and /home/dsl/.torsmorc to display drive stats for /srv rather than /home/dsl.

DSL Linux on the Omnibook 800CT - Part 2

OK, here's my annotated minimal XF86Config-4 file - it's quite a bit shorter than your typical sample file but works for me:

# XFree86 has has built-in defaults for font file paths
Section "Files"
ModulePath "/usr/X11R6/lib/modules"
EndSection

# Desktop rendering isn't quite right without these
# DRI/GLX are way beyond the Neomagic chip!
Section "Module"
Load "dbe"
Load "extmod"
Load "freetype"
Load "record"
Load "type1"
EndSection

# I have a UK Omnibook
Section "InputDevice"
Identifier "Keyboard[0]"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc102"
Option "XkbLayout" "gb"
EndSection

Section "InputDevice"
Identifier "Mouse[0]"
Driver "mouse"
Option "Device" "/dev/psaux"
Option "Protocol" "PS/2"
EndSection

Section "Device"
Identifier "Omnibook"
Driver "neomagic"
EndSection

# Auto mode selection doesn't work without sync/refresh rates
Section "Monitor"
Identifier "Monitor[0]"
HorizSync 31.5 - 48.5
VertRefresh 50.0 - 70.0
EndSection

# I only intend to run 800x600x16
Section "Screen"
Identifier "Screen[0]"
Device "Omnibook"
Monitor "Monitor[0]"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "800x600"
EndSubSection
EndSection

Tuesday, 14 April 2009

DSL Linux on the Omnibook 800CT - Part 1

I plan to turn my one of my old Omnibook 800CT's into a "smart" wireless backup drive. It's not a lot bigger than one of the regular smart drives being basically an early netbook but its got enough grunt to act as an rsync server and also, at a push, can actually display most of its content. It's also much more configurable since it will have a local screen, and a proper OS.

Specs as follows:
  • CPU: P166 MMX
  • RAM: 80MB
  • HDD: 160GB IDE (BIOS only sees 8GB but that's not a problem for a sensible OS)
  • Display: 800x600 16-bit 10.4" TFT
  • Graphics: Neomagic 128ZV
  • Dimensions: 28.2 cm x 18.5 cm x 4 cm
  • Weight: 1.8kg

I'm trying Damn Small Linux for this purpose - if it goes well then it will go onto my other lower-spec 800CT's which will become basically wireless X terminals.

First off, the Omnibook won't boot from CD. I've lost the SCSI and power cables for the Omnibook's own CD-ROM drive but I have a 10-year-old PCMCIA Freecom Traveller CDRW around (the old drive in it expired long ago but you can drop any slimline ATA optical drive in).
  1. Download the DSL iso and burn to CD

  2. Download the DSL boot floppy image and rawwrite/dd to a disk (I used rawwrite since to 800CT still has an old Windows 98SE install on it.)

  3. Download the DSL pcmcia driver floppy image and rawwrite to another disk

  4. Boot from the first floppy and enter dsl frompcmcia at the boot prompt

  5. Insert pcmcia driver floppy when prompted
At this point we discover that the default Xserver doesn't work (nasty stripes all over the screen). Trying the boot prompt cheatcode xmodule=fbdev fb800x600 gets me a working display but the mouse is all over the place. So CTRL-ALT-BACKSPACE out of X at this point and go for a command-line installation:
  1. Partition the hard drive using fdisk - I went for 512MB root, 512MB swap at this point

  2. sudo su gets to a root prompt

  3. dslinstall brings up an installation menu

  4. Select Install to hard disk
This works fine - swap is picked up automatically if mkswap has been run on the partition. Logging on tries to bring up X automatically but it's easy enough to kill the X server as above provided you selected the fb800x600 GRUB boot option on startup. The DSL Wiki suggests that the answer to the mouse problems is to use XFree86.dsl extension rather than the minimal X servers. To do this I need wireless networking up and running - there's an old NetGear MA401 802.11b PCMCIA card in the Omnibook which the installer picked up (cardctl ident confirms this) so it needs configuring (it appears as eth0 in DSL):
  1. iwconfig eth0 essid MYSSID key XXXX...

  2. ifconfig eth0 up

  3. pump (no, not dhcpclient or anything like that - thankyou, DSL Wiki, I wouldn't have got that one)

  4. mydsl-wget XFree86.dsl system

  5. mydsl-load XFree86.dsl

  6. Edit /root/.xserverrc and /home/dsl/.xserverrc to run the XFree86 server which means that the default DSL GRUB boot option will now work:
    exec /usr/X11R6/bin/XFree86 -nolisten tcp
  7. chattr +i .xserverrc (sets the file as immutable to stop accidental reversion to Xvesa)
Now the crunch - getting the configuration file /etc/X11/XF86config-4. For this, I started with an empty file and added sections until startx brought up a a reasonable uncorrupted screen. I'll post an annotated version later.