Installing a node configured to boot in EFI/UEFI mode results in Ubuntu registering GRUB with the firmware, thus overriding the node's original PXE-boot setting. This can be seen via efibootmgr after the node has been started:
$ sudo efibootmgr -v
BootCurrent: 0006
Timeout: 0 seconds
BootOrder: 0006,000E,0007,0008,0009,000A,000B,000C,000D
Boot0000 Setup
Boot0001 Boot Menu
Boot0002 Diagnostic Splash Screen
Boot0003 Lenovo Diagnostics
Boot0004 Startup Interrupt Menu
Boot0005 ME Configuration Menu
Boot0006* ubuntu HD(1,800,100000,2017753f-1b99-424d-811b-91c2e8c3c816)File(\EFI\ubuntu\shimx64.efi)
Boot0007* USB CD 030a2400d23878bc820f604d8316c068ee79d25b86701296aa5a7848b66cd49dd3ba6a55
Boot0008* USB FDD 030a2400d23878bc820f604d8316c068ee79d25b6ff015a28830b543a8b8641009461e49
Boot0009* ATAPI CD0 030a2500d23878bc820f604d8316c068ee79d25baea2090adfde214e8b3a5e471856a35401
Boot000A* ATA HDD0 030a2500d23878bc820f604d8316c068ee79d25b91af625956449f41a7b91f4f892ab0f600
Boot000B* ATA HDD1 030a2500d23878bc820f604d8316c068ee79d25b91af625956449f41a7b91f4f892ab0f601
Boot000C* ATA HDD2 030a2500d23878bc820f604d8316c068ee79d25b91af625956449f41a7b91f4f892ab0f602
Boot000D* USB HDD 030a2400d23878bc820f604d8316c068ee79d25b33e821aaaf33bc4789bd419f88c50803
Boot000E* PCI LAN 030a2400d23878bc820f604d8316c068ee79d25b78a84aaf2b2afc4ea79cf5cc8f3d3803
Boot000F* IDER BOOT CDROM ACPI(a0341d0,0)PCI(16,2)ATAPI(0,1,0)
Boot0010* IDER BOOT Floppy ACPI(a0341d0,0)PCI(16,2)ATAPI(0,0,0)
Boot0012 Rescue and Recovery
Note that the system's BootOrder is set to load \EFI\ubuntu\shimx64.efi (which in turn launches GRUB; item Boot0006) from the hard disk, and to PXE-boot (item Boot000E) second. When the process began, it was set to PXE-boot first.
This works fine for bringing up a node initially, but it's different from the way a BIOS-mode installation works, in which the system is left PXE-booting by default. The UEFI approach will result in an inability to delete the node and re-enlist it, or even to stop the node and then re-start it and have Ubuntu re-installed, without either manually running efibootmgr or delete the file or partition to which the boot manager entry points.
I'm attaching my MAAS log files. The UEFI-booting system is 192.168.0.56.
Here's the MAAS server version information:
$ dpkg -l '*maas*'|cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=====================================================-===================================================-============-===============================================================================
ii maas 1.5+bzr2252-0ubuntu1 all MAAS server all-in-one metapackage
ii maas-cli 1.5+bzr2252-0ubuntu1 all MAAS command line API tool
ii maas-cluster-controller 1.5+bzr2252-0ubuntu1 all MAAS server cluster controller
ii maas-common 1.5+bzr2252-0ubuntu1 all MAAS server common files
ii maas-dhcp 1.5+bzr2252-0ubuntu1 all MAAS DHCP server
ii maas-dns 1.5+bzr2252-0ubuntu1 all MAAS DNS server
ii maas-region-controller 1.5+bzr2252-0ubuntu1 all MAAS server complete region controller
ii maas-region-controller-min 1.5+bzr2252-0ubuntu1 all MAAS Server minimum region controller
ii python-django-maas 1.5+bzr2252-0ubuntu1 all MAAS server Django web framework
ii python-maas-client 1.5+bzr2252-0ubuntu1 all MAAS python API client
ii python-maas-provisioningserver 1.5+bzr2252-0ubuntu1 all MAAS server provisioning libraries
Installing a node configured to boot in EFI/UEFI mode results in Ubuntu registering GRUB with the firmware, thus overriding the node's original PXE-boot setting. This can be seen via efibootmgr after the node has been started:
$ sudo efibootmgr -v 0007,0008, 0009,000A, 000B,000C, 000D 100000, 2017753f- 1b99-424d- 811b-91c2e8c3c8 16)File( \EFI\ubuntu\ shimx64. efi) c820f604d8316c0 68ee79d25b86701 296aa5a7848b66c d49dd3ba6a55 c820f604d8316c0 68ee79d25b6ff01 5a28830b543a8b8 641009461e49 c820f604d8316c0 68ee79d25baea20 90adfde214e8b3a 5e471856a35401 c820f604d8316c0 68ee79d25b91af6 25956449f41a7b9 1f4f892ab0f600 c820f604d8316c0 68ee79d25b91af6 25956449f41a7b9 1f4f892ab0f601 c820f604d8316c0 68ee79d25b91af6 25956449f41a7b9 1f4f892ab0f602 c820f604d8316c0 68ee79d25b33e82 1aaaf33bc4789bd 419f88c50803 c820f604d8316c0 68ee79d25b78a84 aaf2b2afc4ea79c f5cc8f3d3803 0)PCI(16, 2)ATAPI( 0,1,0) 0)PCI(16, 2)ATAPI( 0,0,0)
BootCurrent: 0006
Timeout: 0 seconds
BootOrder: 0006,000E,
Boot0000 Setup
Boot0001 Boot Menu
Boot0002 Diagnostic Splash Screen
Boot0003 Lenovo Diagnostics
Boot0004 Startup Interrupt Menu
Boot0005 ME Configuration Menu
Boot0006* ubuntu HD(1,800,
Boot0007* USB CD 030a2400d23878b
Boot0008* USB FDD 030a2400d23878b
Boot0009* ATAPI CD0 030a2500d23878b
Boot000A* ATA HDD0 030a2500d23878b
Boot000B* ATA HDD1 030a2500d23878b
Boot000C* ATA HDD2 030a2500d23878b
Boot000D* USB HDD 030a2400d23878b
Boot000E* PCI LAN 030a2400d23878b
Boot000F* IDER BOOT CDROM ACPI(a0341d0,
Boot0010* IDER BOOT Floppy ACPI(a0341d0,
Boot0012 Rescue and Recovery
Note that the system's BootOrder is set to load \EFI\ubuntu\ shimx64. efi (which in turn launches GRUB; item Boot0006) from the hard disk, and to PXE-boot (item Boot000E) second. When the process began, it was set to PXE-boot first.
This works fine for bringing up a node initially, but it's different from the way a BIOS-mode installation works, in which the system is left PXE-booting by default. The UEFI approach will result in an inability to delete the node and re-enlist it, or even to stop the node and then re-start it and have Ubuntu re-installed, without either manually running efibootmgr or delete the file or partition to which the boot manager entry points.
I'm attaching my MAAS log files. The UEFI-booting system is 192.168.0.56.
Here's the MAAS server version information:
$ dpkg -l '*maas*'|cat Unknown/ Install/ Remove/ Purge/Hold Not/Inst/ Conf-files/ Unpacked/ halF-conf/ Half-inst/ trig-aWait/ Trig-pend /Reinst- required (Status,Err: uppercase=bad) ======= ======= ======= ======= ======= ======= ======= =-===== ======= ======= ======= ======= ======= ======= ====-== ======= ===-=== ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ====== 0ubuntu1 all MAAS server all-in-one metapackage 0ubuntu1 all MAAS command line API tool controller 1.5+bzr2252- 0ubuntu1 all MAAS server cluster controller 0ubuntu1 all MAAS server common files 0ubuntu1 all MAAS DHCP server 0ubuntu1 all MAAS DNS server controller 1.5+bzr2252- 0ubuntu1 all MAAS server complete region controller controller- min 1.5+bzr2252- 0ubuntu1 all MAAS Server minimum region controller 0ubuntu1 all MAAS server Django web framework 0ubuntu1 all MAAS python API client maas-provisioni ngserver 1.5+bzr2252- 0ubuntu1 all MAAS server provisioning libraries
Desired=
| Status=
|/ Err?=(none)
||/ Name Version Architecture Description
+++-===
ii maas 1.5+bzr2252-
ii maas-cli 1.5+bzr2252-
ii maas-cluster-
ii maas-common 1.5+bzr2252-
ii maas-dhcp 1.5+bzr2252-
ii maas-dns 1.5+bzr2252-
ii maas-region-
ii maas-region-
ii python-django-maas 1.5+bzr2252-
ii python-maas-client 1.5+bzr2252-
ii python-