I am trying to test out a custom firmware that is supposed to be loaded to a router board.  The test is done using QEMU.  I... <div><br></div><div><ol><li>build the kernel and initrd using the tools from the board manufacturer.</li>
<li>used qemu-img to create a raw disk image</li><li>mkfs.ext2 to format the image</li><li>mounted the image to my Ubuntu filesystem as a loop device</li><li>used debootstrap to build a minimal filesystem, plus added tools required for the board to run</li>
<li>copied over the kernel and initrd to /boot on the mounted filesystem</li><li>chrooted into the system to setup grub menu.1st, etc</li><li>exited out of and booted the router system using QEMU</li></ol><div>No matter what I do, Grub gives up and throws an error about not being able to read the filesystem.  I know the ext2 driver is in the initrd.</div>
</div><div>Manually setting up the partition info and telling Grub to boot from the prompt gives the same error.</div><div><br></div><div>Is there something else I should be looking for?  My understanding of the Linux boot process might be fuzzy here, plus I am not that familiar with Grub.  </div>
<div>It&#39;s what was recommended to test inside QEMU.</div>