I'm doing an unattended installation of Ubuntu-14.04-server with a USB drive and a
preseed file on different type of servers (HP Proliant ML110, ML310, ML350). This
preseed file contains multiple rules, including the configuration of
partman-auto that automates the (custom) partitioning of the server's hard drive.
On the servers ML110 and ML310, at the beginning of the installation process (before
partmanlaunches), the hard drive is in
/dev/sdaand the USB drive takes
/dev/sdb. Therefore, I specify
d-i partman-auto/disk string /dev/sdain my
preseedfile, and the partitioning is applied on the server's hard drive. Everything works fine.
But on the servers ML350, at the beginning of the installation process, the main hard drive is not present on
/dev/sd*, and the USB drive takes the
/dev/sda. It's only a few steps later that the hard drive shows up … in
/dev/sdb. Therefore, my rule in the
preseedfile is no longer valid and
partmanscrews-up my USB drive.
This very annoying fact rises two questions:
- Why the main hard drive doesn't show in the devices at the beginning of the installation process?
- How could I force the main hard drive to show up (and make it take the
/dev/sda) or if I cannot, How could I find out, with certainty, on which
/dev/sdXthe main hard drive will be.
I tried to add
dmraid=true in the kernel options, it didn't work. I also tried to add
pci=conf1 (found here) but without success.