Sunday, 17 February 2013

Fujitsu Futro S100 Linux drivers

The driver for the VIA Chrome 9 graphics chipset which makes up part of the VIA VX800 combined NorthBridge, SouthBridge and Graphics Adaptor is the Linux Kernel driver CONFIG_FB_VIA

The driver for the VIA VT6115 ethernet controller chip is via-rhine.

Friday, 15 February 2013

Fujitsu Futro S100 - boot from Network using PXE

Well, I've almost got my head around the network boot business.

There is a standard for BIOS boot from network - called PXE (for Preboot eXecution Environment), and apparently aka "pixie", and originally created by Intel for 32bit systems.

It makes use of a protocol that combines and extends DHCP and TFTP

The device booting up gets itself an IP address (either static or from the DHCP server)


Some useful links:

Windows software to serve the DHCP extensions and TFTP the boot files
http://www.vercot.com/~serva/an/NonWindowsPXE3.html

A good tutorial:
http://osdev.berlios.de/netboot.html

The wikipedia page
http://en.wikipedia.org/wiki/Preboot_Execution_Environment

The PXE spec
http://quimby.gnus.org/internet-drafts/draft-henry-remote-boot-protocol-00.txt
and v2.1
ftp://download.intel.com/design/archives/wfm/downloads/pxespec.pdf

PXELINUX
http://www.syslinux.org/wiki/index.php/PXELINUX

An interesting thread, though I'm still digesting it:
http://reboot.pro/topic/2936-is-it-possible-to-boot-any-bootable-iso-file-off-the-network/

Articles about tinyCore:
http://sirlagz.net/2011/05/16/how-to-pxe-boot-tiny-core-linux/

and Puppy
http://minipc.org/pxe/1-netbooting-readme.txt
http://puppylinux.org/wikka/PXELINUX
https://docs.google.com/document/d/1bkMJ-2wjAAC8HVZZTZBFxBELbojoGctLMg27KazqvRw/edit?hl=en&pli=1#
http://sirlagz.net/2011/06/13/how-to-boot-puppy-5-2-5-over-pxe/
and a thread
http://murga-linux.com/puppy/viewtopic.php?t=23615

Some ready-made netboot files (for Breeezy)
http://minipc.org/pxe/


Nitty-gritties of PXE
http://wiki.osdev.org/PXE#Files.2C_via_TFTP

Fujitsu Futro S100 Heat management

Fujitsu Futro S100 on stand


The Futro manual warns that if you want to stand the Futro on it's side as a pico-tower, then you must use it's stand.

The bottom side, hidden in this photo, is just as perforated as the visible upper side.

So I'm guessing that the key issue for a stand is to raise the perforated section of the underside up off the surface by...  it looks like 6 to 10mm.

I'm now toying with  creating a couple of U-shaped supports out of some 20mm veneered chipboard.

Linux VIA Rhine III ethernet driver and the VIA VT6115 chip

Wary Puppy picks up the via-rhine Linux driver module all by itself.

One of the interesting* things, is that the VIA VT6115 chip used in the Fujitsu Futro S100 isn't in the list of chips supported by via-rhine linux driver.


* for particular values of the word "interesting"

Fujitsu Futro S100 - Step 2 - set the frame buffer size


By default, the Futro's BIOS is set to reserve 128MB of the RAM as a video frame buffer.

The Futro is capable of displaying video at 1920 x 1200, but I'm using an old LCD screen with a maximum display of 1280 x 1024 LCD monitor I have.

I like as much screen real-estate as possible, but I don't need much in the way of colour, so I used my patent frame buffer sizing formula and came up with 16MB.  At that setting, Xorg allows me to select 1280x1024 at 16bit colour depth.  I'd be happy to run with about 8 bits of colour depth, but Xorg doesn't offer that.  And if I want the 24bit option that Xorg offers, all I have to do is set the frame buffer to 32MB.

This frees up an extra 112MB of RAM!

Setting VGA Frame Buffer sizes


The formula for calculating frame buffer sizing :

First of all, you need the size of one screenful:
     multiply the horizontal resolution by the vertical resolution by the colour depth : this is the size in bits (b)
then

     divide by 8  : this is now the size in Bytes (B)
then
     divide by 1024 : this is now the size in KiloBytes (KB)
then
     divide by 1024 again : this is now the size in MegaBytes (MB)

To go straight in one stage -
(horizontal resolution * vertical resolution * colour depth )  / ( 8 x 1024 x1024) = size of 1 screen in MB

Then, depending on how many frames you need to buffer to avoid flicker, you need to multiply the size in MB by the number of frames you need.

Incidentally, if you know the screen frequency - which is the same as the number of frames in one second -
then one second of video = size of 1 screen * screen frequency.

Fujitsu Futro S100 - Step 1 - Boot up

The replacement Fujitsu Futro S100 has arrived from the excellent people at scrumpymacs.

It's just as lovely a piece of kit as the first one, but behaves much better.

Step 1: Get it booting - first of all, I put the latest Wary version of Puppy Linux on an old Kingston Technologies 1GB USB memory stick.  I think I used ISOrecorder, I can't remember.

I bought a big Compact Flash card off of eBay - a Sandisk 2GB card - and used Rufus to format it as a bootable Wary Puppy Linux disk.