Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1265570

Summary: [docs] netbooting rhel7 on power8 doesn't take into account opal firmware
Product: Red Hat Enterprise Linux 7 Reporter: Jiri Belka <jbelka>
Component: doc-Installation_GuideAssignee: Petr Bokoc <pbokoc>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: hannsj_uhl
Target Milestone: rcKeywords: Documentation
Target Release: ---   
Hardware: ppc64le   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-13 12:21:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1201513    

Description Jiri Belka 2015-09-23 09:04:17 UTC
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 09:06:13 UTC
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.
---%---