Bug 1265570 - [docs] netbooting rhel7 on power8 doesn't take into account opal firmware
[docs] netbooting rhel7 on power8 doesn't take into account opal firmware
Status: NEW
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: doc-Installation_Guide (Show other bugs)
7.2
ppc64le Linux
medium Severity medium
: rc
: ---
Assigned To: Petr Bokoc
: Documentation
Depends On:
Blocks: RHEV3.6PPC
  Show dependency treegraph
 
Reported: 2015-09-23 05:04 EDT by Jiri Belka
Modified: 2017-11-14 09:58 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jiri Belka 2015-09-23 05:04:17 EDT
Document URL: 

iiuc there's difference how power8 netboots when its fsp/hypervisor firmware is set to 'opal'.

in this context it boots into ... 'petitboot' boat loader which scans disks, searches for grub* configuration, parses pxelinux like format it gets via network...

default boot media is get via /dev/ipmi device can be changed via ipmitool chassis command.

current docs talks iiuc about "classic" mode, not 'opal' fw type set usually for running kvm vms on power8.

there should be info about two types of firmware and thus info that grub2 is not necessary for 'opal' fw mode netbooting as petitboot can parse pxelinux-like syntax[1].

(i haven't tested having grub's core.elf as netboot image if grub configuration would appear in ... 'petitboot' menu; i haven't read C code - https://github.com/open-power/petitboot/tree/master/discover)

Section Number and Name: 
10.3 in 7.2-beta installation guide

Describe the issue: 
see above

Suggestions for improvement: 
talk about petitboot and opal fw mode and how petitboot can discover stuff

Additional information: 
[1] https://www.ibm.com/developerworks/linux/tutorials/l-ibm-powerkvm-system-bring-up/
Comment 1 Jiri Belka 2015-09-23 05:06:13 EDT
some info from about internal wiki:

---%---
petitboot discovery description

How does it netboot?

First of all, selecting 'netboot eth0 (pxelinux.0)' manually in petitboot menu causes:

netboot eth0 (pxelinux.0):
Error: kexec load failed

I would say pxelinux.0 is not working on ppc64. Official documentation talks about grub2 for netbooting!

Anyway logs of petitboot if you jump from petitboot menu to shell.

/var/log/petitboot/pb-discover.log

--- pb-discover ---
Running command:
 exe:  nvram
 argv: 'nvram' '--print-config'
"common" Partition
---------------------
petitboot,timeout=30

Detected platform type: powerpc
Running command:
 exe:  nvram
 argv: 'nvram' '--print-config' '--partition' 'common'
configuration:
 autoboot: enabled, 30 sec
 boot priority order:
       disk: 0
        any: -1
Running command:
 exe:  /usr/libexec/petitboot/pb-sysinfo
 argv: '/usr/libexec/petitboot/pb-sysinfo' '--type'
Running command:
 exe:  /usr/libexec/petitboot/pb-sysinfo
 argv: '/usr/libexec/petitboot/pb-sysinfo' '--id'
SKIP: sdb: no ID_FS_TYPE property
SKIP: sdb1: no ID_FS_TYPE property
SKIP: sr0: no media present
SKIP: sdd: no ID_FS_TYPE property
SKIP: sdd1: no ID_FS_TYPE property
SKIP: loop0: ignored (path=/devices/virtual/block/loop0)
SKIP: loop1: ignored (path=/devices/virtual/block/loop1)
SKIP: loop2: ignored (path=/devices/virtual/block/loop2)
SKIP: loop3: ignored (path=/devices/virtual/block/loop3)
SKIP: loop4: ignored (path=/devices/virtual/block/loop4)
SKIP: loop5: ignored (path=/devices/virtual/block/loop5)
SKIP: loop6: ignored (path=/devices/virtual/block/loop6)
SKIP: loop7: ignored (path=/devices/virtual/block/loop7)
SKIP: ram0: ignored (path=/devices/virtual/block/ram0)
SKIP: ram1: ignored (path=/devices/virtual/block/ram1)
SKIP: ram10: ignored (path=/devices/virtual/block/ram10)
SKIP: ram11: ignored (path=/devices/virtual/block/ram11)
SKIP: ram12: ignored (path=/devices/virtual/block/ram12)
SKIP: ram13: ignored (path=/devices/virtual/block/ram13)
SKIP: ram14: ignored (path=/devices/virtual/block/ram14)
SKIP: ram15: ignored (path=/devices/virtual/block/ram15)
SKIP: ram2: ignored (path=/devices/virtual/block/ram2)
SKIP: ram3: ignored (path=/devices/virtual/block/ram3)
SKIP: ram4: ignored (path=/devices/virtual/block/ram4)
SKIP: ram5: ignored (path=/devices/virtual/block/ram5)
SKIP: ram6: ignored (path=/devices/virtual/block/ram6)
SKIP: ram7: ignored (path=/devices/virtual/block/ram7)
SKIP: ram8: ignored (path=/devices/virtual/block/ram8)
SKIP: ram9: ignored (path=/devices/virtual/block/ram9)
SKIP: sda: no ID_FS_TYPE property
Running command:
 exe:  /sbin/ip
 argv: '/sbin/ip' 'link' 'set' 'lo' 'up'
Running command:
 exe:  /sbin/ip
 argv: '/sbin/ip' 'link' 'set' 'eth0' 'up'
network: bringing up interface eth0
Running command:
 exe:  /sbin/ip
 argv: '/sbin/ip' 'link' 'set' 'eth1' 'up'
network: bringing up interface eth1
Running command:
 exe:  /sbin/ip
 argv: '/sbin/ip' 'link' 'set' 'eth2' 'up'
network: bringing up interface eth2
Running command:
 exe:  /sbin/ip
 argv: '/sbin/ip' 'link' 'set' 'eth3' 'up'
network: bringing up interface eth3
SKIP: sdc: no ID_FS_TYPE property
SKIP: sda3: no ID_FS_TYPE property
mounting device /dev/sda8 read-only
couldn't mount device /dev/sda8: mount failed: No such device
mounting device /dev/sda5 read-only
couldn't mount device /dev/sda5: mount failed: No such device
mounting device /dev/sda7 read-only
couldn't mount device /dev/sda7: mount failed: No such device
mounting device /dev/sdc5 read-only
couldn't mount device /dev/sdc5: mount failed: No such device
SKIP: sdc3: no ID_FS_TYPE property
mounting device /dev/sdc7 read-only
couldn't mount device /dev/sdc7: mount failed: No such device
mounting device /dev/sdc8 read-only
couldn't mount device /dev/sdc8: mount failed: No such device
mounting device /dev/sda6 read-only
couldn't mount device /dev/sda6: mount failed: No such device
mounting device /dev/sdc6 read-only
couldn't mount device /dev/sdc6: mount failed: No such device
mounting device /dev/sda2 read-only
trying parsers for sda2
grub2: undefined function 'terminal_output'
boot option sda2#RHEV for IBM POWER, with Linux 3.10.23-1709.pkvm2_1.12.ppc64 is resolved, sending to clients
Boot option sda2#RHEV for IBM POWER, with Linux 3.10.23-1709.pkvm2_1.12.ppc64 set as default, timeout 30 sec.
boot option sda2#RHEV for IBM POWER, with Linux 0-rescue-50e8ac04159e4a20a72e8fc26bd8e2c0 is resolved, sending to clients
SKIP: sdc1: no ID_FS_TYPE property
SKIP: sda1: no ID_FS_TYPE property
SKIP: sdc2 UUID [d0c48064-76ec-4dfb-93fd-1f0d585fb6fb] already present (as sda2)
SKIP: sda: no ID_FS_TYPE property
SKIP: sdc: no ID_FS_TYPE property
network: configuring interface eth0
Running command:
 exe:  /sbin/udhcpc
 argv: '/sbin/udhcpc' '-R' '-n' '-f' '-O' 'pxeconffile' '-O' 'pxepathprefix' '-p' '/var/petitboot//udhcpc-eth0.pid' '-i' 'eth0' '-x' '0x5d:000e'
udhcpc (v1.21.1) started
Sending discover...
Sending select for 10.16.44.50...
Lease of 10.16.44.50 obtained, lease time 86400
deleting routers
route: SIOCDELRT: No such process
adding dns 10.16.36.29
adding dns 10.11.5.19
adding dns 10.5.30.160
trying parsers for eth0
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-CDSB9j' '-r' '/pxelinux.cfg/01-40-f2-e9-5a-ef-c4' '10.16.64.13' '69'
tftp: server error: (1) File not found
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-96HDeV' '-r' '/pxelinux.cfg/0A102C32' '10.16.64.13' '69'
tftp: server error: (1) File not found
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-BvOJjw' '-r' '/pxelinux.cfg/0A102C3' '10.16.64.13' '69'
tftp: server error: (1) File not found
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-dK1To7' '-r' '/pxelinux.cfg/0A102C' '10.16.64.13' '69'
tftp: server error: (1) File not found
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-ftK7tI' '-r' '/pxelinux.cfg/0A102' '10.16.64.13' '69'
tftp: server error: (1) File not found
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-elfpzj' '-r' '/pxelinux.cfg/0A10' '10.16.64.13' '69'
tftp: server error: (1) File not found
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-PTmKEU' '-r' '/pxelinux.cfg/0A1' '10.16.64.13' '69'
tftp: server error: (1) File not found
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-kt48Jv' '-r' '/pxelinux.cfg/0A' '10.16.64.13' '69'
tftp: server error: (1) File not found
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-gKcBP6' '-r' '/pxelinux.cfg/0' '10.16.64.13' '69'
tftp: server error: (1) File not found
Running command:
 exe:  /usr/bin/tftp
 argv: '/usr/bin/tftp' '-g' '-l' '/tmp/pb-5j06UH' '-r' '/pxelinux.cfg/default' '10.16.64.13' '69'
boot option eth0@0x1003a3f4f68 is resolved, sending to clients
boot option eth0@0x1003a3c1988 is resolved, sending to clients
boot option eth0@0x1003a3f16f8 is resolved, sending to clients
boot option eth0#netboot eth0 (pxelinux.0) is resolved, sending to clients
Cancelling default boot option

What is default boot media on Power8 host?

# hexdump -C /sys/firmware/opal/sysparams/default-boot-device
00000000  02                                                |.|
00000001
# hexdump -C /sys/firmware/opal/sysparams/next-boot-device
00000000  ff                                                |.|
00000001

'02' is disk, see: http://git.ozlabs.org/?p=petitboot;a=blob;f=discover/platform-powerpc.c;h=642c93c1cdf453412959c415fa878bebdc17fad6;hb=a744f086e4c16d5b286cf264a16ceca2dc23d43e#l577

You can change default boot option to be 'disk' via ipmitool (based on help provided on #powerkvm @ freenode).

chassis bootdev disk options=persistent

After reboot it booted from disk.
---%---

Note You need to log in before you can comment on or make changes to this bug.