[linux-cirrus] Re: crunch support in 2.6

  • From: Andrew Gaylard <ag@xxxxxxxxxxxx>
  • To: linux-cirrus@xxxxxxxxxxxxx
  • Date: Wed, 05 Jul 2006 23:03:03 +0200

Lennert Buytenhek wrote:

>Right, I have a TS-7250.
>
>I can't remember the exact emails you sent, so I'll just tell you
>what I just did to get a booting kernel on my TS-7250.
>- Untar 2.6.17-git22.
>- Apply the head.S hunk of http://svn.wantstofly.org/ep93xx/local.diff
>  -- this is important because I don't think the TS bootloader passes
>  the right machine ID.
>- Use the ep93xx_defconfig.  This is important because it enables the
>  PL010 serial port driver, which you need for kernel messages and stuff.
>
>If that does't work yet, try also applying the printk.c hunk of
>local.diff (and uncommenting it) -- this will enable early console
>debugging and will tell you what went wrong.
>
>The resulting kernel won't have USB and ethernet and stuff like that,
>but at least it should boot until a kernel panic and tell us what's
>going on.
>  
>

OK,  I've done this, without much luck.  Here are the *exact* steps I took:

tar jxf linux-2.6.17.tar.bz2
cd linux-2.6.17
bunzip2 -dc ../patch-2.6.17-git22.bz2 | patch -p1
# (edit local diff to leave only the head.S and printk chunks)
cat ../local.diff | patch -p1
make ARCH=arm CROSS_COMPILE=arm-9tdmi-linux-gnu- ep93xx_defconfig
make ARCH=arm CROSS_COMPILE=arm-9tdmi-linux-gnu- zImage

Booting produces this:

RedBoot> load -r -b 0x00218000 -h 192.168.1.4 zImage-2.6.17-git22
Using default protocol (TFTP)
Raw file loaded 0x00218000-0x003556b7, assumed entry at 0x00218000
RedBoot> exec -c "console=ttyAM0,115200 ip=dhcp
nfsroot=192.168.1.4:/home/apg/bz/elmer/ts/flash-fs-root"
Using base address 0x00218000 and length 0x0013d6b8
Uncompressing
Linux....................................................................................
done, booting th
e kernel.
à...Ø.f..~f.ØæØf...Ø.xØ.x....æ.~f.`.x.~ff....Ø.x.f...~fff..~æàæà.~f.ØæØf...Ø..xØ.`.f...`..ff.x.f~à..æx~`......fæ..fx.æ..
...ff.~...f..xf......àx.x.~.Øfxxf..f...Ø.....f.x..`f...à.Øf.....~....æ..æà....Ø.f.~ffæà..Ø...à...~f.....fæØ.~ff...f.f...
......æ.f...æ.ff...f.æ.à....f.~..æ.æ..x...f.à..f.xà.`..~...àfæà..f..~f.`fxfæàææf.....ff.~`f..xff.~f.`fxæ.fæàææ..àfæà..ff
.....ff.~...àfæà..f.~.à...àf.~fæØ....æØæØæ..f...~..xf.`f..`..xàf.~f....Ø.fæØ...Øfx`æØf.....ff.~`.àfæà..f.~.à...àf.~fæØ..


This looks a lot like the baud rate's wrong, but the board still
doesn't respond to pings, so I guess it's crashed.  I then uncommented
your printk, with this result:

Uncompressing
Linux....................................................................................
done, booting th
e
kernel.                                                                         
                                     

<5>Linux version 2.6.17-git22 (gaylard_a@tea) (gcc version 3.4.5) #2 Wed
Jul 5 22:58:25 SAST 2006                      
CPU: ARM920T [41129200] revision 0 (ARMv4T),
cr=00007177                                                               
Machine: Technologic Systems TS-72xx
SBC                                                                             
  

Memory policy: ECC disabled, Data cache
writeback                                                                      

<7>On node 0 totalpages:
8192                                                                            
              

<7>  DMA zone: 8192 pages, LIFO
batch:1                                                                         
       

CPU0: D VIVT write-back
cache                                                                           
               

CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8
sets                                                    
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8
sets                                                    
Built 1 zonelists.  Total pages:
8192                                                                            
      

<5>Kernel command line: console=ttyAM0,115200 ip=dhcp
nfsroot=192.168.1.4:/home/apg/bz/elmer/ts/flash-fs-root          
PID hash table entries: 256 (order: 8, 1024
bytes)                                                                     
Dentry cache hash table entries: 4096 (order: 2, 16384
bytes)                                                          
Inode-cache hash table entries: 2048 (order: 1, 8192
bytes)                                                            
<6>Memory: 8MB 8MB 8MB 8MB = 32MB
total                                                                           
     

<5>Memory: 29744KB available (2184K code, 409K data, 80K
init)                                                         
<7>Calibrating delay loop... 49.86 BogoMIPS
(lpj=249344)                                                               
Mount-cache hash table entries:
512                                                                             
       

<6>CPU: Testing write buffer coherency:
ok                                                                             

<6>NET: Registered protocol family
16                                                                              
    

<6>ep93xx: PLL1 running at 400 MHz, PLL2 at 192
MHz                                                                    
<6>ep93xx: FCLK 200 MHz, HCLK 100 MHz, PCLK 50
MHz                                                                     
<5>SCSI subsystem
initialized                                                                     
                     

<6>usbcore: registered new driver
usbfs                                                                           
     

<6>usbcore: registered new driver
hub                                                                             
     

<6>NET: Registered protocol family
2                                                                               
    

IP route cache hash table entries: 256 (order: -2, 1024
bytes)                                                         
TCP established hash table entries: 1024 (order: 2, 16384
bytes)                                                       
TCP bind hash table entries: 512 (order: 1, 10240
bytes)                                                               
<6>TCP: Hash tables configured (established 1024 bind
512)                                                             
<6>TCP reno
registered                                                                      
                           

<4>NetWinder Floating Point Emulator V0.97 (extended
precision)                                                        
<6>JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat,
Inc.                                                               
<6>io scheduler noop
registered                                                                      
                  

<6>io scheduler deadline registered
(default)                                                                       
   

<6>ep93xx_wdt: EP93XX watchdog, driver version
0.3                                                                     
<6>Serial: AMBA driver $Revision: 1.41
$                                                                               

<6>apb:uart1: ttyAM0 at MMIO 0x808c0000 (irq = 52) is a
AMBA                                                           
à...Ø.f..~f.ØæØf...Ø.xØ.x....æ.~f.`.x.~ff....Ø.x.f...~fff..~æàæà.~f.ØæØf...Ø..xØ.`.f...`.ff.x.f~à..æx~f~.æ..fæ..fx.æ....


AHA!  That indeed looks like things go haywire when the AMBA
driver takes over.  Right?

Andrew.

Other related posts: