Installing FreeBSD 8.2 on a Wyse SX0

Hello all,

This is not so much a HOWTO as it is a list of things I have learned while trying to get FreeBSD 8.2 installed on one of these little devices.

First: The SX0
Tt comes in a variety of flavours. At its heart is a low power 366Mhx x86 Geode processor. They come in a few flavors
a) S10 -> 128MB RAM/No flash/2MB BIOS with linux installed into it
b) s30 -> 128MB RAM/64MB Flash
c) s50 -> 128MB RAM/128MB FLash
d) s90 -> 128MB RAM/512MB FLash

It's really tiny, smaller than a 3.5" hard drive and you can get them for about $20 on eBay. They are quiet and make an amazing NAS, firewall or VPN device. Here is a good link about the different models. You want one capable of taking a 44pin IDE device; so you want to go with the RoHS models.

http://parkytowers.me.uk/thin/WyseS10/Linux.shtml

Second: Storage
You cannot boot FreeBSD from USB or BTX will hang, complaining about disk0 not found. If you plug in an IDE device and set the USB as a higher priority it will boot off USB. Debian Linux will boot but you need to use Grub-legacy and make sure the first partition offset is 31k. So you are effectively limited to a 44 pin IDE flash device as I mentioned above. The SX0 itself is about twice the size of a 2.5 inch hard drive and it's impossible to fit anything other than a 90 degree IDE flash device. I used a 512MB module from another thin client.

Third: Installation
As I mentioned you can't boot from USB as BTX hangs. This applies to CDs also. The only viable install methods are to either install on a separate machine and transfer the drive or install via PXE. Both methods worked for me.

Fourth: Booting
To successfully boot this, you need to do a few things:

1. disable DMA. You need to disable DMA since the SX0 does not have DMA or DMA is disabled. FreeBSD kernel wil complain about DMA_READ errors. At the beastie menu, press (6) and escape to the loader prompt and type
[cmd=]set hw.ata.ata_dma=0[/cmd]
To make it permanent when it boots add the following line to /boot/loader.conf:
Code:
hw.ata.ata_dma=0

2. Disable ACPI and APIC; while not mandatory. The SX0 does not have APIC (just PIC) and it will boot with ACPI but devd will hang. At the beastie menu, press (6) and escape to the loader prompt and type
[cmd=]unset acpi_load[/cmd]
[cmd=]set hint.acpi.0.disabled=1[/cmd]
[cmd=]set hint.apic.0.disabled=1[/cmd]
[cmd=]unload[/cmd]
[cmd=]boot[/cmd]

To make it permanent when it boots add the following lines to /boot/loader.conf:
Code:
hint.acpi.0.disabled=1 
hint.apic.0.disabled=1

Lastly: The reboot
There is some uncanny behaviour when rebooting, even when ACPI and APIC are disabled; it will hang on every other reboot, quite randomly. Specifically it hangs when enumerating the PCI-ISA controller's IRQ 11. (vendor 1022 (AMD) Device ID 2090 (PCI-ISA Bridge). Even more uncanny is that I have the same issue with OpenBSD, but not with Windows XP or Debian.

I still haven't resolved this yet. It's quite stable when it's up. If anyone has any ideas on how to fix this it would be welcome.
 
Back
Top