Changeset b215278


Ignore:
Timestamp:
06/21/13 12:33:15 (16 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1, releng/10.0.2, releng/10.0.3
Children:
9a7d00b8, 7a8333b
Parents:
37c33e8
Message:

Add submenus to GRUB for each boot-environment, now you can select
Normal, Single User, Verbose, or the Display wizard (on PC-BSD)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src-sh/pc-extractoverlay/ports-overlay/usr/local/etc/grub.d/10_ktrueos

    r8a9837cc rb215278  
    101101        echo "Unable to locate module ${module}" >&2 
    102102      fi 
    103       echo "  kfreebsd_module_elf ${loadPrefix}/@/boot/${mPath}/${module}.ko" 
     103      echo "    kfreebsd_module_elf ${loadPrefix}/@/boot/${mPath}/${module}.ko" 
    104104    done < /tmp/.lRObjs.$$ 
    105105  fi 
     
    114114 
    115115      val="`echo $line | sed 's|"||g'`" 
    116       echo "  set kFreeBSD.${val}" 
     116      echo "    set kFreeBSD.${val}" 
    117117    done < /tmp/.lSysCtls.$$ 
    118118  fi 
     
    159159      shortdataset="/`echo $cdataset | cut -d '/' -f 2-5`" 
    160160 
    161       # Lets echo the main guts of the BE loader 
    162       cat << EOF 
    163 # Start TrueOS BE 
    164 menuentry "$NICK ($b) - $cdatadate $cdatatime" { 
    165   insmod zfs 
    166   search -s -l $ztank 
    167   kfreebsd ${shortdataset}/@/boot/kernel/kernel 
    168   kfreebsd_module ${shortdataset}/@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache 
    169   set kFreeBSD.vfs.root.mountfrom=zfs:$cdataset 
     161      # First part of this dataset 
     162      cat > /tmp/.grubdataset.$$.1 << EOF 
     163    insmod zfs 
     164    search -s -l $ztank 
     165EOF 
     166 
     167      # Second part of loader to save 
     168      cat > /tmp/.grubdataset.$$.2 << EOF 
     169    kfreebsd_module ${shortdataset}/@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache 
     170    set kFreeBSD.vfs.root.mountfrom=zfs:$cdataset 
    170171EOF 
    171172       
     
    175176      mount | grep -q -e "$cdataset on / (" -e "$cdataset on /mnt (" 
    176177      if [ $? -eq 0 ] ; then 
    177         display_loaderopts 
     178        display_loaderopts >>/tmp/.grubdataset.$$.2 
    178179      else 
    179         display_loaderopts $cdataset 
     180        display_loaderopts $cdataset >> /tmp/.grubdataset.$$.2 
    180181      fi 
    181182 
    182       # Lastly lets close the section 
     183      # Lets start a submenu for each BE 
     184cat << EOF 
     185# Start TrueOS BE Submenu 
     186submenu "${NICK} ($b) - ${cdatadate} ${cdatatime}" { 
     187EOF 
     188   
     189  # Lets do the default entry first 
     190  ################################# 
     191  cat << EOF 
     192  menuentry "Normal Bootup" { 
     193EOF 
     194  # Get the dataset guts 
     195  cat /tmp/.grubdataset.$$.1 
     196  echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel" 
     197  cat /tmp/.grubdataset.$$.2 
     198 
     199  # Set any options 
     200  cat << EOF 
     201  } 
     202EOF 
     203 
     204  # Next lets do single user mode 
     205  ################################# 
     206  cat << EOF 
     207  menuentry "Single User Mode" { 
     208EOF 
     209  # Get the dataset guts 
     210  cat /tmp/.grubdataset.$$.1 
     211  echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel -s" 
     212  cat /tmp/.grubdataset.$$.2 
     213 
     214  # Set any options 
     215  cat << EOF 
     216  } 
     217EOF 
     218 
     219  # Next lets do verbose mode 
     220  ################################# 
     221  cat << EOF 
     222  menuentry "Verbose Mode" { 
     223EOF 
     224  # Get the dataset guts 
     225  cat /tmp/.grubdataset.$$.1 
     226  echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel -v" 
     227  cat /tmp/.grubdataset.$$.2 
     228 
     229  # Set any options 
     230  cat << EOF 
     231  } 
     232EOF 
     233 
     234  if [ -e "/etc/defaults/pcbsd" ] ; then 
     235    # Next lets do display wizard 
     236    ################################# 
     237    cat << EOF 
     238  menuentry "Run the Display Wizard" { 
     239EOF 
     240    # Get the dataset guts 
     241    cat /tmp/.grubdataset.$$.1 
     242    echo "    kfreebsd ${shortdataset}/@/boot/kernel/kernel" 
     243    cat /tmp/.grubdataset.$$.2 
     244 
     245    # Set any options 
     246    cat << EOF 
     247    set kFreeBSD.runwiz=YES 
     248  } 
     249EOF 
     250  fi 
     251 
     252 
     253      # Lastly lets close the submenu section 
    183254      cat << EOF 
    184255} 
     
    188259   done 
    189260 
     261   # Cleanup after ourselves 
     262   if [ -e "/tmp/.grubdataset.$$.1" ] ; then 
     263     rm /tmp/.grubdataset.$$.1 
     264     rm /tmp/.grubdataset.$$.2 
     265   fi 
    190266} 
    191267 
Note: See TracChangeset for help on using the changeset viewer.