I want to customize initrd so that I can run my application once vmlinuz loads initrd. (similar to dos booting - dos runs autoexec.bat)

I copied vmlinuz & initrd from RHEL4 ISO.
Mounted initrd
renamed 'linuxrc' exe to linuxrc1
created new script linuxrc
called linuxrc1 from linuxrc script
called my application from linuxrc script.

But I receive "kernel panic" error:
EXT2-fs: unable to read superblock
isofs_fill_super: bread failed. dev=md1. iso_blknum=16. block=32
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block(9,1)

I also tried creating initrd from scratch using link:

I still receive similar error.

Can someone please guide me or point me at appropriate url.
Im here trying to create customize initrd for recovery purpose.