When installing Gentoo (using the 2004.1 LiveCD) grub refuses to install if there is not a separate /boot partition. (e.g., if /boot is on the /root partition) Reproducible: Always Steps to Reproduce: 0. Emerge grub (per the handbook). 1. Edit /boot/grub/grub.conf: title gentoo root (hd0,1) kernel /boot/vmlinuz root=/dev/hda2 2. execute `cat /proc/mounts > /etc/mtab` 3. execute `grub-install /dev/hda` Actual Results: Grub complains: Could not find device for /boot: Either the device does not exist or... Expected Results: Grub should install the primary bootloader onto the MBR. Once the system has been re-booted, the contents of /boot can be copied to the directory on the /root partition and the /boot parition can be omitted (or deleted entirely).
This is not a supported configuration for grub at the moment. In the future, perhaps, but that requires some fairly serious changes, not least to the documentation *and* all the ebuilds which depend on mounting /boot. However, if you're desperate, emerge grub as normal, then run "grub-install". You will then be able to proceed as normal. Reassigning to me...
...as I'm the maintainer, and closing.
> This is not a supported configuration for grub at the moment. Not true - It's supported by Mandrake Linux and it works *after* grub's been installed. (i.e., I can ignore the /boot partition and, instead, refer grub to the /boot directory on the / partition _after_ initial installation.)
Mandrake is different. Mandrake does not have a plethora of ebuilds which depend on mounting a seperate /boot partition. Here's the list of ebuilds which would need totally reworking, we were not instead to rework mount-boot.eclass: sys-apps/memtest86+/memtest86+-1.15.ebuild sys-apps/memtest86+/memtest86+-1.0.ebuild sys-apps/memtest86+/memtest86+-1.26.ebuild sys-apps/memtest86+/memtest86+-1.25.ebuild sys-apps/memtest86+/memtest86+-1.20.ebuild sys-apps/memtest86+/memtest86+-1.11.ebuild sys-apps/memtest86/memtest86-3.0-r2.ebuild sys-apps/memtest86/memtest86-3.0-r1.ebuild sys-boot/grub/grub-0.94-r1.ebuild sys-boot/grub/grub-0.92-r1.ebuild sys-boot/grub/grub-0.94-r2.ebuild sys-boot/grub/grub-0.93.20030118.ebuild sys-boot/grub/grub-0.95.20040823.ebuild sys-boot/quik/quik-2.0.1k.ebuild sys-boot/quik/quik-2.0.1.0-r1.ebuild sys-boot/quik/quik-2.0.1.0-r3.ebuild sys-boot/quik/quik-2.0.1.0-r2.ebuild sys-boot/silo/silo-1.4.4.ebuild sys-boot/silo/silo-1.3.2-r1.ebuild sys-boot/silo/silo-1.4.6.ebuild sys-boot/silo/silo-1.3.1-r1.ebuild sys-boot/silo/silo-1.4.8.ebuild sys-boot/silo/silo-1.4.5.ebuild sys-boot/cromwell/cromwell-2.31.ebuild Many of those are stable on all arches meaning I really don't want to touch them, particularly considering most of them aren't mine. Moreover, mount-boot.eclass is "mission critical" - meaning that if it breaks, nobody can install grub. As this would be a trivial feature enhancement I am not willing to risk breaking things to this extent for such a minor gain. Furthermore, I am not willing to provide support for people who don't follow such a basic obvious rule as having a seperate /boot partition, the reasons for which are well-documented. It is dangerous to have the contents of /boot exposed under normal circumstances, which is why I said that this isn't a supported configuration - I don't care whether Mandrake do it or not; if they do, their installation procedure is broken and needs fixing. Until a subset of a partition can be mounted read-only, there's no way I'm even going to consider doing this.