r1056 firmware status
It should be noted that r1056 does not build workable firmware. Without
having serial console, one can not see what is happening. Besides kernel
there are also cramfs differences when comparing produced kernel with
custom kernel MG35_1.5.2.3-a8-JD_Eng_Devel.upgrade or "a8" in further text.
Building firmware
After standard Subversion checkout with
one can simply issue
but this seems to be too much. Fine grained procedure with each step verification should be:
cd mg35tools/trunk
make directories
make toolchain
make linux
make firmware
make firmware-romfs
After last make one can find build firmware under target/firmware directory. ROMFS file
is located MG35_1.5.2.0-a1-XX_Eng_Devel.romfs.bin along with .upgrade file. ROMFS
file can be direcly uploaded to Jasper bootloader for flashing. The best way is to create
tftp server and put romfs files there. Then using serial console just issue
and name MG35_1.5.2.0-a1-XX_Eng_Devel.romfs.bin as ROMFS image. From my experience one needs
to flash the romfs image if it wants to boot it. So the bootloader procedure is:
boot> config file
boot> download net romfs
boot> flash romfs
boot> boot flash
Typical session with reflashing would be:
Jasper Bootloader v1.0.0 (Aug 22 2007 14:51:01)
Supports BootMenu Flash Network
This version of fips use micom with power control, version[3]
MediaGate.
0031.0033 mfr 0001 id 22c4 Bottom bootsector
Flash 0 at address 0x00000000
ID : AMD/Fujitsu Standard
Size : 4096 KB
Regions : 4
0 : 0x00000000 - 0x00008000 * 1
1 : 0x00008000 - 0x00004000 * 2
2 : 0x00010000 - 0x00010000 * 1
3 : 0x00020000 - 0x00020000 * 31
Found DM9000 chipset at I/O address 3f0000
DM9000 open
Welcome to JASPER boot loader
boot> config file
boot loader filename : (loader.bin)
ROM filesystem filename : (/home/tftp/bigmo/romfs.a7) /home/tftp/bigmo/romfs-a8-lk.bin
Kernel filename : (linux.bin)
Image filename : (/home/tftp/bigmo/romfs.m35)
Writing : 0x00022758
.
boot> download net romfs
Connecting...
Receiving : .........................................
Received 3710879 (0x389f9f) bytes at address 01400000
boot> flash romfs
This will write data on RAM 0x01400000 into flash 0x00040000
0x00040000 - 0x003dffff will be erased
0x00040000 - 0x003c9f9e will be written
Erasing : ............................................................................................................................................
Writing : ................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
.....
boot> boot flash
|
More information on how to use bootloader is described in the MG35SerialConsole page.
Comparison of r1056 and "a8" firmware
Booting "a8"
Jasper Bootloader v1.0.0 (Aug 22 2007 14:51:01)
Supports BootMenu Flash Network
This version of fips use micom with power control, version[3]
0031.0033 mfr 0001 id 22c4 Bottom bootsector
Flash 0 at address 0x00000000
ID : AMD/Fujitsu Standard
Size : 4096 KB
Regions : 4
0 : 0x00000000 - 0x00008000 * 1
1 : 0x00008000 - 0x00004000 * 2
2 : 0x00010000 - 0x00010000 * 1
3 : 0x00020000 - 0x00020000 * 31
0BF0IDENTIFY FAILED
Inptr=
00000014
Inflating....
Final Inptr=00088F93
Original LEN =00136518OutCnt = 00136518
Original CRC =F92E1356
Computed CRC =F92E1356
01008000Linux version 2.4.17-uc0 (adam@adam-desktop) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #8 Tue Jun 3 21:21:13 EDT 2008
Processor: ARM pt110 revision 0
Architecture: JASPER
Jasper2 rev.A CPU 166 Mhz
On node 0 totalpages: 3712
zone(0): 3712 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/root
setup_timer: Timer value = 52031
serial_jasper: setup_console @ 38400
jasperuart change speed 135
Calibrating delay loop... 82.94 BogoMIPS
Memory: 14MB = 14MB total
Memory: 13152KB available (1143K code, 235K data, 40K 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
sk_init: wmem_max 32767 default 32767, rmem_max 32767 default 32767
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
devfs: v1.7 (20011216) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
NTFS driver 2.1.6b [Flags: R/W].
pty: 256 Unix98 ptys configured
block: 64 slots per queue, batch=16
Relocate blkmem to address 000c8f9f
Blkmem copyright 1998,1999 D. Jeff Dionne
Blkmem copyright 1998 Kenneth Albanowski
Blkmem 1 disk images:
0: C8F9F-31CBF9E [VIRTUAL C8F9F-31CBF9E] (RO)
loop: loaded (max 8 devices)
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 512 bind 512)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Making root root
VFS: Mounted root (cramfs filesystem) readonly.
Mounted devfs on /dev
Freeing init memory: 40K
serial_core: try baudrate 38400
jasperuart change speed 135
Stand-alone shell (version 3.7-mg)
[7]
[8]
telnetd: starting
port: 23; interface: any; login program: /bin/sh
[14]
[15]
Listening ...
loadmodule
fip: init module
329: ctrl_reg->0x2a000000
fip_register: device (126:0) registered in devfs
291: ctrl_reg->0x04000000
299: ctrl_reg->0x2a000000
302: ctrl_reg->0x2e000000
fip version 3 registered at 0x10, irq[1 of 5], div[5175]
fip: init module done
ADD_KEY B54A7F80
ADD_KEY F7087F80
ADD_KEY ED127F80
ADD_KEY EC137F80
old config saved
ZoomFullScreen: w = 684, h = 548, x = 18, y = 14
ZoomFullScreen: w = 684, h = 548, x = 18, y = 14
ZoomFullScreen: w = 684, h = 548, x = 18, y = 14
<DM9000> VID 1: 46
<DM9000> VID 2: a46
<DM9000> VID 3: a46
<DM9000> VID 4: 90000a46
<DM9000> I/O: 3f0000, VID: 90000a46
error sending packet command
killall: /bin/udhcpc: no process killed
route: SIOCDELRT: No such process
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
JASPER ide controller activated
ide0: BM-DMA at 0x500e00-0x500e0f, BIOS settings: hda:pio, hdb:pio
hdb: IC35L040AVER07-0, ATA DISK drive
ide0 at 0x500bf0-0x500bf7,0x500be6 on irq 11
model = IC35L040AVER07-0
firmware version = ER4OA44A
jasper_config_drive_for_dma:
capability = 0x002f
field_valid = 0x0007
dma_ultra = 0x003f
dma_1word (s) = 0x0000
dma_mword (m) = 0x0407
autodma = 0x0001
jasper_tune_chipset: speed = 42
hdb: setmax LBA 80418240, native 80416127
hdb: 80416127 sectors (41173 MB) w/1916KiB Cache, CHS=79777/16/63, UDMA(33)
Partition check:
/dev/ide/host0/bus0/target1/lun0: p1
ZoomFullScreen: w = 684, h = 548, x = 18, y = 14
NTFS-fs error (device 03:41): read_ntfs_boot_sector(): Primary boot sector is invalid.
NTFS-fs error (device 03:41): read_ntfs_boot_sector(): Mount option errors=recover not used. Aborting without trying to recover.
NTFS-fs error (device 03:41): ntfs_read_super(): Not an NTFS volume.
VFS: Can't find ext3 filesystem on dev ide0(3,65).
VFS: Can't find ext2 filesystem on dev ide0(3,65).
/dev/discs/disc0/disc:
setting standby to 242
(1.5 hours)
[46] 0
ndas: registering network interface eth0
net_imgid : 9
ioctl error
net_imgid : 9
Registering unionfs 1.0.14
/> net_imgid : 7
/>
|
r1056 boot
The following boot log is all that r1056 produces as output to console.
For seeing boot proces one must disable Frame buffer support as shown in
the next section.
Jasper Bootloader v1.0.0 (Aug 22 2007 14:51:01)
Supports BootMenu Flash Network
This version of fips use micom with power control, version[3]
0031.0033 mfr 0001 id 22c4 Bottom bootsector
Flash 0 at address 0x00000000
ID : AMD/Fujitsu Standard
Size : 4096 KB
Regions : 4
0 : 0x00000000 - 0x00008000 * 1
1 : 0x00008000 - 0x00004000 * 2
2 : 0x00010000 - 0x00010000 * 1
3 : 0x00020000 - 0x00020000 * 31
0BF0IDENTIFY FAILED
Inptr=
00000014
Inflating....
Final Inptr=00088509
Original LEN =00135C38OutCnt = 00135C38
Original CRC =512527C6
Computed CRC =512527C6
01008000
|
r1056 with Frame Support disabled
With Frame Support disabled one can see that firmware is
OK, but it does not do the init procedure as the case is
with "a8". After boot, command prompt is available as show
below.
boot> boot flash
Inptr=
00000014
Inflating....
Final Inptr=0008330E
Original LEN =0012A224OutCnt = 0012A224
Original CRC =39F8B631
Computed CRC =39F8B631
01008000Linux version 2.4.17-uc0 (leon@achilles) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #1 sob nov 22 17:14:11 CET 2008
Processor: ARM pt110 revision 0
Architecture: JASPER
Jasper2 rev.A CPU 166 Mhz
On node 0 totalpages: 3712
zone(0): 3712 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line 0: root=/dev/root
Kernel command line 1: root=/dev/root
setup_timer: Timer value = 52031
serial_jasper: setup_console @ 38400
jasperuart change speed 135
Calibrating delay loop... 82.94 BogoMIPS
Memory: 14MB = 14MB total
Memory: 13204KB available (1084K code, 242K data, 40K 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
sk_init: wmem_max 32767 default 32767, rmem_max 32767 default 32767
Initializing RT netlink socket
Starting kswapd
devfs: v1.7 (20011216) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
NTFS driver 2.1.6b [Flags: R/W DEBUG].
pty: 256 Unix98 ptys configured
block: 64 slots per queue, batch=16
Relocate blkmem to address 000c331a
Blkmem copyright 1998,1999 D. Jeff Dionne
Blkmem copyright 1998 Kenneth Albanowski
Blkmem 1 disk images:
0: C331A-30C5F19 [VIRTUAL C331A-30C5F19] (RO)
loop: loaded (max 8 devices)
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 512 bind 512)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Making root root
VFS: Mounted root (cramfs filesystem) readonly.
Mounted devfs on /dev
Freeing init memory: 40K
serial_core: try baudrate 38400
jasperuart change speed 135
Stand-alone shell (version 3.7-mg)
[7]
/> [7] 1
/>
/>
/>
/> ifconfig
ifconfig: /proc/net/dev: No such file or directory
/> ls
bin fonts mnt pcmcia
cdrom hdd mp4play proc
dev hosts mpegplayer.bin sbin
dvdplayer.bin img ndas tmp
etc iso net usb
fileplayer.bin kernel opt usr
fipmodule.o khwl.o org var
/>
|
CRAMFS differences
The following are differences in files from r1056 and "a8" cramfs:
> ./bin/chown
> ./bin/chroot
> ./bin/hdparm
> ./bin/hostname
> ./bin/ifconfig
> ./bin/insmod
> ./bin/ipkg
> ./bin/losetup
> ./bin/lsmod
> ./bin/man
> ./bin/micro_httpd
> ./bin/minimod
./bin/nroff <
> ./bin/poke
> ./bin/printf
> ./bin/rdate
> ./bin/renice
> ./bin/rmmod
> ./bin/route
> ./bin/shutdown
> ./bin/start-stop-daemon
> ./bin/telnetd
./bin/time <
> ./bin/unionctl
./bin/utelnetd <
> ./etc/inetd.conf
> ./etc/ipkg.conf
> ./hosts/resolv.conf
> ./img/CVS
> ./img/CVS/Entries
> ./img/CVS/Repository
> ./img/CVS/Root
> ./img/lib/CVS
> ./img/lib/CVS/Entries
> ./img/lib/CVS/Repository
> ./img/lib/CVS/Root
> ./kernel/fs
> ./kernel/fs/unionfs.o
> ./logontsc.jpg
> ./minimod
> ./org/bin/chown
> ./org/bin/chroot
> ./org/bin/hdparm
> ./org/bin/hostname
> ./org/bin/ifconfig
> ./org/bin/insmod
> ./org/bin/ipkg
> ./org/bin/losetup
> ./org/bin/lsmod
> ./org/bin/man
> ./org/bin/micro_httpd
> ./org/bin/minimod
./org/bin/nroff <
> ./org/bin/poke
> ./org/bin/printf
> ./org/bin/rdate
> ./org/bin/renice
> ./org/bin/rmmod
> ./org/bin/route
> ./org/bin/route
> ./org/bin/shutdown
> ./org/bin/start-stop-daemon
> ./org/bin/telnetd
./org/bin/time <
> ./org/bin/unionctl
./org/bin/utelnetd <
> ./org/etc/inetd.conf
> ./org/etc/ipkg.conf
> ./org/logontsc.jpg
> ./org/minimod
./org/sbin/hdparm <
./org/sbin/losetup <
./org/sbin/man <
./org/sbin/micro_httpd <
./org/sbin/rdate <
./org/sbin/unionctl <
./sbin/hdparm <
./sbin/losetup <
./sbin/man <
./sbin/micro_httpd <
./sbin/rdate <
./sbin/unionctl <
|
Conclusion
With r1056 one cannot build a workable firmware.
linux config should be changed and also cramfs needs features to be added to. Until then custom firmware
MG35_1.5.2.3-a8-JD_Eng_Devel produced by John, is a goal that I do not see with r1056.
Until then "a8" cramfs repacking can be a last resort for adding features without using Integrated makefile .
Reporter:
Leon Kos
22.nov. 2008
Comments (0)
You don't have permission to comment on this page.