Skip to contentSkip to conversation

u-boot, powerpc with device tree, initrd problem

U-Boot-Users John Linn 2 participants 7 messages Jul 9, 2008 – Jul 10, 2008

lore
Share & tools
lore

John Linn

author
#0 lore raw

I realize this could be posted to the linuxppc-dev also, but my kernel is running fine so I think it's a u-boot to kernel interface problem. I am able to pass a device tree to the kernel and get it to boot fine, and using NFS root also.

I can't get it to find my initrd ramdisk is my problem. A kernel image, zImage.initrd, works with the ramdisk image, so I think everything is setup ok with the kernel. I'm using a uImage and using mkimage on my ramdisk also for u-boot.

I realize it could be that I'm just loading the images in the RAM such that when the kernel gets uncompressed it stomps on the ram disk. I have tried moving to other addresses without any luck. When I look in memory where the ram disk was loaded by uboot, I can see the image fine after the kernel has paniced because it didn't find the root file system.

Is there something basic that I'm missing?

Thanks, appreciate any help,
John

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 ...

   Image Name:   Linux-2.6.26-rc8
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1536987 Bytes =  1.5 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Loading RAMDisk Image at 01800000 ...
Image Name:
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1507104 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt at 0x1000000
Loading Ramdisk to 0fd35000, end 0fea4f20 ... OK
Loading Device Tree to 007fc000, end 007fefff ... OK Loading Device Tree to 007fa000, end 007fcfff ... OK
Using Xilinx Virtex machine description
Linux version 2.6.26-rc8 (linnj at wolfgang-pc) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #4 PREEMPT Tue Jul 8 14
:45:07 PDT 2008
Zone PFN ranges:
DMA 0 -> 131072
Normal 131072 -> 131072
Movable zone start PFN for each node
early_node_map[1] active PFN ranges

    0:        0 ->   131072

Built 1 zonelists in Zone order, mobility grouping on. Total pages:
130048
Kernel command line: console=ttyS0 ip=on root=/dev/ram Xilinx intc at 0xD0020200 mapped to 0xfdfff200
PID hash table entries: 2048 (order: 11, 8192 bytes)
clocksource: timebase mult[c800000] shift[22] registered
Console: colour dummy device 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 514432k/524288k available (3024k kernel code, 9332k reserved, 128k data, 149k bss, 156k init)
Mount-cache hash table entries: 512
device-tree: Duplicate name in /, renamed to "chosen#1"
net_namespace: 624 bytes
NET: Registered protocol family 16
PCI: Probing PCI hardware
NET: Registered protocol family 2
IP route cache hash table entries: 16384 (order: 4, 65536 bytes) TCP established hash table entries: 65536 (order: 7, 524288 bytes) TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 65536 bind 65536) TCP reno registered
NET: Registered protocol family 1
Installing knfsd (copyright (C) 1996 okir at monad.swb.de). msgmni has been set to 1005
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
d0000000.serial: ttyS0 at MMIO 0xd0000003 (irq = 16) is a 16550A console [ttyS0] enabled
brd: module loaded
loop: module loaded
Device Tree Probing 'ethernet'
xilinx_lltemac 91200000.ethernet: MAC address is now 2: 0: 0: 0: 0: 0 xilinx_lltemac 91200000.ethernet: XLlTemac: using DMA mode.
XLlTemac: DCR address: 0x80
XLlTemac: buffer descriptor size: 32768 (0x8000)
XLlTemac: Allocating DMA descriptors with kmalloc<6>XLlTemac:
(buffer_descriptor_init) phy: 0x1fa08000, virt:
0xdfa08000, size: 0x8000
XTemac: PHY detected at address 7.
eth0: Dropping NETIF_F_SG since no checksum feature. xilinx_lltemac 91200000.ethernet: eth0: Xilinx TEMAC at 0x91200000 mapped to 0xE100E000, irq=17
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
Device Tree Probing 'i2c'
d0020000.i2c #0 at 0xD0020000 mapped to 0xE1010000, irq=20 TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
eth0: XLlTemac: Options: 0x3fa
eth0: XLlTemac: allocating interrupt 19 for dma mode tx.
eth0: XLlTemac: allocating interrupt 18 for dma mode rx.
eth0: XLlTemac: speed set to 100Mb/s
eth0: XLlTemac: Send Threshold = 24, Receive Threshold = 4
eth0: XLlTemac: Send Wait bound = 254, Receive Wait bound = 254 Sending DHCP requests .., OK
IP-Config: Got DHCP answer from 149.199.109.235, my address is 172.16.40.12
IP-Config: Complete:

     device=eth0, addr=172.16.40.12, mask=255.255.255.0,
