Hi folks, I was looking into another issue when I noticed that in my /boot directory is a link to my /boot directory. Is this correct? If so why is it there?
ls -l /boot
total 49800
-rw-r--r-- 1 root root 2699260 Oct 15 08:09 System.map-3.11.5-1.ga012288-desktop
-rw------- 1 root root 512 Nov 9 2012 backup_mbr
lrwxrwxrwx 1 root root 1 Aug 9 13:54 boot -> .
When you do not have a boot partition and /boot is a directory on the / (root) partiton, the pathname to your kernel is
/boot/kernel...
and the root (hdx,y) statement points to your / (root) partition.
Now everything works as expected.
When you have a real boot, the root (hdx,y) statement points to the boot partition and a kernel at /boot/kernel… will not be found as the path /boot does not exist.
As the filesystem tree is not assembled when grub boots the system, you can’t point root (hd,x,y) to / as /boot is not attached.
The solution is a symlink called boot, pointing to itseld (.) so the kernel can still be at
/boot/kernel...
but now, the symlink is used to satisfy the reference to /boot
Normally, you tell “grub2” to find its configuration file at “/boot/grub2/grub.cfg”. However, if there is a separate “/boot” partition, then the path is really “/grub2/grub.cfg” relative to that partition. The symlink makes it possible to always use “/boot/grub2/grub.cfg” as the path.