Yes that works quite well on my boxes. I made links to the kernel and initrd so I don't have to remake the cdrom every time the kernel gets updated. You just need to redo the link on your system. For example, here is what my current FC4 kernel and link looks like...
Code:
lrwxrwxrwx 1 root root 28 Aug 2 13:47 initrd.img -> initrd-2.6.12-1.1398_FC4.img
-rw-r--r-- 1 root root 762852 Jul 15 01:19 System.map-2.6.12-1.1398_FC4
lrwxrwxrwx 1 root root 25 Aug 2 13:47 vmlinuz -> vmlinuz-2.6.12-1.1398_FC4
Now onto making the grub boot cdrom . My Fedora system is on /dev/hdb2 so you can change that to your needs.
Code:
cd /home
mkdir -p iso/boot/grub
cp /boot/grub/menu.lst /home/iso/boot/grub
cp /boot/grub/stage* /home/iso/boot/grub
cp /boot/grub/iso9660_stage1_5 /home/iso/boot/grub
mkisofs -R -b boot/grub/iso9660_stage1_5 -no-emul-boot \
-boot-load-size 4 -boot-info-table -o grub.iso iso
Change the menu.lst from ro root=LABEL=/ rhgb quiet to root=/dev/hdb2 rhgb quiet
color light-gray/blue black/light-gray
title *=*=*=*=*=*=*=*=*=*=*=*=* CDROM BOOT MENU *=*=*=*=*=*=*=*=*=*=*=*=*=*
root (hd0)
title Windows
rootnoverify (hd0,0)
chainloader +1
title Fedora Core
root (hd1,1)
kernel /boot/vmlinuz ro root=/dev/hdb2 rhgb quiet
initrd /boot/initrd.img
cdrecord -v speed=4 dev=0,0,0 -data grub.iso