gw=172.16.40.254,
     host=172.16.40.12, domain=xilinx.com public.xilinx.com
xlnx.xilinx.com public.xsj.xilinx., nis-domain=xil
inx.com,
     bootserver=149.199.109.235, rootserver=149.199.109.235,
rootpath=/tmp
List of all partitions:
No filesystem could mount root, tried:  ext2 cramfs msdos vfat romfs
Kernel panic - not syncing: VFS: Unable to mount root fs on

unknown-block(1,0)
Rebooting in 180 seconds..

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

#1 lore raw
Quoted 9 lines · John Linn

I realize this could be posted to the linuxppc-dev also, but my kernel is running fine so I think it's a u-boot to kernel interface problem. I am able to pass a device tree to the kernel and get it to boot fine, and using NFS root also.

I can't get it to find my initrd ramdisk is my problem. A kernel image, zImage.initrd, works with the ramdisk image, so I think everything is setup ok with the kernel. I'm using a uImage and using mkimage on my ramdisk also for u-boot.

The messages look to me like linux is finding, decompressing, etc. the RAM disk. It jumps the tracks sometime later.

Quoted 14 lines

I realize it could be that I'm just loading the images in the RAM such that when the kernel gets uncompressed it stomps on the ram disk. I have tried moving to other addresses without any luck. When I look in memory where the ram disk was loaded by uboot, I can see the image fine after the kernel has paniced because it didn't find the root file system.

Is there something basic that I'm missing?

Thanks, appreciate any help,
John

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 ...

Quoted 7 lines
   Image Name:   Linux-2.6.26-rc8
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1536987 Bytes =  1.5 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

kernel check

Quoted 9 lines

## Loading RAMDisk Image at 01800000 ...
Image Name:
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1507104 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt at 0x1000000 Loading Ramdisk to 0fd35000, end 0fea4f20 ... OK

ramdisk check

Quoted 2 lines

Loading Device Tree to 007fc000, end 007fefff ... OK Loading Device Tree to 007fa000, end 007fcfff ... OK

fdt check, but why are there two of them??? I don't have access to a successful system boot at the moment, so I don't know if this is normal or not. I'm thinking not. Does your kernel have a device tree blob built in?

Quoted 10 lines

Using Xilinx Virtex machine description
Linux version 2.6.26-rc8 (linnj at wolfgang-pc) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #4 PREEMPT Tue Jul 8 14
:45:07 PDT 2008
Zone PFN ranges:
DMA 0 -> 131072
Normal 131072 -> 131072
Movable zone start PFN for each node
early_node_map[1] active PFN ranges

    0:        0 ->   131072
Quoted 13 lines

Built 1 zonelists in Zone order, mobility grouping on. Total pages:
130048
Kernel command line: console=ttyS0 ip=on root=/dev/ram Xilinx intc at 0xD0020200 mapped to 0xfdfff200
PID hash table entries: 2048 (order: 11, 8192 bytes)
clocksource: timebase mult[c800000] shift[22] registered
Console: colour dummy device 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 514432k/524288k available (3024k kernel code, 9332k reserved, 128k data, 149k bss, 156k init)
Mount-cache hash table entries: 512
device-tree: Duplicate name in /, renamed to "chosen#1"

This is interesting. Looks like you have two /chosen nodes??? Is this related to having two "Loading Device Tree" messages? I don't know if/how this would be the problem, but my theory of making things work is to fix the known problems before debugging the unknown problems.

[snip]

Best regards,
gvb

author
#2 lore raw

Thanks Jerry, good catch.

I had seen the duplicated device tree loading in u-boot but not in the kernel. That is definitely not normal as my kernel that I manually load with a probe doesn't do that.

The kernel uImage shouldn't have a device tree blob built into it, but I do build it in for zImage so maybe I got it hosed up. I'm doing a clean build now for uImage to see if it's different.

I think uImage is built from the vmlinux so I don't see why I would have had 2 blobs in there. I'll keep digging.

-- John

Quoted 6 lines

-----Original Message-----
From: Jerry Van Baren [mailto:gerald.vanbaren at ge.com]
Sent: Wednesday, July 09, 2008 1:08 PM
To: John Linn
Cc: u-boot-users at lists.sourceforge.net
Subject: Re: [U-Boot-Users] u-boot, powerpc with device tree, initrd

