#1323 PR merged
: Separate PPC bootlist creation from bootloader installation¶
Labels: enhancement
, bug
, cleanup
, fixed / solved / done
schabrolles opened issue at 2017-04-21 11:13:¶
Cleaning install PPC bootlist
-
Separate PPC bootlist creation from bootloader installation.
creation of finalize/230_install_PPC_bootlist.sh
This allow to reduce the copy of scripts between different Arch/Distro. -
PPC bootlist is PowerVM specific (ppc64/ppc64le), but bootlader
installation script can be shared with other Arch.
jsmeix commented at 2017-04-21 11:58:¶
@schabrolles
when you are working on
usr/share/rear/finalize/Linux-ppc64/200_install_yaboot.sh
could you perhaps also have a look at
usr/share/rear/finalize/SUSE_LINUX/ppc64/200_install_yaboot.sh
in particular regarding my 'FIXME:' comment therein?
Many thanks in advance!
Perhaps even SUSE_LINUX/ppc64/200_install_yaboot.sh
could be done in a more generic way?
Its name is 'install_yaboot' but actualy it calls '/sbin/lilo'?
I am not a PPC user but I guess PPC experts actually
understand what goes on behind the surface here ;-)
@gdha
I added you as reviewer to be a bit more on the safe side.
Perhaps you even understand PPC booting?
jsmeix commented at 2017-04-21 12:00:¶
@schabrolles
many thanks for your more descriptive LogPrint message in
https://github.com/rear/rear/pull/1323/commits/9c455583a3e7b72fafb66e3a5ece2c5c4284790f
Regardless that I do not understand the details here,
it clearly helps PPC users to understand what goes on.
schabrolles commented at 2017-04-21 12:36:¶
For your understanding ... in PowerVM (POWER HW virtualization) each VM
(called LPAR: ligical Partition) can dynamically set the bootdevice boot
order to the Hypervizor Firmware thanks to the command bootlist
.
bootlist
will translate logical name like sda
to a uniq full path
understandable by the hypervizor
/vdevice/vfc-client@3000000d/disk@500507680c21099f,0000000000000000:1,yaboot
As it is closely linked to the adapter used, LUNid etc ... we need to regenerate bootlist when we restore to a new system (migration)
schabrolles commented at 2017-04-21 12:41:¶
@jsmeix I've seen this FIXME, I think we should re-write the
install_yaboot.sh
for SLES ...; and may be renamed it
install_lilo.sh
...
jsmeix commented at 2017-04-21 13:12:¶
@schabrolles
feel free to clean up the PPC booloader scipts as you like.
I appreciate it!
jsmeix commented at 2017-04-21 13:14:¶
Luckily I am not a hypervisor so that I do not need to understand
/vdevice/vfc-client@3000000d/disk@500507680c21099f,0000000000000000:1,yaboot
;-)
schabrolles commented at 2017-04-21 13:23:¶
Yes ;-) it is not really convenient, that's why we can thanks bootlist
to make this translation for us :-)
I'll have a look and propose a new 210_install_lilo.sh
for SLES ppc64
and remove 200_install_yaboot.sh
schabrolles commented at 2017-04-23 19:52:¶
@gdha,
- In SuSe, which uses
lilo
boot manager, PReP Boot partition is using a filesystem formatted invfat
=>blkid
can detect this partition. - In RHEL 6, which uses
yaboot
boot manager, PReP Boot partition is RAW formatted => can't be detected byblkid
I would like to use "same kind" of script for 200_install_lilo.sh
and
210_install_yaboot.sh
... for an easier maintenance ...
There is no other reason :-) ... So, I'm open to other suggestion and
feedback.
schabrolles commented at 2017-04-28 09:48:¶
@gdha, @jsmeix I've moved PPC bootlist to be run after bootloader
creation.
I start changing numbering in finalize for issue #1331.
Can I use this branch to push the new numbering ? (because some files are changed or created in finalize in this branch, using the same branch will help to avoid conflict during merge.)
gdha commented at 2017-04-28 10:08:¶
@schabrolles yes use the master branch - the dev branch has been deprecated for the moment
schabrolles commented at 2017-04-28 10:27:¶
@gdha Ok, but I would say, can I use this thread (#1323) and make the
changes for #1331 in my remote branch
schabrolles:install_PPC_bootlist
schabrolles commented at 2017-04-28 18:08:¶
@gdha @jsmeix
I made some adjustment regarding the numbering in finalize.
Here is what I get now:
Source finalize/default/010_prepare_checks.sh
Source finalize/default/100_populate_dev.sh
Source finalize/GNU/Linux/250_migrate_disk_devices_layout.sh
Source finalize/GNU/Linux/250_migrate_lun_wwid.sh
Source finalize/GNU/Linux/260_rename_diskbyid.sh
Source finalize/GNU/Linux/280_migrate_uuid_tags.sh
Source finalize/GNU/Linux/300_create_mac_mapping.sh
Source finalize/GNU/Linux/310_migrate_udev_rules.sh
Source finalize/GNU/Linux/320_migrate_network_configuration_files.sh
Source finalize/GNU/Linux/430_create_multipath_config.sh
Source finalize/SUSE_LINUX/ppc64/550_rebuild_initramfs.sh
Source finalize/Linux-ppc64/600_install_yaboot.sh
Source finalize/Linux-ppc64/610_install_lilo.sh
Source finalize/Linux-ppc64/620_install_grub2.sh
Source finalize/Linux-ppc64/680_install_PPC_bootlist.sh
Source finalize/default/880_check_for_mount_by_id.sh
Source finalize/default/890_finish_checks.sh
Source finalize/default/900_remount_sync.sh
I also put a first draft for the readme:
000-099: initialization
100-199: creating devices on TARGET (/dev)
200-299: disk device migration
300-399: network device migration
400-499: Update some configuration on TARGET (like multipath)
500-599: rebuild initrd
600-699: bootloader installation
700-799:
800-899: Last Check
900-999: Remount all TARGET FS in /mnt/local + post-recovery (NBU)
jsmeix commented at 2017-05-02 11:07:¶
@schabrolles
I assume it works for you on your PPC tests systems?
@gdha
could you also have one more look here if it looks o.k.
so that it can be merged?
schabrolles commented at 2017-05-02 11:19:¶
@jsmeix Yes, tested on rhel6, rhel7, sles11, sle12 on POWER
jsmeix commented at 2017-05-03 12:33:¶
When there are no objections, I will merge it soon.
[Export of Github issue for rear/rear.]