DSM-G600, DNS-3xx and NSA-220 Hack Forum

Unfortunately no one can be told what fun_plug is - you have to see it for yourself.

You are not logged in.

#1 2007-05-05 00:25:29

dpavlin
Member
From: Zagreb, Croatia
Registered: 2007-04-02
Posts: 17
Website

Kernel 2.6

I'm not quite sure that starting a new topic is the right thing to do, but here I am anyway...

I started hacking in patches from KuroBox for 2.6 kernel. After closer review, it seems that only big parts where actually drivers. In case of DSM-G600, we need IP1000A driver for LAN and RaLink RT2500 driver for wifi. Both are available, so I have done some hacking and I have kernel 2.6.21.1 which cross compiles (using gcc-3.3.x -- it won't work with 2.95) at usual place: http://wiki.rot13.org/rot13/index.cgi?dsm_g600

I'm not commiting this patch to google (yet) because it lacks support for wifi. Why?

Because I'm stuck. I still don't have serial port on my box, and I don't see any activity when I try to load it via loader.o. Does somebody with serial port wants to try this kernel and report bootlog (if any)?

I can provide binary image, but somehow I suspect that people with serial port also have toolchain to build kernel ;-)

Kernel has netconsole output, so in theory when we get LAN card to work and TCP/IP stack, I could debug it even without serial port (or anybody else for that matter).

Last edited by dpavlin (2007-09-02 16:11:50)

Offline

 

#2 2007-05-05 00:54:19

sala
Member / Site Admin
From: Estonia
Registered: 2006-07-28
Posts: 731
Website

Re: Kernel 2.6

Serial console part of this kernel is very tricky and probably the hardest thing to get it working, but without it theres nothing. I have tried couple of times this myself, I did use loader.o and I did try to flash but after loading it by loader.o or uboot serial just dies.

First try to load just regular D-Link kernel with loader.o and make sure that you got it working and understand how it works.

Second, there is many other parts you need to patch for example to get serial console support, mtd support, all speeds at correct level and so on. I am no a kernel hacker but KuroBox patch is good example about these thing you need to do.


DSM-G600 - NetBSD hdd-boot - 80GB Samsung SP0802N
NSA-220 - Gentoo armv5tel 20110121 hdd-boot - 2x 2TB WD WD20EADS

Offline

 

#3 2007-05-05 01:20:45

dpavlin
Member
From: Zagreb, Croatia
Registered: 2007-04-02
Posts: 17
Website

Re: Kernel 2.6

sala wrote:

Serial console part of this kernel is very tricky and probably the hardest thing to get it working, but without it theres nothing. I have tried couple of times this myself, I did use loader.o and I did try to flash but after loading it by loader.o or uboot serial just dies.

I'm not quite sure that I understood you correctly: I shouldn't really hope for serial output after using loader.o or 2.6 kernel didn't produce any output on serial?

sala wrote:

First try to load just regular D-Link kernel with loader.o and make sure that you got it working and understand how it works.

I did. I also loaded both your and my own 2.4 kernel. And they work without a problem with /dev/sda3.

sala wrote:

Second, there is many other parts you need to patch for example to get serial console support, mtd support, all speeds at correct level and so on. I am no a kernel hacker but KuroBox patch is good example about these thing you need to do.

Yap, yap. But, KuroBox patch is more complicated because it has to add another platform. However, if you ignore that (and we already have support for SandPoint) you will see that KuroBox patch justadds driver for Ricoh 5C372 RTC. As far as mtd is concerned, I was hoping that CFI will do the work (as it does in 2.4 kernel), so we don't need static table.

But, first step would be to get kernel to recognize network card (or boot at all), so I'll wait for serial port first (hopefully next week if other things don't get in the way).

Last edited by dpavlin (2007-05-05 01:21:40)

Offline

 

#4 2007-05-05 15:07:21

sala
Member / Site Admin
From: Estonia
Registered: 2006-07-28
Posts: 731
Website

Re: Kernel 2.6

dpavlin wrote:

sala wrote:

Serial console part of this kernel is very tricky and probably the hardest thing to get it working, but without it theres nothing. I have tried couple of times this myself, I did use loader.o and I did try to flash but after loading it by loader.o or uboot serial just dies.

