Skip to content

Update grub from 2.00 to 2.02 #468

Merged
merged 3 commits into from
Aug 28, 2017
Merged

Update grub from 2.00 to 2.02 #468

merged 3 commits into from
Aug 28, 2017

Conversation

david
Copy link
Collaborator

@david david commented Aug 28, 2017

needed, because of problems between grub2.00 and xfsprogs4.12

fixes for new xfs version

Changelog:
        xfs: fix possible inode corruption in directory scan
        grub_xfs_iterate_dir did not restore first character after inline
        name when match was found. Dependning on XFS format this character
        could be inode number and we could return to the same node later in
        find_file if processing cycled symlinks.

        xfs: accept filesystem with meta_uuid
        XFS V5 stores UUID in metadata and compares them with superblock UUID.
        To allow changing of user-visible UUID it stores original value in new
        superblock field (meta_uuid) and sets incompatible flag to indicate that
        new field must be used to verify metadata. Our driver currently does not
        check metadata UUID so simply accept such filesystem.
@donald donald merged commit 89e0482 into master Aug 28, 2017
@pmenzel
Copy link
Collaborator

pmenzel commented Aug 29, 2017

Just for the archive, mxgrub only calls cmd_install if you run mxgrub <name> (no switch), and GRUB is not yet installed on the root device ($mbr_type ne 'GRUB').

sub cmd_install {
        my ($label)=@_;         #

        is_VX50() and die "This is a VX50, I refuse to install grub here\n";

        if ($label eq 'default') {
                scan_mariux(0);
                $found_default or exit 1;
        } else {
                scan_mariux(0,$label);
                $found_chosen or exit 1;
        }

        update_grub_cfg();

        my ($root_device,$root_disk)=root_dev();
        my $mbr_type=check_mbr($root_disk);
        if ($mbr_type ne 'GRUB') {
                sys 'grub-install',$root_disk and exit 1;
        }

        if ($label eq 'default') {
                sys('grub-editenv','-','set',"chosen=$MARIUX_DEFAULT");
        } else {
                sys('grub-editenv','-','set',"chosen=$label");
        }
}

@donald
Copy link
Collaborator

donald commented Aug 29, 2017

Can we read the grub-version from the mbr in check_mbr? Then we could keep that logic and call grub-install if an update is required.

@donald donald deleted the update-grub-from-2.00-to-2.02 branch October 9, 2017 11:13
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants