Failed to mount rootfs
From: Bizhan Gholikhamseh (bgholikh) <hidden>
Date: 2008-01-24 22:04:31
Hi All, Our custom board is leveraged from MPC8541cds from freescale. We have been running Linux 2.6.11 on it recently I have tried to boot the system with the latest Linux 2.6.22-rc4 from PowerPC git tree. I did ported the libfdt to our older version of the uboot and were able to resolve the device tree. After downloading the uImage, dtb file and ramdisk I use the bootm command to boot the linux, but it failes.. ........................................................................ ................... driver initialized: 16 RAM disks of 4096K size 1024 blocksize VFS: Cannot open root device "<NULL>" or unknown-block(0,0) Please append a correct "root=" boot option; here are the available partitions: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Rebooting in 180 seconds.. ........................................................................ ............... During boot I observeed that the "kernel Command Line:" is empty, is this parameter should be supplied by fdt also? I have copied the boot log and dump of the device tree below, Any help greatly appreicate it. Thanks, Last Reset Type: Power On FLASH: 8 MB L2 cache 256KB:enabled In: serial Out: serial Err: serial Net: TSEC0. IDE: Compact Flash: Bus 0: OK Device 0: Model: STI Flash 7.4.0 Firm: 01.25.06 Ser#: STI J106306241050439 Type: Hard Disk Capacity: 245.0 MB = 0.2 GB (501760 x 512) System watchdog: is now stopped. => printenv bootcmd=setenv bootargs root=/dev/hda2 rw console=$consoledev,$baudrate $othbootargs;setenv autostart yes;diskboot $l; nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostnar bootdelay=2 baudrate=115200 loads_echo=1 rootpath=/nfsroot hostname=unknown loadaddr=1000000 netdev=eth0 consoledev=ttyS1 ramdiskaddr=1000000 ramdiskfile=ramdisk.UBoot ethact=TSEC0 firstboot=no bootargs=root=/dev/ram rw console=ttyS1,115200 fdfile=biz3.dtb bootfile=uImage ramboot=setenv bootargs root=/dev/ram rw console=ttyS1,115200 filesize=80000 fileaddr=100000 ipaddr=172.28.176.13 serverip=172.28.176.140 stdin=serial stdout=serial stderr=serial ethaddr=00:18:18:8f:a6:ac eth1addr=00:18:18:8f:a6:ad eth2addr=00:18:18:8f:a6:ae pid=CTS-CODEC-PRIM= serial=FSJC0537522 ver_id=V01 hwver=0400 ver=U-boot 1.1.2(pq3-20050113-0) (Jan 20 2008 - 18:03:58) Environment size: 1050/8188 bytes => tftp 100000 uImage Using TSEC0 device TFTP from server 172.28.176.140; our IP address is 172.28.176.13 Filename 'uImage'. Load address: 0x100000 Loading: ################################################################# ########################################################### done Bytes transferred = 629989 (99ce5 hex) => tftp 2000000 ramdisk.u-boot Using TSEC0 device TFTP from server 172.28.176.140; our IP address is 172.28.176.13 Filename 'ramdisk.u-boot'. Load address: 0x2000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# done Bytes transferred = 15622378 (ee60ea hex) => tftp c00000 board.dtb Using TSEC0 device TFTP from server 172.28.176.140; our IP address is 172.28.176.13 Filename 'board.dtb'. Load address: 0xc00000 Loading: # done Bytes transferred = 4273 (10b1 hex) => bootm 100000 2000000 c00000 ## Booting image at 00100000 ... Image Name: Linux-2.6.22-rc4-geff2ebd2-dirty Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 629925 Bytes = 615.2 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK
quoted
quoted
inside do_bootm_linux <<<<
## Loading RAMDisk Image at 02000000 ...
Image Name: MPC85xxCDS MTWKS Ramdisk
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 15622314 Bytes = 14.9 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using flat device tree at 0xc00000
Loading Ramdisk to 1ef33000, end 1fe190aa ... OK vfpga watchdog not
supported in this CTS version. Keeping watchdog disabled System
watchdog: is now stopped.
## Transferring control to Kernel (at address 00000000) ...
Using MPC85xx CDS machine description
Memory CAM mapping: CAM0=256Mb, CAM1=256Mb, CAM2=0Mb residual: 0Mb Linux
version 2.6.22-rc4-geff2ebd2-dirty (bizhan@bizhanhost.cisco.com) (gcc
version 3.4.3) #6 Sun Jan 20 22:51:26 PST8
setup_arch: bootmem
mpc85xx_cds_setup_arch()
CDS Version = 0xff in slot 4
Found MPC85xx PCI host bridge at 0x00000000e0008000. Firmware bus
number: 0->0 Found MPC85xx PCI host bridge at 0x00000000e0009000.
Firmware bus number: 0->0
arch: exit
Zone PFN ranges:
DMA 0 -> 131072
Normal 131072 -> 131072
early_node_map[1] active PFN ranges
0: 0 -> 131072
Built 1 zonelists. Total pages: 130048
Kernel command line:
mpic: Setting up MPIC " OpenPIC " version 1.2 at e0040000, max 1 CPUs
mpic: ISU size: 4, shift: 2, mask: 3
mpic: Initializing for 60 sources
PID hash table entries: 2048 (order: 11, 8192 bytes) Dentry cache hash
table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table
entries: 32768 (order: 5, 131072 bytes)
Memory: 502528k/524288k available (1224k kernel code, 21196k reserved,
64k data, 108k bss, 116k init) Mount-cache hash table entries: 512
device-tree: Duplicate name in /, renamed to "chosen#1"
PCI: Probing PCI hardware
PCI: Cannot allocate resource region 0 of device 0000:00:16.0
PCI: Cannot allocate resource region 1 of device 0000:00:16.0
PCI: Cannot allocate resource region 0 of device 0000:00:19.0
PCI: Cannot allocate resource region 2 of device 0000:00:19.0
PCI: Cannot allocate resource region 0 of device 0001:00:15.0
PCI: Cannot allocate resource region 1 of device 0001:00:15.0
PCI: Cannot allocate resource region 2 of device 0001:00:15.0 io
scheduler noop registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 26) is a 16550A....?50.0:
ttyS1 at MMIO 0xe0004600 (irq = 26) is a 16 A
] RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
VFS: Cannot open root device "<NULL>" or unknown-block(0,0) Please
append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(0,0) Rebooting in 180 seconds..
And here is the device tree:
/memreserve/ a 0;
{
model = "MPC8541CDS";
compatible = [4d 50 43 38 35 34 31 43 44 53 00 4d 50 43 38 35 78 78
43 44 53 00];
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
PowerPC,8541@0 {
device_type = "cpu";
reg = <0>;
d-cache-line-size = <20>;
i-cache-line-size = <20>;
d-cache-size = <8000>;
i-cache-size = <8000>;
timebase-frequency = <1f78a40>;
bus-frequency = <fbc5200>;
clock-frequency = <1f78a400>;
32-bit;
};
};
memory {
device_type = "memory";
reg = <8>;
};
soc8541@e0000000 {
#address-cells = <1>;
#size-cells = <1>;
#interrupt-cells = <2>;
device_type = "soc";
ranges = [00 00 00 00 e0 00 00 00 00 10 00 00];
reg = <8>;
bus-frequency = <0>;
memory-controller@2000 {
compatible = "fsl,8541-memory-controller";
reg = <8>;
interrupt-parent = <1>;
interrupts = <8>;
};
l2-cache-controller@20000 {
compatible = "fsl,8541-l2-cache-controller";
reg = <8>;
cache-line-size = <20>;
cache-size = <40000>;
interrupt-parent = <1>;
interrupts = <8>;
};
i2c@3000 {
device_type = "i2c";
compatible = "fsl-i2c";
reg = <8>;
interrupts = <8>;
interrupt-parent = <1>;
dfsrr;
};
mdio@24520 {
#address-cells = <1>;
#size-cells = <0>;
device_type = "mdio";
compatible = "gianfar";
reg = <8>;
ethernet-phy@0 {
interrupt-parent = <1>;
interrupts = <8>;
reg = <0>;
device_type = "ethernet-phy";
linux,phandle = <2>;
};
ethernet-phy@1 {
interrupt-parent = <1>;
interrupts = <8>;
reg = <1>;
device_type = "ethernet-phy";
};
};
ethernet@24000 {
#address-cells = <1>;
#size-cells = <0>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <8>;
local-mac-address = [00 18 18 8f a6 ac];
interrupts = [00 00 00 0d 00 00 00 02 00 00 00 0e 00 00 00
02 00 00 00 12 00 00 00 02];
interrupt-parent = <1>;
phy-handle = <2>;
};
serial@4500 {
device_type = "serial";
compatible = "ns16550";
reg = <8>;
clock-frequency = <fbc5200>;
interrupts = <8>;
interrupt-parent = <1>;
};
serial@4600 {
device_type = "serial";
compatible = "ns16550";
reg = <8>;
clock-frequency = <fbc5200>;
interrupts = <8>;
interrupt-parent = <1>;
};
pci@8000 {
interrupt-map-mask = [00 01 f8 00 00 00 00 00 00 00 00 00 00
00 00 07];
interrupt-map = [00 00 80 00 00 00 00 00 00 00 00 00 00 00
00 04 00 00 00 01 00 00 00 30 00 00 00 01 00 0;
interrupt-parent = <1>;
interrupts = <8>;
bus-range = <8>;
ranges = [02 00 00 00 00 00 00 00 80 00 00 00 80 00 00 00 00
00 00 00 20 00 00 00 01 00 00 00 00 00 00 00;
clock-frequency = <3f940aa>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <8>;
compatible = "85xx";
device_type = "pci";
linux,phandle = <3>;
i8259@19000 {
clock-frequency = <0>;
interrupt-controller;
device_type = "interrupt-controller";
reg = [00 01 90 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 01];
#address-cells = <0>;
#interrupt-cells = <2>;
built-in;
compatible = "chrp,iic";
big-endian;
interrupts = <1>;
interrupt-parent = <3>;
};
};
pci@9000 {
interrupt-map-mask = [00 00 f8 00 00 00 00 00 00 00 00 00 00
00 00 07];
interrupt-map = [00 00 a8 00 00 00 00 00 00 00 00 00 00 00
00 01 00 00 00 01 00 00 00 3b 00 00 00 01 00 0;
interrupt-parent = <1>;
interrupts = <8>;
bus-range = <8>;
ranges = [02 00 00 00 00 00 00 00 a0 00 00 00 a0 00 00 00 00
00 00 00 20 00 00 00 01 00 00 00 00 00 00 00;
clock-frequency = <3f940aa>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <8>;
compatible = "85xx";
device_type = "pci";
};
pic@40000 {
clock-frequency = <0>;
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <2>;
reg = <8>;
built-in;
compatible = "chrp,open-pic";
device_type = "open-pic";
big-endian;
linux,phandle = <1>;
};
};
chosen {
linux,stdout-path = "/soc8541@e0000000/serial@4600";
};
chosen {
name = "chosen";
bootargs = "root=/dev/ram rw console=ttyS1,115200";
linux,platform = <600>;
linux,initrd-start = <1ef33000>;
linux,initrd-end = <1fe190aa>;
linux,stdout-path = "/soc8541@e0000000/serial@4600";
};
};