PXE boot always boots hd0 regardless of which drive is selected as the boot drive.
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| MAAS |
Triaged
|
Medium
|
Unassigned | ||
| 3.4 |
Won't Fix
|
Medium
|
Unassigned | ||
| 3.5 |
Won't Fix
|
Medium
|
Unassigned | ||
| 3.6 |
Triaged
|
Medium
|
Unassigned | ||
Bug Description
PXE boot always boots hd0 regardless of which drive is selected as the boot drive. This is a problem for some devices that refuse to order drives properly (HPE sl230s servers booting from internal flash storage, for example).
config.
> DEFAULT local
>
> LABEL local
> SAY Booting local disk ...
> KERNEL chain.c32
> APPEND hd0
chain.c32 supports booting disk/partition by lable, guid, or MBR serial:
http://
> chain.c32 hd<disk#> [<partition>] [options]
> chain.c32 fd<disk#> [options]
> chain.c32 mbr:<id> [<partition>] [options]
> chain.c32 boot [<partition>] [options]
> chain.c32 fs [options]
> chain.c32 label=<label> [options]
> chain.c32 guid=<label> [options]
>
> ...
>
> Find partition by uuid or label in all GPT partitions on all available drives:
> label=mylabel
> guid=myguid
> Note that label and guid work only on GPT partition tables; it is not filesystem but partition label and guid.
>
> ...
>
> mbr
>
> The mbr: syntax means search all the hard disks until one with a specific MBR serial number (bytes 440-443) is found.
> You can get the MBR serial number, by running the following command (change /dev/sda to the correct device):
> $ hexdump -s 440 -n 4 -e '"0x%08x\n"' /dev/sda
> 0x0ec8694c
> Or by running:
> $ fdisk -l /dev/sda
> ...
> Disk identifier: 0x0ec8694c
> Example:
> LABEL mbr_serial
> COM32 chain.c32
> APPEND mbr:0x0ec8694c
MAAS could note the disk/partition guid or MBR serial on deployment and tell chain.c32 to boot that disk in order to ensure that the disk with grub installed is the disk that gets booted.
| Changed in maas: | |
| milestone: | 2.4.x → 2.4.0rc1 |
| Changed in maas: | |
| milestone: | 2.4.0rc1 → 2.4.0rc2 |
| Changed in maas: | |
| milestone: | 2.4.0rc2 → 2.5.x |
| Changed in maas: | |
| milestone: | 2.5.x → 2.5.0 |
| Changed in maas: | |
| milestone: | 2.5.0 → next |
| Changed in maas: | |
| milestone: | next → none |
| Changed in maas: | |
| importance: | High → Medium |
| milestone: | none → 3.4.0 |
| Changed in maas: | |
| milestone: | 3.4.0 → 3.4.x |
| Changed in maas: | |
| milestone: | 3.4.x → 3.5.x |
| Changed in maas: | |
| milestone: | 3.6.x → 3.7.x |

This was discussed on the mailing list as well:
https:/ /lists. ubuntu. com/archives/ maas-devel/ 2017-December/ 002767. html