안녕하세요. u-boot에서 ezboot로 갈아타는데 마지막 고비가 될 듯 하네요.

저희가 기존에 Ramdisk를 사용해서 마운트를 하고 있었는데


기존 u-boot의 command line은 roo=/dev/ram0 rootfstype=ext2이고 

MTD Partition은 아래와 같습니다.

Creating 7 MTD partitions on "NAND 128MiB 3,3V 8-bit":

0x000000000000-0x000000100000 : "BootLoader"

0x000000100000-0x000000200000 : "Environment"

0x000000200000-0x000000400000 : "Kernel"

0x000000400000-0x000001400000 : "RootFS"

0x000001400000-0x000004000000 : "Library"

0x000004000000-0x000006000000 : "Data 1"

0x000006000000-0x000008000000 : "Data 2"


기존 커널 부팅시 관련된 내용을 살펴보자면 

Trying to unpack rootfs image as initramfs...

rootfs image is not initramfs (no cpio magic); looks like an initrd

Freeing initrd memory: 13244K

.....

RAMDISK: gzip image found at block 0

EXT2-fs warning: checktime reached, running e2fsck is recommended

VFS: Mounted root (ext2 filesystem) on device 1:0.

Freeing init memory: 200K

Warning: unable to open an initial console.

yaffs: dev is 32505860 name is "mtdblock4"

yaffs: passed flags ""

yaffs: Attempting MTD mount on 31.4, "mtdblock4"

block 90 is bad

yaffs: dev is 32505861 name is "mtdblock5"

yaffs: passed flags ""

yaffs: Attempting MTD mount on 31.5, "mtdblock5"

yaffs: dev is 32505862 name is "mtdblock6"

yaffs: passed flags ""

yaffs: Attempting MTD mount on 31.6, "mtdblock6"

block 33 is bad


위와 같습니다.


그러나 ezboot를 사용하면 

kernel command [mem=128M initrd=0x32000000 ramdisk=16384 root=/dev/ram rootfstype=ext2 console=ttySAC0,115200


Trying to unpack rootfs image as initramfs...

rootfs image is not initramfs (junk in compressed archive) looks like an initrd

Freeing initrd memory: 16384K

...

List of all partitions:

1f00            1024 mtdblock0 (driver?)

1f01            1024 mtdblock1 (driver?)

1f02            2048 mtdblock2 (driver?)

1f03           16384 mtdblock3 (driver?)

1f04           45056 mtdblock4 (driver?)

1f05           32768 mtdblock5 (driver?)

1f06           32768 mtdblock6 (driver?)

No filesystem could mount root, tried:  ext2

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

Backtrace:

[<c003e874>] (dump_backtrace+0x0/0x104) from [<c003e990>] (dump_stack+0x18/0x1c)

 r7:c7855000 r6:c034f85c r5:ffffffea r4:c7817f60

[<c003e978>] (dump_stack+0x0/0x1c) from [<c00577b8>] (panic+0x40/0x10c)

[<c0057778>] (panic+0x0/0x10c) from [<c0008fd4>] (mount_block_root+0x260/0x2b4)

 r3:00000000 r2:80000000 r1:c7817f60 r0:c02f2508

[<c0008d74>] (mount_block_root+0x0/0x2b4) from [<c0009178>] (mount_root+0x54/0x6

[<c0009124>] (mount_root+0x0/0x6c) from [<c0009300>] (prepare_namespace+0x170/0x

 r5:c0024888 r4:c034f1e4

[<c0009190>] (prepare_namespace+0x0/0x1d0) from [<c0008bec>] (kernel_init+0xb8/0

 r5:c0022f1c r4:c034f1d8

[<c0008b34>] (kernel_init+0x0/0xe4) from [<c0059c94>] (do_exit+0x0/0x588)

 r5:00000000 r4:00000000


위와 같이 rootfs를 램디스크로 마운트가 안되는 현상이 발생합니다.

램디스크 제작된 결과는 아래와 같습니다.
32768+0 레코드 들어옴
32768+0 레코드 나감
33554432 바이트 (34MB) 복사됨, 6.42896초, 5.2MB/초
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
8192 inodes, 32768 blocks
1638 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33554432
4 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
              8193, 24577

Writing inode tables: done
Writing superblocks and filesystem accounting infomation: done

This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Image Name :    Ramdisk
Created:            Sat Dec 29 00:47:55 2012
Image Type:      ARM Linux RAMDisk Image (gzip compressed)
Data Size :        13574546 Bytes = 13256.39 kB = 12.95 MB
Load Address:  30800000
Entry Point:       30800000

커널과 램디스크의 메모리 배치는  아래와 같습니다.
Copy Kernel Image .....
 >part_nr=3, dev_type=1, addr=0x200000, size=2097152(2MB), dest=0x31000000
Copy Ramdisk Image .....
 >part_nr=4, dev_type=1, addr=0x400000, size=16777216(16MB), dest=0x32000000

실제 커널이미지 zImage의 사이즈는 약 1.7MB정도입니다.

조언 부탁드립니다.