summaryrefslogtreecommitdiffstats
path: root/perl-install/install
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2017-11-27 15:06:16 +0000
committerThomas Backlund <tmb@mageia.org>2018-01-09 23:17:47 +0200
commit13d0e32733b8c1827335a1551dedbbf88daf369f (patch)
tree0defdd4d33527c365a9f2af56881e74b5ba91c7e /perl-install/install
parenteb497cece2871e59a2f981602e44f303826ffeab (diff)
downloaddrakx-13d0e32733b8c1827335a1551dedbbf88daf369f.tar
drakx-13d0e32733b8c1827335a1551dedbbf88daf369f.tar.gz
drakx-13d0e32733b8c1827335a1551dedbbf88daf369f.tar.bz2
drakx-13d0e32733b8c1827335a1551dedbbf88daf369f.tar.xz
drakx-13d0e32733b8c1827335a1551dedbbf88daf369f.zip
installer: force update of /dev/disk/by-uuid after partitioning (mga#22059)
Because stage2 does not include the udev 60-blocks.rule, udev does not automatically update the soft links in /dev/disk/by-uuid after we write the partition table and format the partitions. We need these links to be updated before we create the initrd. It would be cleaner to fix this with a udev rule, but for now, use brute force.
Diffstat (limited to 'perl-install/install')
-rw-r--r--perl-install/install/NEWS2
-rw-r--r--perl-install/install/install2.pm7
2 files changed, 9 insertions, 0 deletions
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
index 919cf0b76..1a45e62ab 100644
--- a/perl-install/install/NEWS
+++ b/perl-install/install/NEWS
@@ -1,6 +1,8 @@
- diskdrake:
o ensure device major/minor numbers are reread after writing the
partition table (mga#22032)
+ o ensure soft links in /dev/disk/by-uuid are updated so that valid
+ UUIDs are embedded in the initrd (mga#22059)
Version 17.92 - 4 January 2017
diff --git a/perl-install/install/install2.pm b/perl-install/install/install2.pm
index 90759e651..cf8ff7da8 100644
--- a/perl-install/install/install2.pm
+++ b/perl-install/install/install2.pm
@@ -213,6 +213,13 @@ sub formatPartitions {
}
installStepsCall($o, $auto, 'formatMountPartitions') if !$::testing;
+ # Workaround for mga#22059. Because stage2 does not include the udev 60-blocks.rule,
+ # udev does not automatically update the soft links in /dev/disk/by-uuid after we
+ # write the partition table and format the partitions. We need these links to be
+ # updated before we create the initrd. It would be cleaner to fix this with a udev
+ # rule, but for now, use brute force.
+ run_program::run('udevadm', 'trigger', '--type=devices');
+
if ($want_root_formated) {
#- we formatted /, ensure /var/lib/rpm is cleaned otherwise bad things can happen
#- (especially when /var is *not* formatted)