I'm not quite sure that I understood you correctly: I shouldn't really hope for serial output after using loader.o or 2.6 kernel didn't produce any output on serial?

Yes, out of box (with unpatched vanilla kernel) it's normal that you do not get any serial output. And because there may be so many things wrong you'll never reach to init and network will never start.
To take most out of DSM-G600 you should install a serial connector on it.


DSM-G600 - NetBSD hdd-boot - 80GB Samsung SP0802N
NSA-220 - Gentoo armv5tel 20110121 hdd-boot - 2x 2TB WD WD20EADS

Offline

 

#5 2007-05-18 20:21:43

dpavlin
Member
From: Zagreb, Croatia
Registered: 2007-04-02
Posts: 17
Website

Re: Kernel 2.6

Just to update this topic with progress so far:

I have now serial port, and don't have any problems with serial port output after booting new kernel with loader.o (if anyone is wondering :-)

Also, as a first step toward 2.6 (which doesn't work out-of-the-tar) is to port all changes from D-Link (actually, MontaVista, it seems) kernel up to current 2.4 kernel. Idea was to get intimate knowledge about changes required to boot this particular board before moving to 2.6 kernel.

Diff generated between kernel versions isn't really useful, so I opted to use comments found within source and located Bing, Wilson, jackl and REXX are names which are mentioned in comments. After close inspection of all changes (vim -d rules!) I have 2.4.34.4 which boots up to the point where SCSI driver tries to read partition table (and times out).

Since my goal isn't really 2.4 kernel, I will now move to 2.6 kernel since I have some understanding how to init board and serial port.

Offline

 

#6 2007-05-18 21:06:01

sala
Member / Site Admin
From: Estonia
Registered: 2006-07-28
Posts: 731
Website

Re: Kernel 2.6

Nice work with 2.4.34.4 patch tongue


DSM-G600 - NetBSD hdd-boot - 80GB Samsung SP0802N
NSA-220 - Gentoo armv5tel 20110121 hdd-boot - 2x 2TB WD WD20EADS

Offline

 

#7 2007-05-18 22:35:56

dpavlin
Member
From: Zagreb, Croatia
Registered: 2007-04-02
Posts: 17
Website

Re: Kernel 2.6

sala wrote:

Nice work with 2.4.34.4 patch tongue

I'm quite disappointed that it just doesn't work, but conversation with two local linux hackers didn't turn out any useful info (other than printk debugging). I suspect that interrupts aren't handled properly (serial port is mmaped, so it's not using irqs). I will have to talk to real kernel developer (CREDITS one :-) which is good friend of mine to track this one down.

Update: conventional wisdom of Linux hackers seens to suggest initrd, as a nice way to poke around bootable and somewhat broken kernel.

Last edited by dpavlin (2007-05-19 00:49:49)

Offline

 

#8 2007-05-21 06:47:15

beattie
Member / Developer
From: West Coast, USA
Registered: 2006-11-17
Posts: 92
Website

Re: Kernel 2.6

the device being mmaped has nothing to do with interrupts.  I would be surprised if the serial port did not use interrupts.

Offline

 

#9 2007-07-24 19:18:14

dpavlin
Member
From: Zagreb, Croatia
Registered: 2007-04-02
Posts: 17
Website

Re: Kernel 2.6

Just a small update: I have documented all board-specific stuff that I can find in D-Link source and ported them (again) to current powerpc 2.6 tree (which supports KuroBox as is, for example, and I found another patch for device which is quite similar to DSM).

As of first compile, it doesn't work :-)

But, I still don't quite understand IRQ mappings on this device, and this will take a bit more of kernel reading to do. But, it's a really enjoyable experience.

For those of you who would like to help with exploration just a quick note that there is option called early serial console which is use like this: console=uart,mmio,0xfc004500,9600n8

I don't really know if this code is in 2.4 kernel, but my first priority is to get something out on serial port after I start 2.6 kernel. JTAG would help a lot, shame I didn't order development board with OpenMoko :-(

Any idea how to plug JTAG into DSM-G600? I'm not a hardware guy, so just looking at a board doesn't mean much to me.

Last edited by dpavlin (2007-09-02 16:12:13)

Offline

 

#10 2007-09-02 16:16:43

dpavlin
Member
From: Zagreb, Croatia
Registered: 2007-04-02
Posts: 17
Website

Re: Kernel 2.6

Current status (sadly) isn't good one. Because of changes in the recent 2.6 kernel tree, all powerpc kernels are now unified and special version of u-boot which understands dts files is needed. That basically means that newer u-boot must be ported as well and it must be able to load kernel image.

I have a modified loader.o which loads u-boot, and kernel which compiles (but u-boot doesn't yet have any means of finding it). The problem is that I do have serial port, but every wrong try results in need to reboot machine which really sucks. I did try to use qemu as an emulator, but support for this kind of board if fairly limited, even with experimental patches (no ide and network, so it's useful only for basic u-boot testing).

I'm basically stuck. After looking too much in this code I run out of time, and won't have it for some time so I would appreciate if somebody else would take a look at it. I think that the most logical step would be to extend qemu into emulating more of the platform of soldering in JTAG because development cycle is just annoying.

All my changes are now available at http://git.rot13.org/

Of some interest are powerpc.git (based on upstream powerpc branch from www.kernel.org which has changes for KuroBox), u-boot.git and uloader.git

If somebody knows how to change my local git checkout to pull from public server (without git-clone again) I would appreciate advice.

Last edited by dpavlin (2007-09-03 20:43:29)

Offline

 

#11 2007-12-18 04:49:45

jens
Member
From: Dallas, TX
Registered: 2007-02-12
Posts: 27

Re: Kernel 2.6

i am interested in porting a new (usable) uboot as this is what seems to be the limitation for any new kernel devel

I checked out dpavlins u-boot and uloader. I was able to compile u-boot.bin and uloader.o, but when i insmod it I get the following (and nothing like uboot - maybe im doing something wrong):

Code:

./uload.sh
Using /mnt/HD_a2/kurobox_uboot/ululoader module loaded
oauboot=/mnt/HD_a2/kurobox_uboot/u-boot.bin<--
dealloc_high_page c1498000 __pa: 01498000
r.loading /mnt/HD_a2/kurobox_uboot/u-boot.bin 115168 bytes
alloc_high_page c1047000 __pa: 01047000

alloc_high_page c1042000 __pa: 01042000
alloc_high_page c103a000 __pa: 0103a000
alloc_high_page c1039000 __pa: 01039000
alloc_high_page c1038000 __pa: 01038000
alloc_high_page c1037000 __pa: 01037000
alloc_high_page c1027000 __pa: 01027000
alloc_high_page c1026000 __pa: 01026000
alloc_high_page c1025000 __pa: 01025000
alloc_high_page c1024000 __pa: 01024000
alloc_high_page c1023000 __pa: 01023000
alloc_high_page c1022000 __pa: 01022000
alloc_high_page c101d000 __pa: 0101d000
alloc_high_page c101c000 __pa: 0101c000
alloc_high_page c101b000 __pa: 0101b000
alloc_high_page c101a000 __pa: 0101a000
alloc_high_page c1019000 __pa: 01019000
alloc_high_page c1018000 __pa: 01018000
alloc_high_page c1017000 __pa: 01017000
alloc_high_page c1016000 __pa: 01016000
alloc_high_page c1015000 __pa: 01015000
alloc_high_page c1014000 __pa: 01014000
alloc_high_page c1013000 __pa: 01013000
alloc_high_page c1012000 __pa: 01012000
alloc_high_page c1011000 __pa: 01011000
alloc_high_page c1010000 __pa: 01010000
alloc_high_page c100f000 __pa: 0100f000
alloc_high_page c100e000 __pa: 0100e000
alloc_high_page c100d000 __pa: 0100d000
loaded /mnt/HD_a2/kurobox_uboot/u-boot.bin
return code 0
BusyBox v1.00 (2007.01.28-20:15+0000) multi-call binary

Usage: init

#

apparently

Code:

init 6

doesnt do anything like a reset/reboot
i try reboot, but just get:

Code:

# reboot
The system is going down NOW !!
Sending SIGTERM to all processes.
Please stand by while rebooting the system.
(((((((((((hhhhhhhhhhh((((((

and the box is dead. No serial console, no activity. I have to powercycle

Anybody (dpavlin) get uboot ram image to load via uloader.o and if so, how did you do it?

Thanks,
Jens

Offline

 

#12 2007-12-18 05:09:11

jens
Member
From: Dallas, TX
Registered: 2007-02-12
Posts: 27

Re: Kernel 2.6

I did find an interesting post for kernel IP1000A Driver
This may already be common knowledge here, but the post is fairly recent.. it might not help uboot, but only kernel devel..

http://lwn.net/Articles/249196/


http://www.icplus.com.tw/Data/driver/IP … v2.10c.zip

Last edited by jens (2007-12-18 05:11:06)

Offline

 

#13 2007-12-18 08:52:50

beattie
Member / Developer
From: West Coast, USA
Registered: 2006-11-17
Posts: 92
Website

Re: Kernel 2.6

u-boot is equivalent to the BIOS on your PC.  The u-boot on the dsm-g600 is a very limited one, it only as a few functions enabled and no room in the flash for more.  While it is possible to compile a new u-boot, that u-boot would have to be written to flash, also possible.  But if the new u-boot has any problem that prevents it from running your dsm-g600 will be a brick with a blinking light.  The only way to recover at that point would be to use the JTAG interface which is not configured from the factory and I don't know anybody who has figured out how to enable it.

Offline

 

#14 2007-12-18 09:53:22

jens
Member
From: Dallas, TX
Registered: 2007-02-12
Posts: 27

Re: Kernel 2.6

Yes,
but in order to get there, we need to build a working u-boot first. Ideally it would have usb, net (tftp, bootp) support, etc and of course we have to get scsi support to boot from sda

Kurobox project already has a RAM loadable version to test out uboot before flashing. Supposedly we can load u-boot.bin through current kernel module (uloader.o) and jump to it (like the current loader.o does with kernels)
see: http://www.linuxnotincluded.pwp.blueyon … -boot.html

I'm assuming that's what dpavlin was working on. I checked out his mods to the kurobox uloader code and build both uloader.o and u-boot.bin for dsmg600, but it doesn't do much for me. If dpavlin got a successful uloader/loader.o that will load uboot ram and a working (albeit limited - no booting kernels,etc) we can work from there to try to get a working uboot, then onto a working kernel.

At that point it would be conceivable that we could devise a way to repartition flash around to fit uboot and a basic kernel to get things up and running.

I'm not scared of trashing my dsmg600 - I realize there is no working jtag port mod yet - im sure we could get there. I do believe it's possible to get to working uboot and eventually 2.6 kernel without writing flash.

Please correct me if any of this sounds wrong.

Offline

 

#15 2007-12-20 07:04:33

beattie
Member / Developer
From: West Coast, USA
Registered: 2006-11-17
Posts: 92
Website

Re: Kernel 2.6

jens wrote:

Yes,
but in order to get there, we need to build a working u-boot first. Ideally it would have usb, net (tftp, bootp) support, etc and of course we have to get scsi support to boot from sda
...

Please correct me if any of this sounds wrong.

First you will need to repartition the flash as the current flash layout does not allow for ANY added features.  Changing the flash layout makes the new u-boot and order of magnitude harder to develop.  I give anybody trying this a 90% of creating at least one brick.

Effecyively you can not do u-boot development with out a way to reprogram the flash using J-tag.

You may need a new u-boot, but to get a new u-boot you will have to enable the j-tag interface.

I think the Kurobox has a working J-tag.  If somebody can figure out how to enable the j-tag on the DSM G600, I'm willing to give it a try, but it looks like d-link is getting ready to end-of-life this hardware so I don't know howmuch life there is left in it.

Offline

 

#16 2008-02-01 12:24:32

jens
Member
From: Dallas, TX
Registered: 2007-02-12
Posts: 27

Re: Kernel 2.6

picking this thread backup, due to u-boot status on this.
I am going to need some help trying to get this kernel ironed out - I'm learning C++ but I'm no kernel hacker...

it's booting, but console is taking many minutes (5~10) before it produces serial output...
I saw some code in D-Link source ppclinux for sandpoint.h that seemed to be a hack for early console output (serial_char looping with printk calls), so I'm not sure if there can be a more elegant solution.

Looks like I have some RTC / clock freq problem as well as some PCI issues (ipg net, etc,. which I think I can worry about later, or possibly load as modules)

Code:

=> bootm ffc10000 ffd50000
## Booting image at ffc10000 ...
   Image Name:   Linux-2.6.24
   Created:      2008-01-30   4:28:29 UTC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1185392 Bytes =  1.1 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Loading RAMDisk Image at ffd50000 ...
   Image Name:   Simple Embedded Linux Framework
   Created:      2007-01-22   7:11:46 UTC
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    1493655 Bytes =  1.4 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Ramdisk to 01df4000, end 01f60a97 ... OK
id mach(): done
MMU:enter
MMU:hw init
MMU:mapin
MMU:setio
MMU:exit
setup_arch: enter
Linux version 2.6.24 (jens@crash.local) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #6 Tue Jan 29 22:28:24 CST 2008
Early serial console at MMIO 0xfc004500 (options '115200n8')
console [uart0] enabled
setup_arch: bootmem
mpc10x:enter
mpc10x:exit
Motorola SPS Sandpoint Test Platform
Port by MontaVista Software, Inc. (source@mvista.com)
arch: exit
Zone PFN ranges:
  DMA             0 ->     8192
  Normal       8192 ->     8192
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 ->     8192
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: console=uart,mmio,0xfc004500,115200n8 root=/dev/ram earlyprintk=serial,ttyS0,115200n8
openpic: enter
OpenPIC Version 1.2 (1 CPUs and 123 IRQ sources) at fc040000
openpic: timer
openpic: external
openpic: spurious
openpic: exit
PID hash table entries: 128 (order: 7, 512 bytes)
TODC real-time-clock was stopped. Now starting...
TODC real-time-clock was stopped. Now starting...

~5 min delay then:

Code:

time_init: decrementer frequency = 738.783207 MHz

another 30 secs or so then regular kernel output starts flowing...

Code:

Warning: real time clock seems stuck!
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 28452k available (1828k kernel code, 620k data, 124k init, 0k highmem)
Mount-cache hash table entries: 512
net_namespace: 64 bytes
NET: Registered protocol family 16

PCI: Probing PCI hardware
PCI: Cannot allocate resource region 1 of device 0000:00:00.0
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 1458k freed
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xfc004500 (irq = 36) is a 16550A
console handover: boot [uart0] -> real [ttyS0]
RAMDISK driver initialized: 2 RAM disks of 4096K size 1024 blocksize
loop: module loaded
0000:00:0f.0: IC PLUS IP1000 1000/100/10 based NIC
0000:00:0f.0 cannot map MMIO
Sundance Technology IPG Triple-Speed Ethernet: probe of 0000:00:0f.0 failed with error -5
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
AEC6280: IDE controller (0x1191:0x0008 rev 0x10) at  PCI slot 0000:00:10.0
AEC6280: 100% native mode on irq 21
    ide0: BM-DMA at 0xfebffe00-0xfebffe07, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xfebffe08-0xfebffe0f, BIOS settings: hdc:pio, hdd:pio
ehci_hcd 0000:00:0e.2: EHCI Host Controller
ehci_hcd 0000:00:0e.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:0e.2: irq 21, io mem 0xbfffbf00
ehci_hcd 0000:00:0e.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
ohci_hcd 0000:00:0e.0: OHCI Host Controller
ohci_hcd 0000:00:0e.0: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:0e.0: irq 19, io mem 0xbfffd000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
ohci_hcd 0000:00:0e.1: OHCI Host Controller
ohci_hcd 0000:00:0e.1: new USB bus registered, assigned bus number 3
ohci_hcd 0000:00:0e.1: irq 18, io mem 0xbfffc000
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 124k init

then a kernel panic related to my ramdisk (which im not ready to deal with yet)

I will post my kernel config and sandpoint specific stuff shortly. This is modding a vanilla 2.6.24 kernel...

Last edited by jens (2008-02-01 12:29:17)

Offline

 

#17 2008-02-01 17:49:06

qn1234
Member
Registered: 2006-08-18
Posts: 94

Re: Kernel 2.6

jens,

Good job on your JTAG hack.

Maybe you should try to get 2.4 working first.  Then perhaps, some of us might be able to jump in and add improvements.  I have a feeling 2.6 wouldn't be that easy of a job, but with your expertise I'm sure sooner or later you'll figure it out. smile

Just curious, what if you comment out the real-time clock code in the kernel and see if it boots faster, then come back to the real-time clock code and figure out why.

--
Quang

Offline

 

#18 2008-02-03 11:55:13

davedom
New member
Registered: 2007-06-09
Posts: 4

Re: Kernel 2.6

This is my output using u-boot 1.3.1 with jens patch and the default 2.4 kernel image.

Code:

U-Boot 1.3.1 (Feb  1 2008 - 07:08:03)

CPU:   MPC8245 Revision 1.2 at 199.999 MHz: 16 kB I-Cache 16 kB D-Cache
Board: Sandpoint 8245
I2C:   ready
DRAM:  32 MB
FLASH: Spansion_S29GL032M
 4 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
=> bootm 0xffc10000
## Booting image at ffc10000 ...
   Image Name:   Linux-2.4.21-pre4
   Created:      2005-08-25   9:43:58 UTC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    853146 Bytes = 833.2 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
Total memory 33554432 MB.
Memory BAT mapping: BAT2=32Mb, BAT3=0Mb, residual: 0Mb
Total memory is 33554432.
CPU = 82xx
Linux version 2.4.21-pre4 (ffna@swtest2) (gcc version 2.95.4 20010319 (prerelease)) #480 �|5OpenPIC_Addr in mpc10x_bridge_init function is fc040000
Motorola SPS Sandpoint Test Platform
Port by MontaVista Software, Inc. (source@mvista.com)
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line:
OpenPIC Version 1.2 (1 CPUs and 123 IRQ sources) at fc040000
Calibrating delay loop... 133.12 BogoMIPS
Memory: 30252k available (1560k kernel code, 508k data, 60k init, 0k highmem)
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 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: 8192 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
PCI fixup irq: (PCI device 1814:0201) got 0
PCI fixup irq: (PCI device 1033:0035) got 1
PCI fixup irq: (PCI device 1033:0035) got -1
PCI fixup irq: (PCI device 1033:00e0) got 2
PCI fixup irq: (PCI device 13f0:1023) got 3
PCI fixup irq: (PCI device 1191:0008) got 4
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
NTFS driver v1.1.22 [Flags: R/W]
udf: registering filesystem
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SERIAL_PCI enabled
ttyS00 at 0xfc004500 (IOMEM)(irq = 121) is a ST16650
ttyS01 at 0xfc004600 (IOMEM)(irq = 122) is a ST16650
RAMDISK driver initialized: 16 RAM disks of 6144K size 1024 blocksize
loop: loaded (max 8 devices)
ipg : v0.36 10/31/01  Written by Craig Rich, www.sundanceti.com
IC PLUS IP1000 1000/100/10 based NIC found.
Ethernet device registered as: eth0
IPG module loaded.
SCSI subsystem driver Revision: 1.00
atp86x_detect:
   ACARD ATP-865 PCI ATA133 2-Channels Host Adapter: 0    IO:FEBFFEF8, IRQ:4.
scsi0 : ACARD ATP86X PCI ATA133 Adapter Driver Ver: 0.78  Date: 2004/01/15

USI AMD/FUJITSU flash: probing 8-bit flash bus
 Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling fast programming due to code brokenness.
Creating 5 MTD partitions on "USI Intel flash":
0x00000000-0x00010000 : "Linux mtd1"
0x00010000-0x00020000 : "Linux mtd2"
0x00020000-0x00300000 : "Linux Ramdisk"
0x00300000-0x00310000 : "U-BOOT BOOT LOADER"
0x00310000-0x00400000 : "Linux Kernel"
usb.c: registered new driver hub
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 2048 bind 2048)
kmod: failed to exec /sbin/modprobe -s -k block-major-3, errno = 2
VFS: Cannot open root device "" or 03:01
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 03:01
 <0>Rebooting in 180 seconds..

No hangs. everything seems normal.

Offline

 

#19 2008-02-08 00:29:41

dpavlin
Member
From: Zagreb, Croatia
Registered: 2007-04-02
Posts: 17
Website

Re: Kernel 2.6

Great news. Sorry, for not responding sooner, but somehow I neglected my DSM-G600 and this forum, it seems :-)

Where is that patch available?

Offline

 

#20 2008-02-08 10:03:08

jens
Member
From: Dallas, TX
Registered: 2007-02-12
Posts: 27

Re: Kernel 2.6

it's on the jtag uboot thread  http://forum.dsmg600.info/t824-jtag-uboot.html
it's a really ugly patch, not merge worthy, but does produce a working u-boot.. my main goal is to get a working 2.6 system, ideally from the latest stable vanilla 2.6.24 kernel since it has IP1000A driver

edit: here is the diff against the kernel.. very hacky, but maybe somebody can pick it up... There may be mods in there that are necessary. It was very much an experiment porting things from dlinks 2.4.x kernel to get things working, but I dont really know enough about the inner workings of the 2.4 vs the 2.6 kernel to port this properly...

Thanks dpavlin for his wiki and git repository, and to various kurobox/linkstation patches on the net which have helped in figuring this out...

attention kernel hackers!! help please!

Last edited by jens (2008-02-12 19:16:59)


Attachments:
Attachment Icon linux-2.6.24.dsmg600.diff, Size: 10,059 bytes, Downloads: 638

Offline

 

#21 2008-02-14 07:18:37

jens
Member
From: Dallas, TX
Registered: 2007-02-12
Posts: 27

Re: Kernel 2.6

I guess my biggest issue is: which kernel arch do you build in? powerpc or ppc? what is the difference? I just picked up an Iomega Storcenter (which btw, is everything that the DLink could ever want to be - and they didnt skimp on the flash and ram) - the storcenter kernel is based on powerpc arch of kernel and uses the dts, whereas ppc does not?

I based my config off of make sandpoint_defconfig, and ARCH=ppc

Last edited by jens (2008-02-14 07:30:12)

Offline

 

#22 2008-02-14 09:37:15

qn1234
Member
Registered: 2006-08-18
Posts: 94

Re: Kernel 2.6

Usually I use ARCH=powerpc for cross platform compiling.

Offline

 

#23 2008-02-15 15:42:21

dpavlin
Member
From: Zagreb, Croatia
Registered: 2007-04-02
Posts: 17
Website

Re: Kernel 2.6

qn1234 wrote:

Usually I use ARCH=powerpc for cross platform compiling.

As far as I know, Linux kernel is transitions from ppc architecture (where everything is hard-coded into sandpoint platform C files) to powerpc architecture where kernels are generic, and all initialization is done using dts database which is somewhat black art. My original efforts where to understand how to make dts variant for DSM-G600 (since kurobox uses that), but now that I saw how easy is it to build it with ppc arch, I might give up on that.

On related note, could jens share some of wisdom how to boot kernel like that? It seems that uloader doesn't want to boot it, but I do vaguely remember that uloader support needed changes in kernel code (load address if I'm not mistaken).

Offline

 

#24 2008-02-15 20:17:11

jens
Member
From: Dallas, TX
Registered: 2007-02-12
Posts: 27

Re: Kernel 2.6

I used jtag to upgrade my uboot, and then I use uboot serial to upload/flash kernel & ramdisk images. The ppc kernel autogenerated uImage of kernel. But, with the ppc build, there still seems to be some rtc and/or init issues that need to be taken care of, but Im really not sure how to go about fixing...


I looked at a recent DTS file from storcenter that was based on kurobox...

I might try porting that over (only a few changes there) and trying a powerpc build.

Offline

 

#25 2008-03-03 07:42:15

jens
Member
From: Dallas, TX
Registered: 2007-02-12
Posts: 27

Re: Kernel 2.6

well sorry for the late response, but I did try porting storcenter dts (based in turn on kurobox) and associated files to match dsmg600, and powerpc build was good, but the kernel would never boot - well at least no serial console that i could see sad(
(will post dts, config, etc shortly....)

ppc arch may be the way to go here, but there is more hacking to be done on the platform specific files to get it to work with dsmg600...

As a side note, I really love this Iomega Storcenter (and I had pretty much dumped iomega after zip and jaz). Out of the box it is very functional, but ever being the hacker, i flashed openprotium fw on it and i'm rocking with the nice ipkg system.. lighttpd->fastcgi->php5->sqlite really rox as an embedded dev platform! I really cant forget the fact that it has 64mb ram /8mb flash... It's well worth it for a hackable low-power, small-footprint general purpose box...

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2010 PunBB