problem

Quoted 3 lines
Quoted 1 line · John Linn

I realize this could be posted to the linuxppc-dev also, but my

kernel

Quoted 1 line
Quoted 1 line

is running fine so I think it's a u-boot to kernel interface

problem. I

Quoted 1 line
Quoted 1 line

am able to pass a device tree to the kernel and get it to boot fine,

and

Quoted 3 lines
Quoted 3 lines

using NFS root also.

I can't get it to find my initrd ramdisk is my problem. A kernel

image,

Quoted 1 line
Quoted 1 line

zImage.initrd, works with the ramdisk image, so I think everything

is

Quoted 1 line
Quoted 1 line

setup ok with the kernel. I'm using a uImage and using mkimage on

my

Quoted 6 lines
Quoted 1 line

ramdisk also for u-boot.

The messages look to me like linux is finding, decompressing, etc. the RAM disk. It jumps the tracks sometime later.

Quoted 1 line

I realize it could be that I'm just loading the images in the RAM

such

Quoted 1 line
Quoted 1 line

that when the kernel gets uncompressed it stomps on the ram disk. I

have

Quoted 1 line
Quoted 1 line

tried moving to other addresses without any luck. When I look in

memory

Quoted 1 line
Quoted 1 line

where the ram disk was loaded by uboot, I can see the image fine

after

Quoted 30 lines
Quoted 10 lines

the kernel has paniced because it didn't find the root file system.

Is there something basic that I'm missing?

Thanks, appreciate any help,
John

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 ...

Quoted 7 lines
   Image Name:   Linux-2.6.26-rc8
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1536987 Bytes =  1.5 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

kernel check

Quoted 9 lines

## Loading RAMDisk Image at 01800000 ...
Image Name:
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1507104 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt at 0x1000000 Loading Ramdisk to 0fd35000, end 0fea4f20 ... OK

Quoted 7 lines

ramdisk check

Quoted 2 lines

Loading Device Tree to 007fc000, end 007fefff ... OK Loading Device Tree to 007fa000, end 007fcfff ... OK

fdt check, but why are there two of them??? I don't have access to a successful system boot at the moment, so I don't know if this is

normal

Quoted 5 lines

or not. I'm thinking not. Does your kernel have a device tree blob built in?

Quoted 2 lines

Using Xilinx Virtex machine description
Linux version 2.6.26-rc8 (linnj at wolfgang-pc) (gcc version 4.0.0

(DENX

Quoted 10 lines
Quoted 10 lines

ELDK 4.1 4.0.0)) #4 PREEMPT Tue Jul 8 14
:45:07 PDT 2008
Zone PFN ranges:
DMA 0 -> 131072
Normal 131072 -> 131072
Movable zone start PFN for each node
early_node_map[1] active PFN ranges

    0:        0 ->   131072

Built 1 zonelists in Zone order, mobility grouping on. Total pages:
130048

Quoted 8 lines
Quoted 8 lines

Kernel command line: console=ttyS0 ip=on root=/dev/ram Xilinx intc at 0xD0020200 mapped to 0xfdfff200
PID hash table entries: 2048 (order: 11, 8192 bytes)
clocksource: timebase mult[c800000] shift[22] registered
Console: colour dummy device 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 514432k/524288k available (3024k kernel code, 9332k

reserved,

Quoted 5 lines
Quoted 3 lines

128k data, 149k bss, 156k init)
Mount-cache hash table entries: 512
device-tree: Duplicate name in /, renamed to "chosen#1"

This is interesting. Looks like you have two /chosen nodes??? Is

this

Quoted 2 lines

related to having two "Loading Device Tree" messages? I don't know if/how this would be the problem, but my theory of making things work

is

Quoted 7 lines

to fix the known problems before debugging the unknown problems.

[snip]

Best regards,
gvb

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

author
#3 lore raw
In reply to Jerry Van Baren

I turned on extra debug and got some more data.

That's strange, u-boot is finding the device twice at the same location in memory. I must have something configured wrong.

-- John

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 ...

   Image Name:   Linux-2.6.26-rc8
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1536962 Bytes =  1.5 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Current stack ends at 0x0FEA4990 => set upper limit to 0x00800000 ## cmdline at 0x007FFF00 ... 0x007FFF3A

