Changeset 07eb74c


Ignore:
Timestamp:
10/23/13 09:16:41 (9 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1, releng/10.0.2
Children:
9855292
Parents:
73ddd0e
Message:

Update installer GUI to provide option to use old FreeBSD boot-loader
this will work for users who don't care about BE's or want to test
the FreeBSD loader when it begins to get these features.

Update pc-sysinstall backend to work with BSD/bsd GRUB/grub as the
bootManager= string

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-installgui/installer.cpp

    r8d3682c r07eb74c  
    3535    nextButton->setText(tr("&Next")); 
    3636 
    37     // Init the MBR to yes 
    38     loadMBR = true; 
     37    // Init the boot-loader 
     38    bootLoader = QString("GRUB"); 
    3939    // Init the GPT to no 
    4040    loadGPT = false; 
     
    506506  if ( radioRestore->isChecked() ) 
    507507    wDisk->setRestoreMode(); 
    508   connect(wDisk, SIGNAL(saved(QList<QStringList>, bool, bool, QString, bool)), this, SLOT(slotSaveDiskChanges(QList<QStringList>, bool, bool, QString, bool))); 
     508  connect(wDisk, SIGNAL(saved(QList<QStringList>, QString, bool, QString, bool)), this, SLOT(slotSaveDiskChanges(QList<QStringList>, QString, bool, QString, bool))); 
    509509  wDisk->show(); 
    510510  wDisk->raise(); 
     
    537537} 
    538538 
    539 void Installer::slotSaveDiskChanges(QList<QStringList> newSysDisks, bool MBR, bool GPT, QString zName, bool zForce ) 
    540 { 
    541  
     539void Installer::slotSaveDiskChanges(QList<QStringList> newSysDisks, QString BL, bool GPT, QString zName, bool zForce ) 
     540{ 
     541 
     542  bootLoader=BL; 
    542543  zpoolName = zName;  
    543544  force4K = zForce; 
    544545 
    545546  // Save the new disk layout 
    546   loadMBR = MBR; 
    547547  loadGPT = GPT; 
    548548  sysFinalDiskLayout = newSysDisks; 
     
    10911091    tmpList << "partition=" + tmpSlice; 
    10921092 
    1093     // Are we loading a boot-loader? 
    1094     if ( loadMBR ) 
    1095       tmpList << "bootManager=GRUB"; 
    1096     else { 
    1097       // If the user declined the GRUB MBR, but we are still using a slice, install it to the slice 
    1098       // for chain-loading later 
    1099       if ( tmpSlice != "ALL" && ! loadGPT ) 
    1100         tmpList << "bootManager=GRUB-slice"; 
    1101       else 
    1102         tmpList << "bootManager=none"; 
    1103     } 
     1093    // Which boot-loader are we stamping? 
     1094    tmpList << "bootManager=" + bootLoader; 
    11041095 
    11051096    // Set the GPT/MBR options 
  • src-qt4/pc-installgui/installer.h

    r01ffd8dd r07eb74c  
    4848    // Disk slots 
    4949    void slotDiskCustomizeClicked(); 
    50     void slotSaveDiskChanges(QList<QStringList>, bool, bool, QString, bool); 
     50    void slotSaveDiskChanges(QList<QStringList>, QString, bool, QString, bool); 
    5151 
    5252    // Slots for the installation 
     
    126126    QList<QStringList> sysPartitions; // Our lists which contains partition info 
    127127    QList<QStringList> sysFinalDiskLayout; // Our lists which contains the final disk layout 
    128     bool loadMBR; 
     128    QString bootLoader; 
    129129    bool loadGPT; 
    130130    int systemMemory; // Ammount of system RAM we have in MB 
  • src-qt4/pc-installgui/wizardDisk.cpp

    r4fb8829 r07eb74c  
    9898void wizardDisk::accept() 
    9999{ 
    100   bool useGRUB = true; 
     100  QString bootLoader; 
    101101  bool useGPT = false; 
    102102  bool force4K = false; 
     
    105105    useGPT = checkGPT->isChecked(); 
    106106 
    107   // Are we installing GRUB? 
    108   useGRUB = checkGRUB->isChecked(); 
    109  
    110   if ( comboPartition->currentIndex() != 0 && ! useGRUB  ) { 
     107  // Get the boot-loader 
     108  bootLoader = comboBootLoader->currentText(); 
     109  if ( radioBasic->isChecked() ) 
     110     bootLoader="GRUB"; 
     111 
     112  if ( comboPartition->currentIndex() != 0 && bootLoader == "NONE"  ) { 
    111113     QMessageBox::warning(this, tr("No boot-loader!"), 
    112      tr("You have chosen not to install GRUB on your MBR. You will need to manually setup your own MBR loader."), 
     114     tr("You have chosen not to install a boot-loader. You will need to manually setup your own loader."), 
    113115     QMessageBox::Ok, 
    114116     QMessageBox::Ok); 
     
    127129 
    128130  if ( radioExpert->isChecked() ) 
    129     emit saved(sysFinalDiskLayout, false, false, zpoolName, force4K); 
     131    emit saved(sysFinalDiskLayout, QString("NONE"), false, zpoolName, force4K); 
    130132  else 
    131     emit saved(sysFinalDiskLayout, useGRUB, useGPT, zpoolName, force4K); 
     133    emit saved(sysFinalDiskLayout, bootLoader, useGPT, zpoolName, force4K); 
    132134  close(); 
    133135} 
     
    141143       if (radioBasic->isChecked()) { 
    142144         checkGPT->setVisible(false); 
    143          checkGRUB->setVisible(false); 
     145         comboBootLoader->setVisible(false); 
     146         textBootLoader->setVisible(false); 
    144147         checkForce4K->setVisible(false); 
    145148         groupZFSPool->setVisible(false); 
     
    147150       if (radioAdvanced->isChecked()) { 
    148151         checkGPT->setVisible(true); 
    149          checkGRUB->setVisible(true); 
     152         comboBootLoader->setVisible(true); 
     153         textBootLoader->setVisible(true); 
    150154         checkForce4K->setVisible(true); 
    151155         groupZFSPool->setVisible(true); 
     
    238242           checkGPT->setVisible(true); 
    239243           checkForce4K->setVisible(true); 
    240            if ( comboPartition->currentIndex() == 0) 
    241              checkGRUB->setText(tr("Install GRUB (Required for Boot-Environment support)")); 
    242            else 
    243              checkGRUB->setText(tr("Stamp GRUB on MBR")); 
    244244         }  
    245245 
  • src-qt4/pc-installgui/wizardDisk.h

    ref5392a r07eb74c  
    9393 
    9494signals: 
    95     void saved(QList<QStringList>, bool, bool, QString, bool); 
     95    void saved(QList<QStringList>, QString, bool, QString, bool); 
    9696 
    9797} ; 
  • src-qt4/pc-installgui/wizardDisk.ui

    r4fb8829 r07eb74c  
    190190  </widget> 
    191191  <widget class="QWizardPage" name="Page_BasicDisk"> 
    192    <layout class="QGridLayout" name="gridLayout_11"> 
    193     <item row="9" column="1"> 
    194      <widget class="QGroupBox" name="groupZFSPool"> 
    195       <property name="font"> 
    196        <font> 
    197         <weight>50</weight> 
    198         <bold>false</bold> 
    199        </font> 
    200       </property> 
    201       <property name="title"> 
    202        <string>ZFS pool name</string> 
    203       </property> 
    204       <property name="checkable"> 
    205        <bool>true</bool> 
    206       </property> 
    207       <property name="checked"> 
    208        <bool>false</bool> 
    209       </property> 
    210       <layout class="QGridLayout" name="gridLayout_4"> 
    211        <item row="0" column="0"> 
    212         <widget class="QLineEdit" name="lineZpoolName"> 
    213          <property name="inputMask"> 
    214           <string/> 
    215          </property> 
    216          <property name="maxLength"> 
    217           <number>32767</number> 
    218          </property> 
    219          <property name="placeholderText"> 
    220           <string notr="true">tank</string> 
    221          </property> 
    222         </widget> 
    223        </item> 
    224       </layout> 
    225      </widget> 
    226     </item> 
    227     <item row="2" column="1"> 
    228      <spacer name="verticalSpacer_4"> 
    229       <property name="orientation"> 
    230        <enum>Qt::Vertical</enum> 
    231       </property> 
    232       <property name="sizeType"> 
    233        <enum>QSizePolicy::Fixed</enum> 
    234       </property> 
    235       <property name="sizeHint" stdset="0"> 
    236        <size> 
    237         <width>387</width> 
    238         <height>18</height> 
    239        </size> 
    240       </property> 
    241      </spacer> 
    242     </item> 
    243     <item row="1" column="2" rowspan="11"> 
    244      <spacer name="horizontalSpacer_3"> 
    245       <property name="orientation"> 
    246        <enum>Qt::Horizontal</enum> 
    247       </property> 
    248       <property name="sizeType"> 
    249        <enum>QSizePolicy::Fixed</enum> 
    250       </property> 
    251       <property name="sizeHint" stdset="0"> 
    252        <size> 
    253         <width>17</width> 
    254         <height>256</height> 
    255        </size> 
    256       </property> 
    257      </spacer> 
    258     </item> 
    259     <item row="7" column="1"> 
    260      <widget class="QCheckBox" name="checkGRUB"> 
    261       <property name="text"> 
    262        <string>Install GRUB (Required for Boot-Environment support)</string> 
    263       </property> 
    264       <property name="checked"> 
    265        <bool>true</bool> 
    266       </property> 
    267      </widget> 
    268     </item> 
    269     <item row="0" column="1"> 
    270      <spacer name="verticalSpacer_5"> 
    271       <property name="orientation"> 
    272        <enum>Qt::Vertical</enum> 
    273       </property> 
    274       <property name="sizeType"> 
    275        <enum>QSizePolicy::Fixed</enum> 
    276       </property> 
    277       <property name="sizeHint" stdset="0"> 
    278        <size> 
    279         <width>387</width> 
    280         <height>18</height> 
    281        </size> 
    282       </property> 
    283      </spacer> 
    284     </item> 
    285     <item row="4" column="1"> 
    286      <spacer name="verticalSpacer_17"> 
    287       <property name="orientation"> 
    288        <enum>Qt::Vertical</enum> 
    289       </property> 
    290       <property name="sizeHint" stdset="0"> 
    291        <size> 
    292         <width>20</width> 
    293         <height>40</height> 
    294        </size> 
    295       </property> 
    296      </spacer> 
    297     </item> 
    298     <item row="0" column="0" rowspan="12"> 
     192   <layout class="QGridLayout" name="gridLayout_5"> 
     193    <item row="0" column="0" rowspan="9"> 
    299194     <layout class="QVBoxLayout" name="verticalLayout_4"> 
    300195      <item> 
     
    341236     </layout> 
    342237    </item> 
    343     <item row="5" column="1"> 
    344      <widget class="QCheckBox" name="checkGPT"> 
    345       <property name="text"> 
    346        <string>Partition disk with GPT</string> 
    347       </property> 
    348      </widget> 
     238    <item row="0" column="1"> 
     239     <spacer name="verticalSpacer_5"> 
     240      <property name="orientation"> 
     241       <enum>Qt::Vertical</enum> 
     242      </property> 
     243      <property name="sizeType"> 
     244       <enum>QSizePolicy::Fixed</enum> 
     245      </property> 
     246      <property name="sizeHint" stdset="0"> 
     247       <size> 
     248        <width>387</width> 
     249        <height>18</height> 
     250       </size> 
     251      </property> 
     252     </spacer> 
    349253    </item> 
    350254    <item row="1" column="1"> 
     
    364268     </widget> 
    365269    </item> 
    366     <item row="11" column="1"> 
    367      <spacer name="verticalSpacer_6"> 
    368       <property name="orientation"> 
    369        <enum>Qt::Vertical</enum> 
     270    <item row="1" column="2" rowspan="8"> 
     271     <spacer name="horizontalSpacer_3"> 
     272      <property name="orientation"> 
     273       <enum>Qt::Horizontal</enum> 
     274      </property> 
     275      <property name="sizeType"> 
     276       <enum>QSizePolicy::Fixed</enum> 
     277      </property> 
     278      <property name="sizeHint" stdset="0"> 
     279       <size> 
     280        <width>17</width> 
     281        <height>256</height> 
     282       </size> 
     283      </property> 
     284     </spacer> 
     285    </item> 
     286    <item row="2" column="1"> 
     287     <spacer name="verticalSpacer_4"> 
     288      <property name="orientation"> 
     289       <enum>Qt::Vertical</enum> 
     290      </property> 
     291      <property name="sizeType"> 
     292       <enum>QSizePolicy::Fixed</enum> 
    370293      </property> 
    371294      <property name="sizeHint" stdset="0"> 
    372295       <size> 
    373296        <width>387</width> 
    374         <height>43</height> 
    375        </size> 
    376       </property> 
    377      </spacer> 
    378     </item> 
    379     <item row="6" column="1"> 
    380      <widget class="QCheckBox" name="checkForce4K"> 
    381       <property name="text"> 
    382        <string>Force ZFS 4K block size</string> 
    383       </property> 
    384      </widget> 
     297        <height>18</height> 
     298       </size> 
     299      </property> 
     300     </spacer> 
    385301    </item> 
    386302    <item row="3" column="1"> 
     
    434350     </layout> 
    435351    </item> 
    436     <item row="8" column="1"> 
     352    <item row="4" column="1"> 
     353     <widget class="QCheckBox" name="checkGPT"> 
     354      <property name="text"> 
     355       <string>Partition disk with GPT</string> 
     356      </property> 
     357     </widget> 
     358    </item> 
     359    <item row="5" column="1"> 
     360     <widget class="QCheckBox" name="checkForce4K"> 
     361      <property name="text"> 
     362       <string>Force ZFS 4K block size</string> 
     363      </property> 
     364     </widget> 
     365    </item> 
     366    <item row="6" column="1"> 
    437367     <widget class="QCheckBox" name="checkSSD"> 
    438368      <property name="text"> 
     
    440370      </property> 
    441371     </widget> 
     372    </item> 
     373    <item row="7" column="1"> 
     374     <layout class="QHBoxLayout" name="horizontalLayout_2"> 
     375      <item> 
     376       <widget class="QComboBox" name="comboBootLoader"> 
     377        <item> 
     378         <property name="text"> 
     379          <string notr="true">GRUB</string> 
     380         </property> 
     381        </item> 
     382        <item> 
     383         <property name="text"> 
     384          <string notr="true">BSD</string> 
     385         </property> 
     386        </item> 
     387        <item> 
     388         <property name="text"> 
     389          <string notr="true">NONE</string> 
     390         </property> 
     391        </item> 
     392       </widget> 
     393      </item> 
     394      <item> 
     395       <widget class="QLabel" name="textBootLoader"> 
     396        <property name="text"> 
     397         <string>Boot-Loader (GRUB recommended)</string> 
     398        </property> 
     399       </widget> 
     400      </item> 
     401      <item> 
     402       <spacer name="horizontalSpacer_4"> 
     403        <property name="orientation"> 
     404         <enum>Qt::Horizontal</enum> 
     405        </property> 
     406        <property name="sizeHint" stdset="0"> 
     407         <size> 
     408          <width>40</width> 
     409          <height>20</height> 
     410         </size> 
     411        </property> 
     412       </spacer> 
     413      </item> 
     414     </layout> 
     415    </item> 
     416    <item row="8" column="1"> 
     417     <widget class="QGroupBox" name="groupZFSPool"> 
     418      <property name="font"> 
     419       <font> 
     420        <weight>50</weight> 
     421        <bold>false</bold> 
     422       </font> 
     423      </property> 
     424      <property name="title"> 
     425       <string>ZFS pool name</string> 
     426      </property> 
     427      <property name="checkable"> 
     428       <bool>true</bool> 
     429      </property> 
     430      <property name="checked"> 
     431       <bool>false</bool> 
     432      </property> 
     433      <layout class="QGridLayout" name="gridLayout_4"> 
     434       <item row="0" column="0"> 
     435        <widget class="QLineEdit" name="lineZpoolName"> 
     436         <property name="inputMask"> 
     437          <string/> 
     438         </property> 
     439         <property name="maxLength"> 
     440          <number>32767</number> 
     441         </property> 
     442         <property name="placeholderText"> 
     443          <string notr="true">tank</string> 
     444         </property> 
     445        </widget> 
     446       </item> 
     447      </layout> 
     448     </widget> 
     449    </item> 
     450    <item row="9" column="1"> 
     451     <spacer name="verticalSpacer_6"> 
     452      <property name="orientation"> 
     453       <enum>Qt::Vertical</enum> 
     454      </property> 
     455      <property name="sizeHint" stdset="0"> 
     456       <size> 
     457        <width>387</width> 
     458        <height>43</height> 
     459       </size> 
     460      </property> 
     461     </spacer> 
    442462    </item> 
    443463   </layout> 
  • src-sh/pc-sysinstall/backend/functions-disk.sh

    r87e7f725 r07eb74c  
    471471      strip_white_space "$VAL" 
    472472      BMANAGER="$VAL" 
     473      # Convert to upper 
     474      if [ "$BMANAGER" = "bsd" ] ; then BMANAGER="BSD" ; fi 
     475      if [ "$BMANAGER" = "grub" ] ; then BMANAGER="GRUB" ; fi 
     476      if [ "$BMANAGER" = "grub-slice" ] ; then BMANAGER="GRUB-slice" ; fi 
    473477    fi 
    474478 
     
    712716  rc_halt "gpart set -a active -i 1 ${_intDISK}" 
    713717 
    714   if [ "$_intBOOT" = "bsd" ] ; then 
     718  if [ "$_intBOOT" = "BSD" ] ; then 
    715719    echo_log "Stamping boot0 on ${_intDISK}" 
    716720    rc_halt "gpart bootcode -b /boot/boot0 ${_intDISK}" 
     
    849853  sleep 1 
    850854 
    851   if [ "${BMANAGER}" = "bsd" ]; then 
     855  if [ "${BMANAGER}" = "BSD" ]; then 
    852856    echo_log "Stamping boot sector on ${DISK}" 
    853857    rc_halt "gpart bootcode -b /boot/boot0 ${DISK}" 
     
    907911  sleep 1 
    908912 
    909   if [ "${BMANAGER}" = "bsd" ]; then 
     913  if [ "${BMANAGER}" = "BSD" ]; then 
    910914    echo_log "Stamping boot sector on ${DISK}" 
    911915    rc_halt "gpart bootcode -b /boot/boot0 ${DISK}" 
Note: See TracChangeset for help on using the changeset viewer.