the kernel loads initrd (initial ram disk) as its root file system. initrd inturn load the actual root file system (some thing like chain boot loaders). On systems using initrd you would notice "umounting initrd" console message while booting.
Its not absolutely required. The reason for this is that device support can be added to initrd as module rather than being compiled as part of the kernel. Most initrd will contain ext3 fs module.
If you want to know what your initrd contains, try this