bd address  = 0x0FEA4E80
memstart    = 0x00000000
memsize     = 0x10000000
flashstart  = 0x00000000
flashsize   = 0x00000000
flashoffset = 0x00000000
sramstart   = 0x00000000
sramsize    = 0x00000000
bootflags   = 0x0FEA5C88
procfreq    =    400 MHz
plb_busfreq =     20 MHz
ethaddr     = 00:0A:35:01:02:03
IP addr     = 172.16.40.227
baudrate    =   9600 bps

Not skipping initrd
## Loading RAMDisk Image at 01800000 ...
Image Name:
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1507104 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt at 0x1000000
## initrd at 0x01800040 ... 0x0196FF5F (len=1507104=0x16FF20)
Loading Ramdisk to 0fd34000, end 0fea3f20 ... OK
## device tree at 0x01000000 ... 0x01002FFF (len=12288=0x3000)
Loading Device Tree to 007fc000, end 007fefff ... OK
## device tree at 0x01000000 ... 0x01002FFF (len=12288=0x3000)
Loading Device Tree to 007fa000, end 007fcfff ... OK
## Transferring control to Linux (at address 00000000) ... Using Xilinx Virtex machine description
Linux version 2.6.26-rc8 (linnj at wolfgang-pc) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #6 PREEMPT Wed Jul 9 12
:36:41 PDT 2008
Zone PFN ranges:
DMA 0 -> 131072
Normal 131072 -> 131072
Movable zone start PFN for each node
early_node_map[1] active PFN ranges

Quoted 6 lines

-----Original Message-----
From: Jerry Van Baren [mailto:gerald.vanbaren at ge.com]
Sent: Wednesday, July 09, 2008 1:08 PM
To: John Linn
Cc: u-boot-users at lists.sourceforge.net
Subject: Re: [U-Boot-Users] u-boot, powerpc with device tree, initrd

problem

Quoted 3 lines
Quoted 1 line · John Linn

I realize this could be posted to the linuxppc-dev also, but my

kernel

Quoted 1 line
Quoted 1 line

is running fine so I think it's a u-boot to kernel interface

problem. I

Quoted 1 line
Quoted 1 line

am able to pass a device tree to the kernel and get it to boot fine,

and

Quoted 3 lines
Quoted 3 lines

using NFS root also.

I can't get it to find my initrd ramdisk is my problem. A kernel

image,

Quoted 1 line
Quoted 1 line

zImage.initrd, works with the ramdisk image, so I think everything

is

Quoted 1 line
Quoted 1 line

setup ok with the kernel. I'm using a uImage and using mkimage on

my

Quoted 6 lines
Quoted 1 line

ramdisk also for u-boot.

The messages look to me like linux is finding, decompressing, etc. the RAM disk. It jumps the tracks sometime later.

Quoted 1 line

I realize it could be that I'm just loading the images in the RAM

such

Quoted 1 line
Quoted 1 line

that when the kernel gets uncompressed it stomps on the ram disk. I

have

Quoted 1 line
Quoted 1 line

tried moving to other addresses without any luck. When I look in

memory

Quoted 1 line
Quoted 1 line

where the ram disk was loaded by uboot, I can see the image fine

after

Quoted 30 lines
Quoted 10 lines

the kernel has paniced because it didn't find the root file system.

Is there something basic that I'm missing?

Thanks, appreciate any help,
John

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 ...

Quoted 7 lines
   Image Name:   Linux-2.6.26-rc8
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1536987 Bytes =  1.5 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

kernel check

Quoted 9 lines

## Loading RAMDisk Image at 01800000 ...
Image Name:
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1507104 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt at 0x1000000 Loading Ramdisk to 0fd35000, end 0fea4f20 ... OK

Quoted 7 lines

ramdisk check

Quoted 2 lines

Loading Device Tree to 007fc000, end 007fefff ... OK Loading Device Tree to 007fa000, end 007fcfff ... OK

fdt check, but why are there two of them??? I don't have access to a successful system boot at the moment, so I don't know if this is

normal

Quoted 5 lines

or not. I'm thinking not. Does your kernel have a device tree blob built in?

Quoted 2 lines

Using Xilinx Virtex machine description
Linux version 2.6.26-rc8 (linnj at wolfgang-pc) (gcc version 4.0.0

(DENX

Quoted 10 lines
Quoted 10 lines

ELDK 4.1 4.0.0)) #4 PREEMPT Tue Jul 8 14
:45:07 PDT 2008
Zone PFN ranges:
DMA 0 -> 131072
Normal 131072 -> 131072
Movable zone start PFN for each node
early_node_map[1] active PFN ranges

    0:        0 ->   131072

