Happy Days Are Here Again

Hardware SetupHardware SetupNot everything was going well today. The hard drive in the my linux box is failing, I'm guessing the bearing have worn out, causing it to overheat and fail. I had a frantic few hours last night backing up all my data. Its not just the code for the bootloader I'm currently working on, its all the code I have written for the RS Media. Some of which serves as documentation for the things I have discovered about the RS Media. At the moment I can use the hard drive for a few hours, then I have to leave it turned off for an hour or so to cool down. It also looks like the Serial Bluetooth module I'm using is starting to fail (Not surprising considering the amount of abuse I have put it through).

So after all that, why is it a happy day? Firstly after hooking the Media Board up directly to my serial port, I discovered that something had been slowing down the Bluetooth serial link (I think its was something in the windows bluetooth driver). The direct connection is much faster, MUCH faster. For example, one of the b-code scripts I wrote that took over 4 hours to run previously, only took 8 minutes. So now instead of taking 15 minutes to test any change to my bootloader, it only take a minute.

Secondly, the USB transfer functions in the bootloader are now working (most of the time). To the extent that I can now boot the new kernel. It fails to load properly, but thats because I'm have written all the hardware initialization code yet.

Nocturnal's RS Media BootLoader - Ver 0.3 (14/09/2007)
Flash EEPROM : Manufacturer ID = 00C2 Device ID = 22BA
MC9328MXL Silicon ID = 00000003

Press any key for alternate boot-up options ...  3
Current command line is : root=/dev/nand1 rw mem=16M

0. Program bootloader image
1. Program kernel image
2. Program root-disk image

3. Download kernel and boot from RAM
4. Boot kernel from NAND Flash
5. Change command line

 . Program new boot logo
6. Start bootstrap mode

   Please enter selection ->  3

USB drive ready for transfer.

File transfer completed.

File Size : 0x00128000
Copying kernel to 0x08008000 ...
Booting Kernel ...

Linux version 2.4.18-rmk5-mx1ads-p3 (sam@**************.com) (gcc version 2.95.3 20010315 (release)) 
#516 Wed Feb 14 16:36:08 HKT 2007
Processor: ARM/CIRRUS Arm920Tsid(wb) revision 0
Architecture: Motorola MX1ADS
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=fe01 ro mem=16M
Console: colour dummy device 80x30
Calibrating delay loop... 98.50 BogoMIPS
Memory: 16MB = 16MB total
Memory: 14688KB available (1023K code, 316K data, 60K init)
Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode-cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
ttySA0 at I/O 0x206000 (irq = 29) is a MX1ADS
ttySA1 at I/O 0x207000 (irq = 23) is a MX1ADS
pty: 256 Unix98 ptys configured
DMA Initializing 
block: 64 slots per queue, batch=16
PPP generic driver version 2.4.1
PPP Deflate Compression module registered
PPP BSD Compression module registered
SSFDC core support installed
MX1ADS nand I/O driver installed
SSFDC Partitions
nand0 : block 0x0000-0x0049 : "Kernel" 1184 KB direct map
nand1 : block 0x004a-0x0229 : "RootDisk" 7680 KB random map
nand2 : block 0x022a-0x04a9 : "DefaultDisk" 10240 KB random map
nand3 : block 0x04aa-0x0f5a : "UserDisk" 43792 KB random map
nand4 : block 0x0f5b-0x0f7a : "WritableDisk" 512 KB random map
nand5 : block 0x0f7b-0x0f9a : "PassDisk" 512 KB random map
MX1ADS nand flash partition definitions installed
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 1024)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
found bad block 0x0 -> 0x24c, block status 0xff, data status 0x0
[ 00 00 00 00 00 ff 00 00 00 00 00 00 00 00 00 00 ]
reserved: 0x00000000
data status: 0x00, block status: 0xff
addr1: 0x0000, addr2: 0x0000
ecc1: 0x00 0x00 0x00, ecc2: 0x00 0x00 0x00
cramfs: wrong magic
FAT: bogus logical sector size 65535
UMSDOS: msdos_read_super failed, mount aborted.
FAT: bogus logical sector size 65535
FAT: bogus logical sector size 65535
Kernel panic: VFS: Unable to mount root fs on fe:01

Interesting the new kernel does not appear to have been created by emsoft, it seems to have been made by another company ESTech Solutions.

Hardware Setup: My hardware setup for working with the RS Media's brainHardware Setup: My hardware setup for working with the RS Media's brain

I've extracted the Media Board from the RS Media, I was getting sick of having to lean over all the time to turn it on and off, and I had to leave it face down all the time to prevent the body doing its startup routine (which made the LCD hard to see). I've added the LCD since taking the photo, note the high tech method of holding the ciruit boards in place (ie sticky tape).

I will probably have it booting properly later tonight, not that that will be of use to anyone but me.