Enable usage of PARTUUID if /etc/fstab uses it for the root filesystem. While we're here, make the generated labels for the kernel choices more descriptive as well. --- lilo-24.2/src/bsect.c 2011-06-22 02:09:44.000000000 -0500 +++ lilo-24.2/src/bsect.c 2020-03-19 07:59:59.819990912 -0500 @@ -1098,6 +1098,9 @@ if (image) { /* long section specific to else if (strlen(root)>5 && !strncmp(root,"UUID=",5)) { sprintf(strchr(options,0),"root=%s ", root); } + else if (strlen(root)>9 && !strncmp(root,"PARTUUID=",9)) { + sprintf(strchr(options,0),"root=%s ", root); + } else { sprintf(strchr(options,0),"root=%x ",dev_number(root)); } --- lilo-24.2/scripts/liloconfig 2015-11-21 18:00:21.000000000 -0600 +++ lilo-24.2/scripts/liloconfig 2020-03-19 14:36:22.710002318 -0500 @@ -217,11 +218,12 @@ sub convert_root_device { $found = 0; } } - elsif ($rootpart =~ /^UUID/ or $rootpart =~ /^LABEL/) { + elsif ($rootpart =~ /^(PART)?UUID/ or $rootpart =~ /^LABEL/) { $root_link = $rootpart; $root_link =~ s{\"}{}g; $root_link =~ s{^LABEL=}{/dev/disk/by-label/}; $root_link =~ s{^UUID=}{/dev/disk/by-uuid/}; + $root_link =~ s{^PARTUUID=}{/dev/disk/by-partuuid/}; if (-l $root_link) { $root_id = $rootpart; @@ -610,6 +610,7 @@ sub write_image_config { my $initrd2; my $nr; my $nr2; + my $label; # append to new lilo.conf open(MYFH_NEW, ">> $liloconfnew") or die "Cannot open file: $!"; @@ -627,18 +628,16 @@ sub write_image_config { $initrd2 = $initrd; $initrd2 =~ s/\.img//; $nr2 = $nr + 1; + $label = $image; + $label =~ s@/boot/vmlinuz-@@; + $label =~ s/-[^-]*$//; + $label = substr $label, 0, 15; print MYFH_NEW 'image = ' . $image . "\n"; if($opt_v) { print 'image = ' . $image . "\n"; } - if ($nr == 0) { - print MYFH_NEW "\t" . 'label = "Linux"' . "\n"; - if($opt_v) { print "\t" . 'label = "Linux"' . "\n"; } - } - elsif ($nr == 1) { - print MYFH_NEW "\t" . 'label = "Linux Old"' . "\n"; - if($opt_v) { print "\t" . 'label = "Linux Old"' . "\n"; } - } + print MYFH_NEW "\t" . "label = \"$label\"" . "\n"; + if($opt_v) { print "\t" . "label = \"$label\"" . "\n"; } print MYFH_NEW "\t" . 'read-only' . "\n"; if($opt_v) { print "\t" . 'read-only' . "\n"; }