Built 1 zonelists in Zone order, mobility grouping on. Total pages:
130048

Quoted 8 lines
Quoted 8 lines

Kernel command line: console=ttyS0 ip=on root=/dev/ram Xilinx intc at 0xD0020200 mapped to 0xfdfff200
PID hash table entries: 2048 (order: 11, 8192 bytes)
clocksource: timebase mult[c800000] shift[22] registered
Console: colour dummy device 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 514432k/524288k available (3024k kernel code, 9332k

reserved,

Quoted 5 lines
Quoted 3 lines

128k data, 149k bss, 156k init)
Mount-cache hash table entries: 512
device-tree: Duplicate name in /, renamed to "chosen#1"

This is interesting. Looks like you have two /chosen nodes??? Is

this

Quoted 2 lines

related to having two "Loading Device Tree" messages? I don't know if/how this would be the problem, but my theory of making things work

is

Quoted 7 lines

to fix the known problems before debugging the unknown problems.

[snip]

Best regards,
gvb

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

author
#4 lore raw
In reply to Jerry Van Baren

One problem fixed, I had both CONFIG_OF_FLAT_TREE and CONFIG_OF_LIBFDT defined and that was causing the load of the device tree twice.

That didn't fix my initrd issue, but one less problem now. The kernel is still not seeing the initrd image.

-- John

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 ...

   Image Name:   Linux-2.6.26-rc8
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1536962 Bytes =  1.5 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Current stack ends at 0x0FEA5990 => set upper limit to 0x00800000 ## cmdline at 0x007FFF00 ... 0x007FFF3A

bd address  = 0x0FEA5E80
memstart    = 0x00000000
memsize     = 0x10000000
flashstart  = 0x00000000
flashsize   = 0x00000000
flashoffset = 0x00000000
sramstart   = 0x00000000
sramsize    = 0x00000000
bootflags   = 0x0FEA4C88
procfreq    =    400 MHz
plb_busfreq =     20 MHz
ethaddr     = 00:0A:35:01:02:03
IP addr     = 172.16.40.227
baudrate    =   9600 bps

Not skipping initrd
## Loading RAMDisk Image at 01800000 ...
Image Name:
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1507104 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt at 0x1000000
## initrd at 0x01800040 ... 0x0196FF5F (len=1507104=0x16FF20)
Loading Ramdisk to 0fd35000, end 0fea4f20 ... OK
## device tree at 0x01000000 ... 0x01002FFF (len=12288=0x3000)
Loading Device Tree to 007fc000, end 007fefff ... OK
## Transferring control to Linux (at address 00000000) ... Using Xilinx Virtex machine description
Linux version 2.6.26-rc8 (linnj at wolfgang-pc) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #6 PREEMPT Wed Jul 9 12
:36:41 PDT 2008
Zone PFN ranges:
DMA 0 -> 131072
Normal 131072 -> 131072
Movable zone start PFN for each node
early_node_map[1] active PFN ranges

    0:        0 ->   131072

Built 1 zonelists in Zone order, mobility grouping on. Total pages:
130048
Kernel command line: console=ttyS0 ip=on root=/dev/ram Xilinx intc at 0xD0020200 mapped to 0xfdfff200
PID hash table entries: 2048 (order: 11, 8192 bytes)
clocksource: timebase mult[a00000] shift[22] registered
Console: colour dummy device 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 514432k/524288k available (3024k kernel code, 9328k reserved, 128k data, 149k bss, 156k init)
Mount-cache hash table entries: 512
net_namespace: 624 bytes
NET: Registered protocol family 16
PCI: Probing PCI hardware
NET: Registered protocol family 2
IP route cache hash table entries: 16384 (order: 4, 65536 bytes) TCP established hash table entries: 65536 (order: 7, 524288 bytes) TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 65536 bind 65536) TCP reno registered
NET: Registered protocol family 1
Installing knfsd (copyright (C) 1996 okir at monad.swb.de). msgmni has been set to 1005
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
d0000000.serial: ttyS0 at MMIO 0xd0000003 (irq = 16) is a 16550A console [ttyS0] enabled
brd: module loaded
loop: module loaded
Device Tree Probing 'ethernet'
xilinx_lltemac 91200000.ethernet: MAC address is now 2: 0: 0: 0: 0: 0 xilinx_lltemac 91200000.ethernet: XLlTemac: using DMA mode.
XLlTemac: DCR address: 0x80
XLlTemac: buffer descriptor size: 32768 (0x8000)
XLlTemac: Allocating DMA descriptors with kmalloc<6>XLlTemac:
(buffer_descriptor_init) phy: 0x1f870000, virt:
0xdf870000, size: 0x8000
XTemac: PHY detected at address 7.
eth0: Dropping NETIF_F_SG since no checksum feature. xilinx_lltemac 91200000.ethernet: eth0: Xilinx TEMAC at 0x91200000 mapped to 0xE100E000, irq=17
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
Device Tree Probing 'i2c'
d0020000.i2c #0 at 0xD0020000 mapped to 0xE1010000, irq=20 TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
eth0: XLlTemac: Options: 0x3fa
eth0: XLlTemac: allocating interrupt 19 for dma mode tx.
eth0: XLlTemac: allocating interrupt 18 for dma mode rx.
eth0: XLlTemac: speed set to 100Mb/s
eth0: XLlTemac: Send Threshold = 24, Receive Threshold = 4
eth0: XLlTemac: Send Wait bound = 254, Receive Wait bound = 254 Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 149.199.109.235, my address is 172.16.40.12
IP-Config: Complete:

     device=eth0, addr=172.16.40.12, mask=255.255.255.0,
