[coreboot] Wyse S10 Geode GX2

Jamie Lodberg jamie at toasty.dk
Fri Sep 26 08:57:15 CEST 2014


Here is how I got coreboot working on a Wyse S50:

Prerequisites:
- VSA blob for AMD Geode
- Coreboot toolchain on Ubuntu VM
- TinyCore Linux USB boot stick (for flashing with flashrom)


VSA blob for AMD Geode:

There is a blob available for download on the coreboot sites, but I haven’t tested it. I built my own blob using this method:

I did all my work in VirtualBox VMs, starting with a fresh install of 
Windows 2000, updated to SP4, plus some newer patches. C drive is NTFS. 
Then I did the following:
 
Install unzip:
I used this one: http://gnuwin32.sourceforge.net/packages/unzip.ht

Install MASM 6.11:
download it from: 
http://cvrce.blog.com/2009/08/28/masm-v611-free-download/
masm611.zip
masm 615.zip

run setup.exe from the disk1 directory
NT only
MASM.EXE: no
Help files: no
Sample programs: no
Install to C:\MASM611\BIN
add to path C:\MASM611\BIN

Patch to MASM 6.14:
unpack ML614.EXE to a temporary directory
Follow the directions in README.TXT
copy patch files to C:\MASM611
- PATCH.EXE
- PATCH.RTD
- PATCH.RTP
run PATCH.EXE from within C:\MASM611
copy H2INC.EXE and H2INC.ERR to C:\MASM611\BIN (overwrite the existing 
files)

