Skip to contentSkip to conversation

Problem about running kernel with root fs

DISCUSSION Carl Lin 3 participants 3 messages Mar 19, 2001

lore
Share & tools
lore

Carl Lin

author
#0 lore raw

Please help :

I try to run Linux kernel 2.4.0-test13-pre2 (ramdisk size =4096KB and initrd supported) with a root fs (hello.rfs from BlueCat) on a board equivalent to TQM855L with the following configuration :

  memstart    = 0x00000000
  memsize     = 0x01000000
  flashstart  = 0x02800000
  flashsize   = 0x00200000
  flashoffset = 0x00044000
  sramstart   = 0x00000000
  sramsize    = 0x00000000
  immr_base   = 0xff000000
  bootflags   = 0x00000001

........................
bootcmd=bootm 2800100
baudrate=9600
ethaddr=00:03:54:00:00:94
bootfile=/opt/tftpboot/vmlinux
bootargs=root=/dev/ram

When I "mkimage" with a single kernel image by

mkimage -A ppc -O linux -T kernel -C gzip -a 0 -e 0 \
-n 'test' -d arch/ppc/coffboot/vmlinux.gz \
/opt/tftpboot/vmlinux

and download it to the board, it runs as following :

Linux version 2.4.0-test13-pre2
Boot arguments: root=/dev/ram
..................................
Kernel command line: root=/dev/ram
..................................
Memory: 14752k available (956k kernel code,........
..................................
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
...................................................
VFS: Cannot open root device "ram" or 01:00 Please append a correct "root=" boot option

Kernel panic: VFS: Unable to mount root fs on 01:00

When I "mkimage" with the kernel and the root fs by

mkimage -A ppc -O linux -T multi -C gzip -a 0 -e 0 \
-n 'test' -d arch/ppc/coffboot/vmlinux.gz:hello.rfs \
/opt/tftpboot/vmlinux

and download it to the board, the "imi" shows

## Checking Image at 00100000 ...

   Image Name:   test
   Image Type:   PowerPC Linux Multi-File Image (gzip...
   Data Size:    629184 Bytes = 614 kB = 0 MB

Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 516095 Bytes = 503 kB = 0 MB
Image 1: 113076 Bytes = 110 kB = 0 MB
Verifying Checksum ... OK

And, it runs as

## Booting Linux kernel at 00100000 ...

   Image Name:   test
   Image Type:   PowerPC Linux Multi-File Image (gzip...
   Data Size:    629184 Bytes = 614 kB = 0 MB

Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 516095 Bytes = 503 kB = 0 MB
Image 1: 113076 Bytes = 110 kB = 0 MB
Verifying Checksum ... OK
Uncompressing Multi-File Image ... OK
Loading Ramdisk to db0fc000 ...

and then HALT forever!

What's wrong ?

---------------------------------------------------
Carl Lin [email protected]

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#1 lore raw
Quoted 5 lines · In message <[email protected]> Carl Lin wrote:

I try to run Linux kernel 2.4.0-test13-pre2 (ramdisk size =4096KB and initrd supported) with a root fs (hello.rfs from BlueCat) on a board equivalent to TQM855L with the following configuration :

...

Quoted 1 line

bootcmd=bootm 2800100

That's a strange address to start an image at...

...

Quoted 20 lines

When I "mkimage" with a single kernel image by

mkimage -A ppc -O linux -T kernel -C gzip -a 0 -e 0 \
-n 'test' -d arch/ppc/coffboot/vmlinux.gz \
/opt/tftpboot/vmlinux

and download it to the board, it runs as following :

Linux version 2.4.0-test13-pre2
Boot arguments: root=/dev/ram
..................................
Kernel command line: root=/dev/ram
..................................
Memory: 14752k available (956k kernel code,........
..................................
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
...................................................
VFS: Cannot open root device "ram" or 01:00 Please append a correct "root=" boot option

Quoted 1 line
Kernel panic: VFS: Unable to mount root fs on 01:00

If you boot a plain kernel image with "bootm kernel_addr", there is no ramdisk image passed to the kernel, so it cannot work.

If you want to boot a kernel at "kernel_addr" with a separate ramdisk image at "ramdisk_addr" you have to use the command
"bootm kernel_addr ramdisk_addr".

Quoted 5 lines

When I "mkimage" with the kernel and the root fs by

mkimage -A ppc -O linux -T multi -C gzip -a 0 -e 0 \
-n 'test' -d arch/ppc/coffboot/vmlinux.gz:hello.rfs \
/opt/tftpboot/vmlinux

...

Quoted 4 lines

## Booting Linux kernel at 00100000 ...

   Image Name:   test
   Image Type:   PowerPC Linux Multi-File Image (gzip...
   Data Size:    629184 Bytes = 614 kB = 0 MB
Quoted 8 lines

Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 516095 Bytes = 503 kB = 0 MB
Image 1: 113076 Bytes = 110 kB = 0 MB
Verifying Checksum ... OK
Uncompressing Multi-File Image ... OK
Loading Ramdisk to db0fc000 ...

Is that really the load address? 0xdb0fc000? That should not happen. You cannot have THAT much RAM on your board.

Wolfgang Denk

--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: [email protected] Copy from one, it's plagiarism; copy from two, it's research.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#2 lore raw
In reply to Carl Lin
Quoted 7 lines · Carl Lin

Please help :

I try to run Linux kernel 2.4.0-test13-pre2 (ramdisk size =4096KB and initrd supported) with a root fs (hello.rfs from BlueCat) on a board equivalent to TQM855L with the following configuration :

As far as I know the BlueCat Root File System (RFS) is not exactly the same thing than initrd. The RFS is similar to the one used on LynxOS. On a BlueCat Linux kernel you must set CONFIG_BLUECAT_RFS (and unset CONFIG_BLK_DEV_INITRD) to enable the BlutCat RFS kernel extension but I guess the kernel you use is not from BlueCat anyhow. There are also differences in the way the rootfs is setup at boot time.

Hope this helps,

Wolfgang.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/