u-boot, powerpc with device tree, initrd problem
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 onunknown-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.
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
0x1c000000x18000000x1000000
## Booting image at01c00000...
Quoted 7 lines
Image Name: Linux-2.6.26-rc8 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1536987 Bytes = 1.5 MBLoad 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 at0x1000000Loading Ramdisk to0fd35000, end0fea4f20... OK
ramdisk check
Quoted 2 lines
Loading Device Tree to
007fc000, end007fefff... OK Loading Device Tree to007fa000, end007fcfff... 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 ranges0: 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 at0xD0020200mapped to0xfdfff200
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
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
0x1c000000x18000000x1000000
## Booting image at01c00000...Quoted 7 lines
Image Name: Linux-2.6.26-rc8 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1536987 Bytes = 1.5 MBLoad Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OKkernel 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 at0x1000000Loading Ramdisk to0fd35000, end0fea4f20... OK
Quoted 7 lines
ramdisk check
Quoted 2 lines
Loading Device Tree to
007fc000, end007fefff... OK Loading Device Tree to007fa000, end007fcfff... OKfdt 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 ranges0: 0 -> 131072Built 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
0xD0020200mapped to0xfdfff200
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.
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
0x1c000000x18000000x1000000
## Booting image at01c00000...Quoted 7 lines
Image Name: Linux-2.6.26-rc8 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1536987 Bytes = 1.5 MBLoad Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OKkernel 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 at0x1000000Loading Ramdisk to0fd35000, end0fea4f20... OK
Quoted 7 lines
ramdisk check
Quoted 2 lines
Loading Device Tree to
007fc000, end007fefff... OK Loading Device Tree to007fa000, end007fcfff... OKfdt 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 ranges0: 0 -> 131072Built 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
0xD0020200mapped to0xfdfff200
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.
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: 512net_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 onunknown-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
0x1c000000x18000000x1000000
## Booting image at01c00000...Quoted 7 lines
Image Name: Linux-2.6.26-rc8 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1536987 Bytes = 1.5 MBLoad Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OKkernel 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 at0x1000000Loading Ramdisk to0fd35000, end0fea4f20... OK
Quoted 7 lines
ramdisk check
Quoted 2 lines
Loading Device Tree to
007fc000, end007fefff... OK Loading Device Tree to007fa000, end007fcfff... OKfdt 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 ranges0: 0 -> 131072Built 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
0xD0020200mapped to0xfdfff200
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.
Please don't top post.
Quoted 2 lines · John Linn
One problem fixed, I had both
CONFIG_OF_FLAT_TREEandCONFIG_OF_LIBFDTdefined 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
0x1c000000x18000000x1000000
## Booting image at01c00000...Image Name: Linux-2.6.26-rc8 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1536962 Bytes = 1.5 MBLoad Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Current stack ends at0x0FEA5990=> set upper limit to0x00800000## cmdline at0x007FFF00...0x007FFF3Abd 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 bpsNot 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 at0x1000000
## initrd at0x01800040...0x0196FF5F(len=1507104=0x16FF20)
Loading Ramdisk to0fd35000, end0fea4f20... OK
## device tree at0x01000000...0x01002FFF(len=12288=0x3000)
Loading Device Tree to007fc000, end007fefff... 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 at0xD0020000mapped to0xE1010000, 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 romfsKernel panic - not syncing: VFS: Unable to mount root fs onunknown-block(1,0)
Rebooting in 180 seconds..
[snip]
HTH,
gvb
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
0x1c000000x18000000x1000000
## Booting image at01c00000...Image Name: Linux-2.6.26-rc8 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1536962 Bytes = 1.5 MBLoad Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Current stack ends at0x0FEA5990=> set upper limit to0x00800000## cmdline at0x007FFF00...0x007FFF3Abd 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 at0x01800040...0x0196FF5F(len=1507104=0x16FF20)
Loading Ramdisk to0fd35000, end0fea4f20... OK
## device tree at0x01000000...0x01002FFF(len=12288=0x3000)
Loading Device Tree to007fc000, end007fefff... 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 romfsKernel panic - not syncing: VFS: Unable to mount root fs onunknown-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.