Project

General

Profile

Bug #7854

installboot should set MBR to load partition boot block if it was installed

Added by Toomas Soome almost 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
cmd - userland programs
Start date:
2017-02-12
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

installboot does install the MBR and partition boot block - 512B simple boot program, designed to load and start the actual boot2 program (gptzfsboot). installboot does record the starting LBA and the size in sectors of the boot2 into MBR block.

The problem is that if in case the MBR block (absolute sector 0) was not updated and the boot2 size is increased compared to previously installed boot2, the MBR code will not load whole boot2, resulting boot loader code to fail.

The system can still be booted via chainload from alternate media, but we need better insurance against such cases. The solution is to record in MBR the partition block location and size instead. As partition boot block is always updated, we will have MBR loading PBR and PBR will load boot2 using correct size.

#1

Updated by Electric Monk almost 4 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 90 to 100

git commit ec2c76eb1d5ecd7a4fccccefc1bc4aa7c1531606

commit  ec2c76eb1d5ecd7a4fccccefc1bc4aa7c1531606
Author: Toomas Soome <tsoome@me.com>
Date:   2017-02-23T00:20:27.000Z

    7854 installboot should set MBR to load partition boot block if it was installed
    Reviewed by: Jason King <jason.brian.king@gmail.com>
    Reviewed by: Dan McDonald <danmcd@omniti.com>
    Approved by: Robert Mustacchi <rm@joyent.com>

Also available in: Atom PDF