Project

General

Profile

Bug #3877

fast reboot does not work with extended partition

Added by Marcel Telka over 7 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
cmd - userland programs
Start date:
2013-07-08
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

When the system is installed in an extended partition, the fast reboot does not work:

# grep findroot /rpool/boot/grub/menu.lst | head -1
findroot (pool_rpool,4,a)
# dtrace -wq -n 'pid$target:a.out:parse_fastboot_args:return {exit(0)} ' -c "reboot -f" 
reboot: Failed to process GRUB menu entry for fast reboot.
    Invalid format for findroot
reboot: Falling back to regular reboot.

#

There are two problems in libgrubmgmt:

First, the findroot() is failing here:

397        ++pos;
398        if (!IS_PRTNUM_VALID(barg->gb_prtnum = pos[0] - '0'))
399            return (EG_FINDROOTFMT);

Second, the get_sol_prtnum() is failing, because it is processing only primary partitions:

105    for (i = 0; i < FD_NUMPART; ++i) {
106        if (ipart[i].systid == SUNIXOS || ipart[i].systid == SUNIXOS2)
107            return (i);
108    }
109    return (PRTNUM_INVALID);

History

#1

Updated by Marcel Telka over 7 years ago

  • Status changed from New to In Progress
#2

Updated by Igor Pashev over 7 years ago

Parsing of GRUB1 menu looks like ultimate crap.

Long term solution is to keep kernel command line inside the kernel, like linux does:

# cat /proc/cmdline 
root=/dev/ram0 real_root=LABEL=root vga=773
#3

Updated by Rich Lowe over 7 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100
  • Tags deleted (needs-triage)

Resolved in 01f9868a

Also, we don't need the kernel command line of this boot, because:

1) it might be another BE we're booting
2) the kernel command line may have been edited for this boot, and shouldn't propagate.

We do have the existing kernel command line accessible, not using it is intentional (ugly as hell, but intentional).

Also available in: Atom PDF