Running the Ubuntu Server installer in UEFI mode fails to install the Grub bootloader. Attached is the syslog output that shows grub-installer failed with error code 1. I have seen this on Ubuntu 12.04, 12.10, and 13.04. I believe the problem is that Grub is looking for device paths that match something like '/dev/sdX' or '/dev/hdX' but the device I am installing to does not follow that convention.
The reason I believe it is looking for specific devices paths is if, during installation after my device has been partitioned, I escape into the shell (using alt+f2) and create a hard link from my device name and its partitions, to a device name that matches 'sdX', then Grub begins to install. For example, if my device name is /dev/fioa and has partitions /dev/fioa1, /dev/fioa2, and /dev/fioa3, I map those partitions to something like /dev/sdc, /dev/sdc1, /dev/sdc2, and /dev/sdc3 and continue with the installation onto /dev/sdc. By doing this, Grub will begin to install on the device.
Possibly useful background information:
- The operating system and all files install just fine without problem, it is the last step of installing the bootloader that fails.
- In order to have the device recognized during installation, I either need to run 'insmod' from a terminal or we have to manually modify initrd to include our .ko file because it is not a standard disk driver. Using either method does not affect the outcome of Grub2 failing to install.
- Even though grub begins to install after creating the hard links mentioned above, it does not finish successfully due to the linked paths (e.g. /dev/sdc) not being in the device map. That is a separate issue, but may be expected behavior and would likely need a separate ticket if it needed to be reported at all.
Running the Ubuntu Server installer in UEFI mode fails to install the Grub bootloader. Attached is the syslog output that shows grub-installer failed with error code 1. I have seen this on Ubuntu 12.04, 12.10, and 13.04. I believe the problem is that Grub is looking for device paths that match something like '/dev/sdX' or '/dev/hdX' but the device I am installing to does not follow that convention.
The reason I believe it is looking for specific devices paths is if, during installation after my device has been partitioned, I escape into the shell (using alt+f2) and create a hard link from my device name and its partitions, to a device name that matches 'sdX', then Grub begins to install. For example, if my device name is /dev/fioa and has partitions /dev/fioa1, /dev/fioa2, and /dev/fioa3, I map those partitions to something like /dev/sdc, /dev/sdc1, /dev/sdc2, and /dev/sdc3 and continue with the installation onto /dev/sdc. By doing this, Grub will begin to install on the device.
Possibly useful background information:
- The operating system and all files install just fine without problem, it is the last step of installing the bootloader that fails.
- In order to have the device recognized during installation, I either need to run 'insmod' from a terminal or we have to manually modify initrd to include our .ko file because it is not a standard disk driver. Using either method does not affect the outcome of Grub2 failing to install.
- Even though grub begins to install after creating the hard links mentioned above, it does not finish successfully due to the linked paths (e.g. /dev/sdc) not being in the device map. That is a separate issue, but may be expected behavior and would likely need a separate ticket if it needed to be reported at all.