The Problem
I have configured petitboot to boot PowerKVM 3.1 installed on /dev/sda2, but even after rebooting, it will stays on the petitboot menu. I have to manually select the boot entry to boot into PowerKVM.
The environment
System type: 8284-22A FW830.00 (SV830_023)
Petitboot Logs
cat /var/log/petitboot/pb-discover.log --- pb-discover --- Detected platform type: powerpc Running command: exe: nvram argv: 'nvram' '--print-config' '--partition' 'common' configuration: autoboot: enabled, 3 sec network configuration: interface 6c:ae:8b:6a:74:14 static: ip: 9.114.219.134/22 gw: 9.114.219.254 dns server 9.114.219.1 boot device 070a7d69-b69d-4870-851f-3956ac94e41a boot priority order: network: 0 any: 1 IPMI boot device 0x01 (persistent) language: en_US.utf8 ...
Root Cause
So the root cause is the boot configuration conflict. Someone has set it to boot from a network via IPMI command. And unfortunately when i configure it to boot from /dev/sda2, petitboot did not give me a warning. (This has been fixed in FW840)
Run the following ipmi command will prove the above analysis:
Get System Boot Options- NetFn = Chassis (0x00h), CMD = 0x09h Response Data 0x00: No override 0x04: Force PXE 0x08: Force boot from default Hard-drive 0x14: Force boot from default CD/DVD 0x18: Force boot into BIOS setup
# ipmitool -I lanplus -H <fsp_ip> -P <passwd> raw 0x00 0x09 0x05 0x00 0x00
01 05 c0 04 00 00 00
Here 0x04 indicates a boot override (Force PXE boot) . That is why it won’t auto boot to /dev/sda2.
Or we can use the following IPMI command for simplicity:
# ipmitool -I lanplus -H <fsp_ip> -P <passwd> chassis bootparam get 0x05
Boot parameter version: 1
Boot parameter 5 is valid/unlocked
Boot parameter data: c004000000
Boot Flags :
- Boot Flag Valid
- Options apply to all future boots
- BIOS PC Compatible (legacy) boot
- Boot Device Selector : Force PXE
- Console Redirection control : System Default
- BIOS verbosity : Console redirection occurs per BIOS configuration setting (default)
- BIOS Mux Control Override : BIOS uses recommended setting of the mux at the end of POST
The Fix
Set IPMI Boot Device to none:
# ipmitool -I lanplus -H <fsp_ip> -P <passwd> chassis bootdev none
After that, rebooting PowerLinux server will boot into /dev/sda2 automatically.
Update firmware to FW840
If the fw is updated to FW840, it will give you a warning on petitboot when you configure auto boot.
We can follow this link to update PowerLinux FW.
Reference
https://computercheese.blogspot.com/2013/04/ipmi-chassis-device-commands.html?view=sidebar