I am trying to set up a system to prepare a Linux system on a virtual machine and then deploy it onto an SD card. The target system has an Atom processor, so there aren't architecture compatibility concerns.
Do any of the mount points have to be in a special, physical location for this to work or can GRUB grok the filesystem?
How do I set up the SD card to boot this system using GRUB?
Would it be better to rsync the filesystem over or dd a filesystem image? I much prefer the former because I don't have to change my VM much when going between different card sizes.
I assume that I'll have to prepare the card before hand using something like parted, then I'll have to install GRUB to it, which isn't a big deal.
The major question is, will GRUB find the kernel if it isn't in a guaranteed, physical place on the partition? In other words, is GRUB smart enough to read an ext2, ext3, or ext4 partition and find the appropriate mount points?
My disk will look something like this (2 partitions):
[GRUB] [grub loader stuff] [GRUB partition] [OS partition]