Install VC++ 1.52c:
download it from: 
http://vetusware.com/download/Visual%20C%2B%2B%201.52c/?id=9008
Microsoft - Visual C++ 1.52c - Installation CD.zip
unzip the MSVC15 folder to C:\ (you don't need to run setup)
create environment variable LIB=C:\MSVC15\LIB
add to path C:\MSVC15\BIN

I used an Ubuntu machine to get the source files:
git clone http://dev.laptop.org/git/geode-vsa 


If you've done everything right, then go in to the source build 
directory, and run:
nmake all


Based on my coreboot mailing list post of January 10, 2014
http://www.coreboot.org/pipermail/coreboot/2014-January/076992.html



Coreboot toolchain on Ubuntu VM:

I did all my work in VirtualBox VMs, starting with a fresh install of 
Ubuntu 10.04.

Then I did this:

Install sshd:
sudo apt-get install openssh-server

Install ncurses
sudo apt-get install libncurses5-dev

Install git:
sudo apt-get install git-core

Install subversion:
sudo apt-get install subversion

Install g++:
sudo apt-get install g++

Get buildrom:
svn co svn://coreboot.org/buildrom

Get source for geode-vsa:
git clone http://dev.laptop.org/git/geode-vsa

Install Coreboot:
(yes, but this installs the newest branch - need the one specified in fijam’s blog posting instead: 
git clone http://review.coreboot.org/p/coreboot
cd coreboot
git checkout eb84f6a978147fbe543fbe15af254632f215098a
git submodule update --init
(that last step gets aebd21811dc9c9a171e629150d9d8a239a8b0338)
Then optionally get the binary blobs:
git clone http://review.coreboot.org/p/blobs.git
in there, in the cpu/amd/geode_lx directory is the publically available binary Geode VSA blob. Else can use the one I built.

Assuming the Geode VSA blob has already been built, we are now ready to configure and build Coreboot.

make menuconfig
make

(make V=1 to get verbose output)

Based on fijam’s blog posting:
http://fijam.eu.org/blog/how-to-put-coreboot-on-wyse-S30s50/



Flashing the ROM using flashrom on TinyCore Linux, USB boot stick, running on stock Wyse S50:

I’m not sure that these notes are 100% correct, but I’ll include them anyway.

Get Tiny Core Linux base system:
http://tinycorelinux.net/5.x/x86/release/TinyCore-current.iso

Boot from the CD, choose: “Core with X/GUI (TinyCore) + Installation Extension”

Run the tc-install app, and choose these options to install to a USB stick:

install to sdx (the one that is not the one booted from!)
Boot options - 800x600 VGA (and optional foreign language keyboard layout - Norwegian in my case):
vga=789 kmap=qwerty/no-latin1
Other:
- Choose GUI or CLI only
- Installer Application (if need to use for installing)
- Remaster Tool (if need to use for making USB boot sticks)
- Non-US keyboard layout support

On first boot, might want to change/fix screen resolution:
- Control Panel > xvesa

Set keyboard map to norwegian:
- Exit X (ctrl-alt-F1)
- sudo loadkmap < /usr/share/kmap/qwerty/no-latin1.kmap
- Test the new map
- Re-enter X (ctrl-alt-F2)
- Make the change permanent - edit /mnt/sda1/tce/boot/extlinux/extlinux.conf, append bootcode: kmap=qwerty/no-latin1
(kmap=qwerty/dk-latin1 for Danish)


Installing apps on CLI:
http://wiki.tinycorelinux.net/wiki:install_app_commands

Shutdown with backup from CLI:
filetool.sh -b
exitcheck.sh shutdown

Install OpenSSH: (to get ssh, scp, sshd etc.)
tce-load -wi openssh.tcz

Configure sshd (optional):
in /usr/local/etc/ssh/
sudo cp sshd_config.example sshd_config
sudo /usr/local/etc/init.d/openssh start
set tc user's password


Install dev tools: 
tce-load -wi compiletc.tcz
tce-load -wi gcc.tcz
tce-load -wi make.tcz
tce-load -wi libpci-dev.tcz

Install other tools (optional - not needed for build):
tce-load -wi man.tcz
tce-load -wi appbrowser-cli.tcz

Install svn:
tce-load -wi svn.tcz

Get flashrom source:

svn co svn://flashrom.org/flashrom/trunk flashrom

Build flashrom:

cd flashrom
make
sudo make install


Based on the guide at http://www.parkytowers.me.uk/thin/wyse/s10/Firmware.shtml

To be used for reading and writing flash module in Wyse S50.

I couldn’t get the built flashrom to be persistent across TinyCore boots, but it is easy enough to just repeat the “Build flashrom” step to get it working again.


Sorry, I have not noted the details of what was configured in make menuconfig, but as I recall, I chose the Wyse platform wish SeaBIOS and set console serial port speed to whatever value I was using on my terminal machine. Important, as there is no working VGA, and I’m not sure that USB is working either (for keyboard). I then booted NanoBSD that I had previously installed on the internal IDE storage, and could ssh into it just fine. Hurrah.

Good luck!

  -Jamie


On Sep 22, 2014, at 22:39 , Olliver Schinagl <oliver+list at schinagl.nl> wrote:

> On 04/09/2014 10:29 PM, Jamie Lodberg wrote:
>> 
>> On Apr 8, 2014, at 21:58 , Jamie Lodberg wrote:
>> 
>>> On 8. apr. 2014, at 13:40, jamie at toasty.dk wrote:
>>> 
>>>> 
>>>> I then tested again on another S50: Backed up the factory ROM image, flashed my coreboot.rom, then flashed again with the factory ROM image - that box is still working. When I find my PLCC puller, I will try to revive the bricked S50.
>>>> 
>>>> 
>>> 
>>> A quick status update here - I found my PLCC puller!
>>> 
>>> My Tiny Core Linux flashrom rig is definitely working - I revived the bricked S50 by flashing a factory image to it.
>>> 
>>> (Then I bricked it again hehe)
>> 
>> Success!
>> 
>> Haha silly me - I don't think they were bricked at all… as fijam wrote on his blog posting, the power button and LED don't work with coreboot. I had forgotten about this. I connected up a serial cable and saw that it was starting coreboot! Then I watched NanoBSD boot (with NO pcib hangs!!) and was able to ssh into it.
>> 
>> Only problem so far is FreeBSD complaining about an interrupt storm on IRQ 10 when I have the serial port connected. Hm.
>> 
>> Anyway, this is fantastic!!! :D
> When you get it all sorted, can you get us enlightened folks some more detailed instructions how to get it all to build :)
> 
> Olliver
>> 
>>  -Jamie
>> 
> 
> 
> -- 
> coreboot mailing list: coreboot at coreboot.org
> http://www.coreboot.org/mailman/listinfo/coreboot

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20140926/1ed56e33/attachment.html>


More information about the coreboot mailing list