I am trying to boot Linux kernel version 3.2.0 from USB drive.
I formatted the USB drive with ext4 partition. I installed GRUB on it, and I copied two files, vmlinuz-3.2.0-29-generic and initrd.img-3.2.0-29-generic from my laptop's /boot folder into USB drive's boot folder.
Then, I mounted the USB drive to /mnt and ran grub-mkconfig -o /mnt/boot/grub/grub.cfg to make grub.cfg file in it.
Then, I tried to add my kernel details to grub.cfg file as follows :
menuentry "my kernel" --class gnu-linux --class gnu --class os recordfail insmod gzio insmod part_msdos insmod ext4 set root='(hd0)' echo "Loading my kernel" linux /boot/vmlinuz-3.2.0-29-generic root=UUID=db2687dc-8c42-485e-a152-ef821590b113 ro quiet splash echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.2.0-29-generic
However, the GRUB list does not show my kernel but just lists the same OS lists when I boot GRUB from my laptop's hard disk. Is the kernel really on the (hd0)? How to add the kernel's entry in the GRUB menu of USB drive? Also, is this way correct to boot a kernel from USB drive? Does the initrd.img file, which is there in my /boot directory still valid when I copied the kernel to USB drive? If not, How to generate new initrd.imf file for the kernel on USB?