gw=172.16.40.254,
     host=172.16.40.12, domain=xilinx.com public.xilinx.com
xlnx.xilinx.com public.xsj.xilinx., nis-domain=xil
inx.com,
     bootserver=149.199.109.235, rootserver=149.199.109.235,
rootpath=/tmp
List of all partitions:
No filesystem could mount root, tried:  ext2 cramfs msdos vfat romfs
Kernel panic - not syncing: VFS: Unable to mount root fs on

unknown-block(1,0)
Rebooting in 180 seconds..

Quoted 6 lines

-----Original Message-----
From: Jerry Van Baren [mailto:gerald.vanbaren at ge.com]
Sent: Wednesday, July 09, 2008 1:08 PM
To: John Linn
Cc: u-boot-users at lists.sourceforge.net
Subject: Re: [U-Boot-Users] u-boot, powerpc with device tree, initrd

problem

Quoted 3 lines
Quoted 1 line · John Linn

I realize this could be posted to the linuxppc-dev also, but my

kernel

Quoted 1 line
Quoted 1 line

is running fine so I think it's a u-boot to kernel interface

problem. I

Quoted 1 line
Quoted 1 line

am able to pass a device tree to the kernel and get it to boot fine,

and

Quoted 3 lines
Quoted 3 lines

using NFS root also.

I can't get it to find my initrd ramdisk is my problem. A kernel

image,

Quoted 1 line
Quoted 1 line

zImage.initrd, works with the ramdisk image, so I think everything

is

Quoted 1 line
Quoted 1 line

setup ok with the kernel. I'm using a uImage and using mkimage on

my

Quoted 6 lines
Quoted 1 line

ramdisk also for u-boot.

The messages look to me like linux is finding, decompressing, etc. the RAM disk. It jumps the tracks sometime later.

Quoted 1 line

I realize it could be that I'm just loading the images in the RAM

such

Quoted 1 line
Quoted 1 line

that when the kernel gets uncompressed it stomps on the ram disk. I

have

Quoted 1 line
Quoted 1 line

tried moving to other addresses without any luck. When I look in

memory

Quoted 1 line
Quoted 1 line

where the ram disk was loaded by uboot, I can see the image fine

after

Quoted 30 lines
Quoted 10 lines

the kernel has paniced because it didn't find the root file system.

Is there something basic that I'm missing?

Thanks, appreciate any help,
John

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 ...

Quoted 7 lines
   Image Name:   Linux-2.6.26-rc8
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1536987 Bytes =  1.5 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

kernel check

Quoted 9 lines

## Loading RAMDisk Image at 01800000 ...
Image Name:
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1507104 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt at 0x1000000 Loading Ramdisk to 0fd35000, end 0fea4f20 ... OK

Quoted 7 lines

ramdisk check

Quoted 2 lines

Loading Device Tree to 007fc000, end 007fefff ... OK Loading Device Tree to 007fa000, end 007fcfff ... OK

fdt check, but why are there two of them??? I don't have access to a successful system boot at the moment, so I don't know if this is

normal

Quoted 5 lines

or not. I'm thinking not. Does your kernel have a device tree blob built in?

Quoted 2 lines

