Monday, October 31, 2005

Image available

I re-created (most of) the code that I lost. An image is available here.

Friday, June 17, 2005

Deleted the code!

Whilst upgrading my home server to debian-sarge I managed to loose all the source for the winterm project Argh!
Luckily I had some of it saved elsewhere, but not the latest version of alios. So, I had to re-construct this. I also lost the source for the kernel module.
Re-creating alios proved to be a real pain. Alios would boot, load the kernel and then reset - going into an endless loop. This took me ages to track down until I found that the KERNEL_CS location had changed in the kernel source! This is reference from within alios, making it jump to the wrong location. (During the server upgrade, I went from a 2.4.x kernel to 2.6.x)

Thursday, January 27, 2005

Video and ROM

Lots of stuff working now!
I changed alios to copy the VGA bios from the ATMEL flash to 0xF000. Now alios can call the bios and initialise the video!
Next problem was getting the keyboard to work. I eventually found that I needed to send a self test command to the keyboard controller. After that Linux found it and took over.
So now, we have a working VGA console. Only problem is, I can't get a good framebuffer working. I can only use the 16 colour vga one, as the GD5440 framebuffer needs a PCI bios :(
Now to the Intel Flash. I found that the MTD drivers will read and write this, once I've mapped it into physical memory. The flashcp program will write to it, but only for the 1st 3 erase blocks. This had me stumped for a long time - eventually i found that it was because I didn't map all of the flash into memory - doh!
So now I can put the kernel and initrd into the Intel flash and now the winterm boots without a PCMCIA card!

Monday, January 17, 2005

Accessing the internal ROMS

I've now managed to read data from 2 of the 3 internal Flash ROMS
This is done by using the Memory windows to map the ROMS into CPU address space.
The Intel 2M byte is connected to ROMCS1 and the 4M byte Toshiba is connected to ROMCS2
The 256Kbyte Atmel is connected to ROMCS0

Update: I have now programmed Alios into the Atmel Flash so now the system starts to boot from internal ROM! Now need to burn the kernel and initrd images into the intel flash and boot it.
I've sucessfully read the intel flash using the linux mtd subsystem, but as yet i can't program it.
I think I need to write some software to program it (similar to the wrflash prog supplied with alios).

Tuesday, October 19, 2004

NFS is working

Finally got NFS working. I can't use locking over nfs, as I don't have the portmapper on the winterm. But this isn't really a problem, as I only want to use NFS for read-only.
I've created a busybox initrd which does the following on startup:

mount nfs share from fileserver
run setup script from nfs share, it its there. This allows me to make mods to the system without reflashing the PCMCIA card.
run telnetd
run httpd

I now have the basis of a working system. Next step is to try and extract the data from the other flash ROMS. To do this, I need to understand more about how the ROMS are mapped into the address space

Sunday, October 17, 2004

Network is up!

Ok, it turned out that my assembler code was wrong for the external chip selects.
(why do we have at&T and Intel mnemonics with the args in different orders?)
Anyway, I fixed the code and now the external devices work.
I have 2 serial ports + network.
Switched over to using a busybox initrd so that I can fit more in.
Can't get the sound card to work yet, but at least the network is up :)

Friday, October 15, 2004

Enabling external IO devices

Contacted Vincent Crabtree about his project to port Linux. He told me about IDA which is a great interactive dissasembler. he also sent me his partially disassembled ROM.
From this, I see that alios is missing loads of CSC configuration, so I implemented this and tried again.
What I now have is:

Internal UART as com2
Enable GP_CSA and GP_CSB - external ISA chip selects
This required mods to the linux kernel and the initrd image and now I have the kernel booting again, but still no external devices :(

Booting Linux

After sorting the memory check in alios, Linux now boots off the flash card!
This is encouraging. Since the winterm uses fairly standard pc components, the network drivers should be available...
But I can't get the network drivers to work. For some reason, the network card does not appear to be responding correctly at port 0x300