This bug is present now because eucalyptus-nc added a dependency on grub-pc. I believe that this caused grub-pc to get installed earlier in the installation process, before some other things were properly set up.
The reason for the dependency on grub-pc is that eucalyptus-nc is creating a boot floppy (no, I'm not kidding) using grub-mkrescue. That is done in mk-mb-loader [1]. grub-rescue depends on a functional grub-mkimage, and to create bootable content for a "pc" system, that depends on files inside grub-pc (the content of /usr/lib/grub/i386-pc/).
One solution to this would be to provide the contents of /usr/lib/grub/i386-pc in a separate package , and maybe in general all of the /usr/lib/grub/<format> directories. Ie, if there was a package called grub-pc-modules, then eucalyptus-nc could depend on that package and on grub-common (for grub-rescue). That would have the added benefit of not explicitly requiring a bootloader in eucalyptus-nc (for a case where grub-pc wasn't the right boot loader for the host system).
It seems to me that the content of /usr/lib/grub/<dir> is useful of simply being a host's bootloader. It may well make sense to have all of /usr/lib/grub/* installed on a system, but grub not used as the host's bootloader at all.
This bug is present now because eucalyptus-nc added a dependency on grub-pc. I believe that this caused grub-pc to get installed earlier in the installation process, before some other things were properly set up.
The reason for the dependency on grub-pc is that eucalyptus-nc is creating a boot floppy (no, I'm not kidding) using grub-mkrescue. That is done in mk-mb-loader [1]. grub-rescue depends on a functional grub-mkimage, and to create bootable content for a "pc" system, that depends on files inside grub-pc (the content of /usr/lib/ grub/i386- pc/).
One solution to this would be to provide the contents of /usr/lib/ grub/i386- pc in a separate package , and maybe in general all of the /usr/lib/ grub/<format> directories. Ie, if there was a package called grub-pc-modules, then eucalyptus-nc could depend on that package and on grub-common (for grub-rescue). That would have the added benefit of not explicitly requiring a bootloader in eucalyptus-nc (for a case where grub-pc wasn't the right boot loader for the host system).
It seems to me that the content of /usr/lib/grub/<dir> is useful of simply being a host's bootloader. It may well make sense to have all of /usr/lib/grub/* installed on a system, but grub not used as the host's bootloader at all.
-- bazaar. launchpad. net/~ubuntu- core-dev/ ubuntu/ maverick/ eucalyptus/ devel/annotate/ head%3A/ tools/mk- mb-loader
[1] http://