Using Xilinx Virtex machine description
Linux version 2.6.26-rc8 (linnj at wolfgang-pc) (gcc version 4.0.0

(DENX

Quoted 10 lines
Quoted 10 lines

ELDK 4.1 4.0.0)) #4 PREEMPT Tue Jul 8 14
:45:07 PDT 2008
Zone PFN ranges:
DMA 0 -> 131072
Normal 131072 -> 131072
Movable zone start PFN for each node
early_node_map[1] active PFN ranges

    0:        0 ->   131072

Built 1 zonelists in Zone order, mobility grouping on. Total pages:
130048

Quoted 8 lines
Quoted 8 lines

Kernel command line: console=ttyS0 ip=on root=/dev/ram Xilinx intc at 0xD0020200 mapped to 0xfdfff200
PID hash table entries: 2048 (order: 11, 8192 bytes)
clocksource: timebase mult[c800000] shift[22] registered
Console: colour dummy device 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 514432k/524288k available (3024k kernel code, 9332k

reserved,

Quoted 5 lines
Quoted 3 lines

128k data, 149k bss, 156k init)
Mount-cache hash table entries: 512
device-tree: Duplicate name in /, renamed to "chosen#1"

This is interesting. Looks like you have two /chosen nodes??? Is

this

Quoted 2 lines

related to having two "Loading Device Tree" messages? I don't know if/how this would be the problem, but my theory of making things work

is

Quoted 7 lines

to fix the known problems before debugging the unknown problems.

[snip]

Best regards,
gvb

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

#5 lore raw

Please don't top post.

Quoted 2 lines · John Linn

One problem fixed, I had both CONFIG_OF_FLAT_TREE and CONFIG_OF_LIBFDT defined and that was causing the load of the device tree twice.

FWIIW, CONFIG_OF_FLAT_TREE has been removed as of this window.

Quoted 4 lines

That didn't fix my initrd issue, but one less problem now. The kernel is still not seeing the initrd image.

-- John

You might try loading your dtb and then use the "fdt chosen" command to create the /chosen node and the "fdt bd" command to run the board-specific fixups. Do these as two separate steps and run "fdt print" in between to see what changes occur.

Quoted 43 lines

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 ...

   Image Name:   Linux-2.6.26-rc8
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1536962 Bytes =  1.5 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Current stack ends at 0x0FEA5990 => set upper limit to 0x00800000 ## cmdline at 0x007FFF00 ... 0x007FFF3A

bd address  = 0x0FEA5E80
memstart    = 0x00000000
memsize     = 0x10000000
flashstart  = 0x00000000
flashsize   = 0x00000000
flashoffset = 0x00000000
sramstart   = 0x00000000
sramsize    = 0x00000000
bootflags   = 0x0FEA4C88
procfreq    =    400 MHz
plb_busfreq =     20 MHz
ethaddr     = 00:0A:35:01:02:03
IP addr     = 172.16.40.227
baudrate    =   9600 bps

Not skipping initrd
## Loading RAMDisk Image at 01800000 ...
Image Name:
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1507104 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt at 0x1000000
## initrd at 0x01800040 ... 0x0196FF5F (len=1507104=0x16FF20)
Loading Ramdisk to 0fd35000, end 0fea4f20 ... OK
## device tree at 0x01000000 ... 0x01002FFF (len=12288=0x3000)
Loading Device Tree to 007fc000, end 007fefff ... OK
## Transferring control to Linux (at address 00000000) ... Using Xilinx Virtex machine description
Linux version 2.6.26-rc8 (linnj at wolfgang-pc) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #6 PREEMPT Wed Jul 9 12
:36:41 PDT 2008

[snip]

Quoted 17 lines

i2c /dev entries driver
Device Tree Probing 'i2c'
d0020000.i2c #0 at 0xD0020000 mapped to 0xE1010000, irq=20 TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
eth0: XLlTemac: Options: 0x3fa
eth0: XLlTemac: allocating interrupt 19 for dma mode tx.
eth0: XLlTemac: allocating interrupt 18 for dma mode rx.
eth0: XLlTemac: speed set to 100Mb/s
eth0: XLlTemac: Send Threshold = 24, Receive Threshold = 4
eth0: XLlTemac: Send Wait bound = 254, Receive Wait bound = 254 Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 149.199.109.235, my address is 172.16.40.12
IP-Config: Complete:

Quoted 7 lines
     device=eth0, addr=172.16.40.12, mask=255.255.255.0,
