Also, you must use initrd to use labels in fstab
This is not true. An initrd is only _required_ if you have not compiled into the kernel a module necessary for boot.
I'm sorry, but that's just not the case.
You /must/ have a ram disk to use a label on your boot partition. Think about it for a second, it makes perfect sense.
http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/sysadmin-guide/s1-kernel-initrd.html
If the system uses the ext3 file system, a SCSI controller, or uses labels to reference partitions in /etc/fstab, an initial RAM disk is needed. The initial RAM disk allows a modular kernel to have access to modules that it might need to boot from before the kernel has access to the device where the modules normally reside.