This article was written by Kent Baxley, Software Engineer at Canonical.

Introduction

Installing Ubuntu Server on Dell PowerEdge and PowerEdge-C servers that utilize Intel Matrix RAID arrays (BIOS/FW Raid - Intel Corporation Patsburg SATA RAID Controller) can be a tricky and sometimes frustrating process. Servers that support this RAID controller include the PEC 5220, PEC 6220 and some Dell DCS systems. 

This article describes how to install Ubuntu Server on systems that support these controllers, both for manual and automated installs via a preseed file.

Manual Installation

When using the Intel Matrix RAID controller, the installer may fail to find the proper storage device and it will prompt the user where they want to install GRUB. 

The installer may present the user with "/dev/mapper" as an option (see Figure 1). If the user chooses just "/dev/mapper" to install the GRUB boot loader, the installation will fail. 

Figure 1

Solution: Instead of installing to "/dev/mapper" the user must tell the installer to point to the specific RAID volume, which is typically represented as "/dev/mapper/isw_<string>_VolumeX", where "<string>" is a specific identifier for the RAID volume and X represents a volume number.

This device information can be obtained earlier in the installation process, during the partitioning stage.   The installer will first pick up the RAID array and ask if you want to activate the SATA RAID devices, see Figure 2:

Figure 2

Select “Yes” and press Enter, the array is activated and the SATA RAID array will then show up. Note the string “isw_djiedeiaee_Volume0” in Figure 3. 

Figure 3

Save this information for the GRUB installation phase towards the end of the OS install.  If prompted for “/dev/mapper/”, append the saved string to it. In this example, you will tell the installer to install GRUB in “/dev/mapper/isw_djiedeiaee_Volume0”. This will allow the Operating System to boot successfully. 

Automating with Preseed Files

Just like the manual process, when performing an automated install with a preseed file on machines using the Intel Matrix RAID controller the installer may fail to find the proper storage device. This will cause the automated installation to stop and ask the user where they want to install GRUB, breaking the automated process.

An automated installation can be achieved by adding the lines in red below. Please note that this is not a complete preseed file:

# Partitioning
# Where to install GRUB
d-i partman/early_command string debconf-set partman-auto/disk "$(ls /dev/mapper/isw* | head -n1)"
d-i partman-auto/method string regular
# Put everything in one partition (/, /home, /var, etc.)
d-i partman-auto/choose_recipe select atomic
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman/default_filesystem string ext4
d-i clock-setup/utc boolean true

d-i grub-installer/only_debian boolean false
d-i grub-installer/with_other_os boolean false
d-i grub-installer/bootdev string /dev/dm-0