gw=172.16.40.254,
     host=172.16.40.12, domain=xilinx.com public.xilinx.com
xlnx.xilinx.com public.xsj.xilinx., nis-domain=xil
inx.com,
     bootserver=149.199.109.235, rootserver=149.199.109.235,

rootpath=/tmp

I don't *think* this causes problems, but your DHCP server is providing NFS configuration information. Does that override the ramdisk configuration?

Quoted 5 lines

List of all partitions:
No filesystem could mount root, tried: ext2 cramfs msdos vfat romfs

Kernel panic - not syncing: VFS: Unable to mount root fs on

unknown-block(1,0)
Rebooting in 180 seconds..

[snip]

HTH,
gvb

author
#6 lore raw
Quoted 6 lines

-----Original Message-----
From: Jerry Van Baren [mailto:gerald.vanbaren at ge.com]
Sent: Wednesday, July 09, 2008 2:27 PM
To: John Linn
Cc: u-boot-users at lists.sourceforge.net
Subject: Re: [U-Boot-Users] u-boot, powerpc with device tree, initrd

problem

[snip]

Quoted 2 lines

You might try loading your dtb and then use the "fdt chosen" command

to

Quoted 3 lines

create the /chosen node and the "fdt bd" command to run the board-specific fixups. Do these as two separate steps and run "fdt print" in between to see what changes occur.

I don't have any board specific fixups. We have the chosen already in the dts before I compile it to a blob. We do this because with the FPGA many people don't use a boot loader.

Quoted 34 lines
Quoted 34 lines

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 ...

   Image Name:   Linux-2.6.26-rc8
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1536962 Bytes =  1.5 MB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Current stack ends at 0x0FEA5990 => set upper limit to 0x00800000 ## cmdline at 0x007FFF00 ... 0x007FFF3A

bd address  = 0x0FEA5E80
memstart    = 0x00000000
memsize     = 0x10000000
flashstart  = 0x00000000
flashsize   = 0x00000000
flashoffset = 0x00000000
sramstart   = 0x00000000
sramsize    = 0x00000000
bootflags   = 0x0FEA4C88
procfreq    =    400 MHz
plb_busfreq =     20 MHz
ethaddr     = 00:0A:35:01:02:03
IP addr     = 172.16.40.227
baudrate    =   9600 bps
Not skipping initrd
## Loading RAMDisk Image at 01800000 ...
   Image Name:
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    1507104 Bytes =  1.4 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
Quoted 8 lines
Quoted 8 lines

Booting using the fdt at 0x1000000
## initrd at 0x01800040 ... 0x0196FF5F (len=1507104=0x16FF20)
Loading Ramdisk to 0fd35000, end 0fea4f20 ... OK
## device tree at 0x01000000 ... 0x01002FFF (len=12288=0x3000)
Loading Device Tree to 007fc000, end 007fefff ... OK
## Transferring control to Linux (at address 00000000) ... Using Xilinx Virtex machine description
Linux version 2.6.26-rc8 (linnj at wolfgang-pc) (gcc version 4.0.0

(DENX

Quoted 5 lines
Quoted 2 lines

ELDK 4.1 4.0.0)) #6 PREEMPT Wed Jul 9 12
:36:41 PDT 2008

[snip]

[snip]

Quoted 12 lines
Quoted 11 lines

Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 149.199.109.235, my address is 172.16.40.12
IP-Config: Complete:

     device=eth0, addr=172.16.40.12, mask=255.255.255.0,
gw=172.16.40.254,
     host=172.16.40.12, domain=xilinx.com public.xilinx.com
xlnx.xilinx.com public.xsj.xilinx., nis-domain=xil
inx.com,
     bootserver=149.199.109.235, rootserver=149.199.109.235,

rootpath=/tmp

Quoted 1 line

I don't *think* this causes problems, but your DHCP server is

providing

Quoted 2 lines

NFS configuration information. Does that override the ramdisk configuration?

I removed ip from the command line and it didn't help any.

Quoted 11 lines
Quoted 6 lines

List of all partitions:
No filesystem could mount root, tried: ext2 cramfs msdos vfat romfs

Kernel panic - not syncing: VFS: Unable to mount root fs on

unknown-block(1,0)
Rebooting in 180 seconds..

[snip]

HTH,
gvb

I added linux,initrd-start=<addr> and linux,initrd-end=<addr> to my dts file and the kernel now finds the initrd.

I found these properties in the code, but it doesn't seem right to need it, I must be still missing something.

Thanks,
John

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.