Problem about running kernel with root fs
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/
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' -darch/ppc/coffboot/vmlinux.gz\/opt/tftpboot/vmlinuxand 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 todb0fc000...
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/
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/