configuring INITRD on MCF5445x (linux-2.6.25)?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

configuring INITRD on MCF5445x (linux-2.6.25)?

1,712 次查看
w_wegner
Contributor III

Hi all,

I am trying to set up initrd on a MCF5445x to load kernel + initrd from a single U-Boot image.

 

What I have:

- LTIB configured for M54451EVB giving me a userspace filesystem

   (stripped down to around 10MB by deleting some apps + libs I do not currently need)

- U-Boot ported for my board (MCF54455@250MHz, 128MB DDR2)

- Kernel 2.6.25 ripped from LTIB and with slightly adapted configuration for my board

 

This is what I set in kernel .config:

[...]

CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="/daten/daten/router/uclinux-application/LTIB-MCF4e/ltib-mcfv4m-20090730/rootfs/"
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0

[...]

CONFIG_CRAMFS=y

[...]

CONFIG_ROMFS_FS=y

[...]

CONFIG_BOOTPARAM=y
CONFIG_BOOTPARAM_STRING="rootfstype=romfs ro"

This bootparam_string comes from an older MCF5373 kernel I have running successfully with initrd, so I would think it can not be too bad. Considering the size of the resulting image and the messages, the initramfs image is correctly generated.

 

However, when booting the image, I get:

 Linux version 2.6.25 (router@labor2.local) (gcc version 4.3.3 (Sourcery G++ Lite4.3-209) ) #23 Mon Mar 1 14:12:42 CET 2010
starting up linux startmem 0x406a6000, endmem 0x48000000, size 121MB
console [ttyS0] enabled
** availmem=0x406a8000 pa(am)=0x406a8000
** mstart=0x406a6000 mend=0x47ffe000
bpfn=0x20000 minpfn=0x20353 maxpfn=0x23fff
dma: phys base=0x406a8000 phys end=0x40ffffff virt base=0xef000000
mda=0xefffffff pa(mda)=0x40ffffff
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16312
Kernel command line: root=/dev/mtdblock1 rw rootfstype=jffs2 ip=none mtdparts=physmap-flash.0:5M(kernel)ro,-(jffs2)


[this is the kernel command line from the U-Boot environment - I did not yet change it because it seems not to have any effect anyways]

[...]

 **** nfs_data = 0x402d8000
**** nfs_data = 0x402d8000
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
List of all partitions:
0100 32767 ram0 (driver?)
0101 32767 ram1 (driver?)
0102 32767 ram2 (driver?)
0103 32767 ram3 (driver?)
No filesystem could mount root, tried: jffs2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

Can anybody point me to the location where the kernel gets this idea about NFS from?

 

Thank you,

Wolfgang

标签 (1)
0 项奖励
回复
2 回复数

656 次查看
w_wegner
Contributor III

Just to be sure I tried with another command line:

 

Kernel command line: root=/dev/ram0 ro rootfstype=romfs

[...]

 

 List of all partitions:
0100 32767 ram0 (driver?)
0101 32767 ram1 (driver?)
0102 32767 ram2 (driver?)
0103 32767 ram3 (driver?)
No filesystem could mount root, tried: romfs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

At least the NFS stuff is gone, however, still no usable root fs...

0 项奖励
回复

656 次查看
w_wegner
Contributor III

Hi all,

 

again, it was my fault.

I thought I had set ltib to output an initramfs image/filesystem, but did not check this.

So I ended up with /init missing, thus the kernel correctly skipped this initramfs and tried to mount the "real" root, which was not present.

 

So the setup of the kernel was perfectly valid, all that was missing was a link to busybox from /init in the initramfs source.

 

Regards,

Wolfgang

 

0 项奖励
回复