Red Hat Bugzilla – Bug 1265570
[docs] netbooting rhel7 on power8 doesn't take into account opal firmware
Last modified: 2018-02-13 07:21:42 EST
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/
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. ---%---