Making a livecd without initrd or initramfs
I trying to make a livecd pretty much out of curiosity. I read online on wikipedia and some of the place through google that we need the initrd to provide the modules which we would need when the kernel boots up. But since putting those modules into the kernel image would have made the kernel too big , we put them together in the initrd. This initrd also provide the inital root file system to the kernel and therefore the kernel should have the support for the initrd's file system built into it.
So when the kernel bootloader hands over the control to the kernel along with the location of the initrd, the latter provides an initial root file system which is later mounted in a different location and later unmounted and the file system on the secondary media is mounted as the root file system.
However this brings two questions to my mind which seem to be interrelated :
1. Does the kernel really need a root file system?
2. Also, do we need to have the initrd file provide it ? Is it possible to have this support to be built right into the kernel?
If it is possible to boot linux without a root file system or without initrd then please also guide me on how we can do that.