Changeset 754bfae6


Ignore:
Timestamp:
05/16/14 08:54:36 (13 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, enter/10, releng/10.0.2, releng/10.0.3, releng/10.1, releng/10.1.1, releng/10.1.2
Children:
087ecf0
Parents:
9dc3bba
Message:

Add support to installer for ZFS cache (L2Arc) and Log (ZIL) drives

Also add GELI encryption support (experimental)

Location:
src-qt4/pc-installgui
Files:
4 edited

Legend:

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

    r50042c2 r754bfae6  
    231231{ 
    232232  QString targetType, tmp; 
    233   int targetLoc, totalSize = 0, mntsize, swapsize; 
     233  int targetLoc, totalSize = 0, swapsize; 
    234234  QString targetDisk, targetSlice, tmpPass, fsType; 
    235235  bool ok; 
     
    283283    loadGPT=true; 
    284284 
    285   // If on amd64 lets use ZFS, it rox 
    286   if ( Arch == "amd64" ) { 
    287     // Add the main zfs pool with standard partitions 
    288     fsType= "ZFS"; 
    289     fileSystem << targetDisk << targetSlice << "/(compress=lz4),/tmp(compress=lz4|exec=off|setuid=off),/usr(canmount=off),/usr/home(compress=lz4),/usr/jails(compress=lz4),/usr/obj(compress=lz4),/usr/pbi(compress=lz4),/usr/ports(compress=lz4),/usr/ports/distfiles(compress=off),/usr/src(compress=lz4),/var(canmount=off),/var/audit(compress=lz4),/var/log(compress=lz4|exec=off|setuid=off),/var/tmp(compress=lz4|exec=off|setuid=off)" << fsType << tmp.setNum(totalSize) << "" << ""; 
    290     sysFinalDiskLayout << fileSystem; 
    291     fileSystem.clear(); 
    292      
    293     // Now add swap space 
    294     fileSystem << targetDisk << targetSlice << "SWAP" << "SWAP" << tmp.setNum(swapsize) << "" << ""; 
    295     sysFinalDiskLayout << fileSystem; 
    296     fileSystem.clear(); 
    297  
    298     //qDebug() << "Auto-Gen FS:" <<  fileSystem; 
    299     return true; 
    300   } 
    301  
    302   // Looks like not on amd64, fallback to UFS+SUJ and print a nice  
    303   // warning for the user explaining they *really* want to be on amd64 
    304   QMessageBox::warning(this, tr("PC-BSD Installer"), 
    305       tr("Detected that you are running the 32bit version. If your system is 64bit capable (most systems made after 2005), you really should be running the 64bit version"), 
    306       QMessageBox::Ok, 
    307       QMessageBox::Ok); 
    308  
    309   // Start the UFS layout now 
    310   mntsize = 2000; 
    311   fsType="UFS+SUJ"; 
    312  
    313   fileSystem << targetDisk << targetSlice << "/" << fsType << tmp.setNum(mntsize) << "" << ""; 
    314   totalSize = totalSize - mntsize; 
    315   //qDebug() << "Auto-Gen FS:" <<  fileSystem; 
     285  // Add the main zfs pool with standard partitions 
     286  fsType= "ZFS"; 
     287  fileSystem << targetDisk << targetSlice << "/(compress=lz4),/tmp(compress=lz4|exec=off|setuid=off),/usr(canmount=off),/usr/home(compress=lz4),/usr/jails(compress=lz4),/usr/obj(compress=lz4),/usr/pbi(compress=lz4),/usr/ports(compress=lz4),/usr/ports/distfiles(compress=off),/usr/src(compress=lz4),/var(canmount=off),/var/audit(compress=lz4),/var/log(compress=lz4|exec=off|setuid=off),/var/tmp(compress=lz4|exec=off|setuid=off)" << fsType << tmp.setNum(totalSize) << "" << ""; 
    316288  sysFinalDiskLayout << fileSystem; 
    317289  fileSystem.clear(); 
    318290     
    319  
    320   fileSystem << targetDisk << targetSlice << "SWAP" << "SWAP" << tmp.setNum(swapsize) << "" << ""; 
    321   totalSize = totalSize - mntsize; 
    322   //qDebug() << "Auto-Gen FS:" <<  fileSystem; 
     291  // Now add swap space 
     292  fileSystem << targetDisk << targetSlice << "SWAP.eli" << "SWAP.eli" << tmp.setNum(swapsize) << "" << ""; 
    323293  sysFinalDiskLayout << fileSystem; 
    324294  fileSystem.clear(); 
    325295 
    326   // If less than 3GB, skip /var and leave on / 
    327   if ( totalSize > 3000 ) { 
    328     // Figure out the default size for /var if we are on FreeBSD / PC-BSD 
    329     mntsize = 2048; 
    330     fileSystem << targetDisk << targetSlice << "/var" << fsType << tmp.setNum(mntsize) << "" << ""; 
    331     totalSize = totalSize - mntsize; 
    332     //qDebug() << "Auto-Gen FS:" <<  fileSystem; 
    333     sysFinalDiskLayout << fileSystem; 
    334     fileSystem.clear(); 
    335   } 
    336  
    337   // Now use the rest of the disk / slice for /usr 
    338   fileSystem << targetDisk << targetSlice << "/usr" << fsType << tmp.setNum(totalSize) << "" << ""; 
    339296  //qDebug() << "Auto-Gen FS:" <<  fileSystem; 
    340   sysFinalDiskLayout << fileSystem; 
    341   fileSystem.clear(); 
    342  
    343   return true;  
     297  return true; 
    344298   
    345299} 
     
    463417      if ( copyList.at(i).at(0) == workingDisk \ 
    464418        && copyList.at(i).at(1) == workingSlice \ 
    465         && copyList.at(i).at(2) == "SWAP" ) { 
     419        && copyList.at(i).at(2) == "SWAP.eli" ) { 
    466420 
    467421        // Write the user summary 
     
    12061160      if ( copyList.at(i).at(0) == workingDisk \ 
    12071161        && copyList.at(i).at(1) == workingSlice \ 
    1208         && copyList.at(i).at(2) == "SWAP" ) { 
     1162        && copyList.at(i).at(2) == "SWAP.eli" ) { 
    12091163 
    12101164        // Write the partition line 
  • src-qt4/pc-installgui/wizardDisk.cpp

    r8dc88d5 r754bfae6  
    4545  connect(listZFSDisks,SIGNAL(itemActivated(QListWidgetItem *)),this,SLOT(slotCheckComplete())); 
    4646  connect(listZFSDisks,SIGNAL(itemChanged(QListWidgetItem *)),this,SLOT(slotCheckComplete())); 
     47  connect(groupZFSCache,SIGNAL(clicked(bool)),this,SLOT(slotCheckComplete())); 
     48  connect(listZFSCache,SIGNAL(itemClicked(QListWidgetItem *)),this,SLOT(slotCheckComplete())); 
     49  connect(listZFSCache,SIGNAL(itemActivated(QListWidgetItem *)),this,SLOT(slotCheckComplete())); 
     50  connect(listZFSCache,SIGNAL(itemChanged(QListWidgetItem *)),this,SLOT(slotCheckComplete())); 
     51  connect(groupZFSLog,SIGNAL(clicked(bool)),this,SLOT(slotCheckComplete())); 
     52  connect(listZFSLog,SIGNAL(itemClicked(QListWidgetItem *)),this,SLOT(slotCheckComplete())); 
     53  connect(listZFSLog,SIGNAL(itemActivated(QListWidgetItem *)),this,SLOT(slotCheckComplete())); 
     54  connect(listZFSLog,SIGNAL(itemChanged(QListWidgetItem *)),this,SLOT(slotCheckComplete())); 
     55  connect(groupEncrypt,SIGNAL(clicked(bool)),this,SLOT(slotCheckComplete())); 
     56  connect(lineEncPass,SIGNAL(textChanged(const QString &)),this,SLOT(slotCheckComplete())); 
     57  connect(lineEncPass2,SIGNAL(textChanged(const QString &)),this,SLOT(slotCheckComplete())); 
    4758 
    4859} 
     
    173184       break; 
    174185     case Page_ZFS: 
     186       return Page_ZFS2; 
     187       break; 
     188     case Page_ZFS2: 
     189       return Page_Enc; 
     190       break; 
     191     case Page_Enc: 
    175192       return Page_Mounts; 
    176193       break; 
     
    191208{ 
    192209 
     210  bool found; 
     211 
    193212  // Generate suggested disk layout and show disk tree 
    194213  if ( prevID == Page_BasicDisk && currentId() == Page_Mounts) { 
     
    198217 
    199218  // Generate suggested disk layout and show disk tree 
    200   if ( prevID == Page_ZFS && currentId() == Page_Mounts) { 
     219  if ( prevID == Page_Enc && currentId() == Page_Mounts) { 
    201220    generateDiskLayout(); 
    202221    populateDiskTree(); 
     
    206225  if ( prevID == Page_BasicDisk && currentId() == Page_ZFS) 
    207226     populateZFSDisks(); 
     227 
     228  // Show the other disks available 
     229  if ( prevID == Page_ZFS && currentId() == Page_ZFS2) 
     230     populateZFSDisks2(); 
    208231 
    209232  // Basic mode, generate a disk layout and show summary 
     
    330353         button(QWizard::NextButton)->setEnabled(false); 
    331354         return false; 
     355     case Page_ZFS2: 
     356         // Not using log / cache? 
     357         if ( !groupZFSCache->isChecked() && ! groupZFSLog->isChecked() ) 
     358         { 
     359           button(QWizard::NextButton)->setEnabled(true); 
     360           return true; 
     361         } 
     362         // Using both? See if we have any duplicates 
     363         if ( groupZFSCache->isChecked() && groupZFSLog->isChecked() ) 
     364         { 
     365            // Check for any matches 
     366            for ( int i = 0; i < listZFSCache->count(); ++i ) { 
     367                if ( listZFSCache->item(i)->checkState() == Qt::Checked ) 
     368                  for ( int z = 0; z < listZFSLog->count(); ++i ) { 
     369                    if ( listZFSLog->item(z)->checkState() == Qt::Checked ) 
     370                       if ( listZFSLog->item(z)->text() == listZFSCache->item(i)->text() ) { 
     371                          button(QWizard::NextButton)->setEnabled(false); 
     372                          return false; 
     373                       } 
     374                  } 
     375            } 
     376         } 
     377 
     378         // Check that we have at least one item checked 
     379         found = false; 
     380         if ( groupZFSCache->isChecked() ) 
     381         { 
     382            for ( int i = 0; i < listZFSCache->count(); ++i ) 
     383                if ( listZFSCache->item(i)->checkState() == Qt::Checked ) 
     384                   found = true; 
     385            if ( found == false) { 
     386              button(QWizard::NextButton)->setEnabled(false); 
     387              return false; 
     388            } 
     389         } 
     390         if ( groupZFSLog->isChecked() ) 
     391         { 
     392            for ( int i = 0; i < listZFSLog->count(); ++i ) 
     393                if ( listZFSLog->item(i)->checkState() == Qt::Checked ) 
     394                   found = true; 
     395            if ( found == false) { 
     396              button(QWizard::NextButton)->setEnabled(false); 
     397              return false; 
     398            } 
     399         } 
     400 
     401         button(QWizard::NextButton)->setEnabled(true); 
     402         return true; 
     403     case Page_Enc: 
     404         if ( ! groupEncrypt->isChecked() ) { 
     405           button(QWizard::NextButton)->setEnabled(true); 
     406           return true; 
     407         } 
     408         if ( lineEncPass->text().isEmpty() || lineEncPass->text() != lineEncPass2->text() ) { 
     409           button(QWizard::NextButton)->setEnabled(false); 
     410           return false; 
     411         } 
     412 
     413         button(QWizard::NextButton)->setEnabled(true); 
     414         return true; 
    332415     case Page_Confirmation: 
    333416         button(QWizard::FinishButton)->setEnabled(true); 
     
    355438        dItem->setCheckState(Qt::Unchecked); 
    356439        listZFSDisks->addItem(dItem); 
     440     } 
     441} 
     442 
     443void wizardDisk::populateZFSDisks2() 
     444{ 
     445   qDebug() << "Adding ZFS2 disks..."; 
     446   listZFSCache->clear(); 
     447   listZFSLog->clear(); 
     448 
     449   // What is the primary target disk 
     450   QString curDisk = comboDisk->currentText(); 
     451   curDisk.truncate(curDisk.indexOf(" -")); 
     452 
     453   // Get a list of other disks being used 
     454   QStringList usedDisks; 
     455   if ( groupZFSOpts->isChecked() ) { 
     456     for ( int i = 0; i < listZFSDisks->count(); ++i ) 
     457        if ( listZFSDisks->item(i)->checkState() == Qt::Checked ) { 
     458           QString zDisk = listZFSDisks->item(i)->text(); 
     459           zDisk.truncate(zDisk.indexOf(" -")); 
     460           usedDisks << zDisk; 
     461        } 
     462   } 
     463 
     464   // Now add any available disks to the combo boxes 
     465   for (int z=0; z < sysDisks.count(); ++z) 
     466     if ( sysDisks.at(z).at(0) == "DRIVE" && sysDisks.at(z).at(1) != curDisk && ! usedDisks.contains(sysDisks.at(z).at(1))  ) 
     467     { 
     468        QListWidgetItem *dItem = new QListWidgetItem(sysDisks.at(z).at(1) + " - " + sysDisks.at(z).at(2) + "MB " + sysDisks.at(z).at(3)); 
     469        dItem->setCheckState(Qt::Unchecked); 
     470        listZFSCache->addItem(dItem); 
     471        QListWidgetItem *dItem2 = new QListWidgetItem(sysDisks.at(z).at(1) + " - " + sysDisks.at(z).at(2) + "MB " + sysDisks.at(z).at(3)); 
     472        dItem2->setCheckState(Qt::Unchecked); 
     473        listZFSLog->addItem(dItem2); 
    357474     } 
    358475} 
     
    418535  { 
    419536     fsType= "ZFS"; 
     537     if ( groupEncrypt->isChecked() ) { 
     538        fsType="ZFS.eli"; 
     539        tmpPass=lineEncPass->text(); 
     540     } 
    420541 
    421542    QString rootOpts=""; 
     
    432553    // Now add swap space if NOT on a SSD 
    433554    if ( ! checkSSD->isChecked() ) { 
    434       fileSystem << targetDisk << targetSlice << "SWAP" << "SWAP" << tmp.setNum(swapsize) << "" << ""; 
     555      fileSystem << targetDisk << targetSlice << "SWAP.eli" << "SWAP.eli" << tmp.setNum(swapsize) << "" << ""; 
    435556      sysFinalDiskLayout << fileSystem; 
    436557      fileSystem.clear(); 
     
    551672 
    552673  // See if we need some other sanity check on sizes 
    553   if ( mnt == "SWAP" ) 
     674  if ( mnt == "SWAP.eli" ) 
    554675    minSize = 256; 
    555676  if ( mnt == "/" ) 
     
    8961017  QStringList zMnts; 
    8971018  fsType = "ZFS"; 
     1019  if ( groupEncrypt->isChecked() ) { 
     1020    fsType="ZFS.eli"; 
     1021    tmpPass=lineEncPass->text(); 
     1022  } 
    8981023  int zpoolSize = getDiskSliceSize(); 
    8991024 
     
    9211046        } 
    9221047  } 
     1048  // Any additional ZFS cache devices? 
     1049  if ( groupZFSCache->isChecked() ) { 
     1050     zOpts+=" cache"; 
     1051     for ( int i = 0; i < listZFSCache->count(); ++i ) 
     1052        if ( listZFSCache->item(i)->checkState() == Qt::Checked ) { 
     1053           zDisk = listZFSCache->item(i)->text(); 
     1054           zDisk.truncate(zDisk.indexOf(" -")); 
     1055           zOpts = zOpts + " " + zDisk; 
     1056        } 
     1057  } 
     1058  // Any additional ZFS log devices? 
     1059  if ( groupZFSLog->isChecked() ) { 
     1060     zOpts+=" log"; 
     1061     for ( int i = 0; i < listZFSLog->count(); ++i ) 
     1062        if ( listZFSLog->item(i)->checkState() == Qt::Checked ) { 
     1063           zDisk = listZFSLog->item(i)->text(); 
     1064           zDisk.truncate(zDisk.indexOf(" -")); 
     1065           zOpts = zOpts + " " + zDisk; 
     1066        } 
     1067  } 
    9231068 
    9241069  // Save the final disk layout 
     
    9291074  fileSystem.clear(); 
    9301075  if ( ! checkSSD->isChecked() ) { 
    931     fileSystem << targetDisk << targetSlice << "SWAP" << "SWAP" << tmp.setNum(swapsize) << "" << ""; 
     1076    fileSystem << targetDisk << targetSlice << "SWAP.eli" << "SWAP.eli" << tmp.setNum(swapsize) << "" << ""; 
    9321077    sysFinalDiskLayout << fileSystem; 
    9331078  } 
     
    10201165          summaryList << tr("Size:") + " " + copyList.at(i).at(4) + "MB "; 
    10211166 
    1022           if ( copyList.at(i).at(3) == "ZFS" ) { 
     1167          if ( copyList.at(i).at(3) == "ZFS" || copyList.at(i).at(3) == "ZFS.eli" ) { 
    10231168            QStringList zDS = copyList.at(i).at(2).split(",/"); 
    10241169            QString zTMP; 
     
    10521197      if ( copyList.at(i).at(0) == workingDisk \ 
    10531198        && copyList.at(i).at(1) == workingSlice \ 
    1054         && copyList.at(i).at(2) == "SWAP" ) { 
     1199        && copyList.at(i).at(2) == "SWAP.eli" ) { 
    10551200 
    10561201        // Write the user summary 
  • src-qt4/pc-installgui/wizardDisk.h

    r37284b29 r754bfae6  
    6868    void populateDiskTree(); 
    6969    void populateZFSDisks(); 
     70    void populateZFSDisks2(); 
    7071    void generateDiskLayout(); 
    7172    void generateCustomDiskLayout(); 
     
    9293    dialogFSSize *rFS; 
    9394    bool restoreMode; 
    94     enum { Page_Intro, Page_BasicDisk, Page_ZFS, Page_Mounts, Page_Expert, Page_Confirmation }; 
     95    enum { Page_Intro, Page_BasicDisk, Page_ZFS, Page_ZFS2, Page_Enc, Page_Mounts, Page_Expert, Page_Confirmation }; 
    9596 
    9697signals: 
  • src-qt4/pc-installgui/wizardDisk.ui

    r0535f803 r754bfae6  
    641641   </layout> 
    642642  </widget> 
     643  <widget class="QWizardPage" name="Page_ZFS2"> 
     644   <layout class="QGridLayout" name="gridLayout_6"> 
     645    <item row="0" column="0" rowspan="5"> 
     646     <layout class="QVBoxLayout" name="verticalLayout_11"> 
     647      <item> 
     648       <widget class="QLabel" name="label_23"> 
     649        <property name="sizePolicy"> 
     650         <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> 
     651          <horstretch>0</horstretch> 
     652          <verstretch>0</verstretch> 
     653         </sizepolicy> 
     654        </property> 
     655        <property name="maximumSize"> 
     656         <size> 
     657          <width>55</width> 
     658          <height>55</height> 
     659         </size> 
     660        </property> 
     661        <property name="text"> 
     662         <string/> 
     663        </property> 
     664        <property name="pixmap"> 
     665         <pixmap resource="sysinstaller.qrc">:/modules/images/disk.png</pixmap> 
     666        </property> 
     667        <property name="scaledContents"> 
     668         <bool>true</bool> 
     669        </property> 
     670        <property name="alignment"> 
     671         <set>Qt::AlignCenter</set> 
     672        </property> 
     673       </widget> 
     674      </item> 
     675      <item> 
     676       <spacer name="verticalSpacer_33"> 
     677        <property name="orientation"> 
     678         <enum>Qt::Vertical</enum> 
     679        </property> 
     680        <property name="sizeHint" stdset="0"> 
     681         <size> 
     682          <width>20</width> 
     683          <height>40</height> 
     684         </size> 
     685        </property> 
     686       </spacer> 
     687      </item> 
     688     </layout> 
     689    </item> 
     690    <item row="0" column="1"> 
     691     <spacer name="verticalSpacer_38"> 
     692      <property name="orientation"> 
     693       <enum>Qt::Vertical</enum> 
     694      </property> 
     695      <property name="sizeType"> 
     696       <enum>QSizePolicy::Fixed</enum> 
     697      </property> 
     698      <property name="sizeHint" stdset="0"> 
     699       <size> 
     700        <width>378</width> 
     701        <height>18</height> 
     702       </size> 
     703      </property> 
     704     </spacer> 
     705    </item> 
     706    <item row="1" column="1"> 
     707     <widget class="QLabel" name="label_18"> 
     708      <property name="sizePolicy"> 
     709       <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> 
     710        <horstretch>0</horstretch> 
     711        <verstretch>0</verstretch> 
     712       </sizepolicy> 
     713      </property> 
     714      <property name="text"> 
     715       <string>ZFS allows the use of read-cache (L2Arc) and write log devices (ZIL). If you wish to enable either of these, please select the disks to be used below. </string> 
     716      </property> 
     717      <property name="wordWrap"> 
     718       <bool>true</bool> 
     719      </property> 
     720     </widget> 
     721    </item> 
     722    <item row="2" column="1"> 
     723     <spacer name="verticalSpacer_34"> 
     724      <property name="orientation"> 
     725       <enum>Qt::Vertical</enum> 
     726      </property> 
     727      <property name="sizeType"> 
     728       <enum>QSizePolicy::Fixed</enum> 
     729      </property> 
     730      <property name="sizeHint" stdset="0"> 
     731       <size> 
     732        <width>20</width> 
     733        <height>18</height> 
     734       </size> 
     735      </property> 
     736     </spacer> 
     737    </item> 
     738    <item row="3" column="1"> 
     739     <widget class="QGroupBox" name="groupZFSCache"> 
     740      <property name="title"> 
     741       <string>Enable cache device</string> 
     742      </property> 
     743      <property name="checkable"> 
     744       <bool>true</bool> 
     745      </property> 
     746      <property name="checked"> 
     747       <bool>false</bool> 
     748      </property> 
     749      <layout class="QGridLayout" name="gridLayout_14"> 
     750       <item row="0" column="0"> 
     751        <widget class="QListWidget" name="listZFSCache"/> 
     752       </item> 
     753      </layout> 
     754     </widget> 
     755    </item> 
     756    <item row="4" column="1"> 
     757     <widget class="QGroupBox" name="groupZFSLog"> 
     758      <property name="title"> 
     759       <string>Enable log device</string> 
     760      </property> 
     761      <property name="checkable"> 
     762       <bool>true</bool> 
     763      </property> 
     764      <property name="checked"> 
     765       <bool>false</bool> 
     766      </property> 
     767      <layout class="QGridLayout" name="gridLayout_15"> 
     768       <item row="0" column="0"> 
     769        <widget class="QListWidget" name="listZFSLog"/> 
     770       </item> 
     771      </layout> 
     772     </widget> 
     773    </item> 
     774   </layout> 
     775  </widget> 
     776  <widget class="QWizardPage" name="Page_Enc"> 
     777   <layout class="QGridLayout" name="gridLayout_16"> 
     778    <item row="0" column="0" rowspan="5"> 
     779     <layout class="QVBoxLayout" name="verticalLayout_12"> 
     780      <item> 
     781       <widget class="QLabel" name="label_24"> 
     782        <property name="sizePolicy"> 
     783         <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> 
     784          <horstretch>0</horstretch> 
     785          <verstretch>0</verstretch> 
     786         </sizepolicy> 
     787        </property> 
     788        <property name="maximumSize"> 
     789         <size> 
     790          <width>55</width> 
     791          <height>55</height> 
     792         </size> 
     793        </property> 
     794        <property name="text"> 
     795         <string/> 
     796        </property> 
     797        <property name="pixmap"> 
     798         <pixmap resource="sysinstaller.qrc">:/modules/images/encrypted.png</pixmap> 
     799        </property> 
     800        <property name="scaledContents"> 
     801         <bool>true</bool> 
     802        </property> 
     803        <property name="alignment"> 
     804         <set>Qt::AlignCenter</set> 
     805        </property> 
     806       </widget> 
     807      </item> 
     808      <item> 
     809       <spacer name="verticalSpacer_35"> 
     810        <property name="orientation"> 
     811         <enum>Qt::Vertical</enum> 
     812        </property> 
     813        <property name="sizeHint" stdset="0"> 
     814         <size> 
     815          <width>20</width> 
     816          <height>40</height> 
     817         </size> 
     818        </property> 
     819       </spacer> 
     820      </item> 
     821     </layout> 
     822    </item> 
     823    <item row="0" column="1"> 
     824     <spacer name="verticalSpacer_37"> 
     825      <property name="orientation"> 
     826       <enum>Qt::Vertical</enum> 
     827      </property> 
     828      <property name="sizeType"> 
     829       <enum>QSizePolicy::Fixed</enum> 
     830      </property> 
     831      <property name="sizeHint" stdset="0"> 
     832       <size> 
     833        <width>378</width> 
     834        <height>18</height> 
     835       </size> 
     836      </property> 
     837     </spacer> 
     838    </item> 
     839    <item row="1" column="1"> 
     840     <layout class="QHBoxLayout" name="horizontalLayout_5"> 
     841      <item> 
     842       <widget class="QLabel" name="label_25"> 
     843        <property name="sizePolicy"> 
     844         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> 
     845          <horstretch>0</horstretch> 
     846          <verstretch>0</verstretch> 
     847         </sizepolicy> 
     848        </property> 
     849        <property name="text"> 
     850         <string>PC-BSD can encrypt your disks using the GELI framework. This is full-disk encryption and will require a password at startup. If you want to encrypt only your user data, home-directory encryption is available after installation.</string> 
     851        </property> 
     852        <property name="wordWrap"> 
     853         <bool>true</bool> 
     854        </property> 
     855       </widget> 
     856      </item> 
     857      <item> 
     858       <spacer name="horizontalSpacer_13"> 
     859        <property name="orientation"> 
     860         <enum>Qt::Horizontal</enum> 
     861        </property> 
     862        <property name="sizeType"> 
     863         <enum>QSizePolicy::Minimum</enum> 
     864        </property> 
     865        <property name="sizeHint" stdset="0"> 
     866         <size> 
     867          <width>40</width> 
     868          <height>20</height> 
     869         </size> 
     870        </property> 
     871       </spacer> 
     872      </item> 
     873     </layout> 
     874    </item> 
     875    <item row="2" column="1"> 
     876     <spacer name="verticalSpacer_36"> 
     877      <property name="orientation"> 
     878       <enum>Qt::Vertical</enum> 
     879      </property> 
     880      <property name="sizeType"> 
     881       <enum>QSizePolicy::Fixed</enum> 
     882      </property> 
     883      <property name="sizeHint" stdset="0"> 
     884       <size> 
     885        <width>20</width> 
     886        <height>18</height> 
     887       </size> 
     888      </property> 
     889     </spacer> 
     890    </item> 
     891    <item row="3" column="1"> 
     892     <widget class="QGroupBox" name="groupEncrypt"> 
     893      <property name="title"> 
     894       <string>Encrypt disk with GELI</string> 
     895      </property> 
     896      <property name="checkable"> 
     897       <bool>true</bool> 
     898      </property> 
     899      <property name="checked"> 
     900       <bool>false</bool> 
     901      </property> 
     902      <layout class="QGridLayout" name="gridLayout_11"> 
     903       <item row="0" column="0"> 
     904        <layout class="QGridLayout" name="gridLayout_7"> 
     905         <item row="0" column="0"> 
     906          <widget class="QLineEdit" name="lineEncPass"> 
     907           <property name="echoMode"> 
     908            <enum>QLineEdit::Password</enum> 
     909           </property> 
     910          </widget> 
     911         </item> 
     912         <item row="0" column="1"> 
     913          <widget class="QLabel" name="label_7"> 
     914           <property name="text"> 
     915            <string>Password</string> 
     916           </property> 
     917          </widget> 
     918         </item> 
     919         <item row="0" column="2"> 
     920          <spacer name="horizontalSpacer_5"> 
     921           <property name="orientation"> 
     922            <enum>Qt::Horizontal</enum> 
     923           </property> 
     924           <property name="sizeHint" stdset="0"> 
     925            <size> 
     926             <width>40</width> 
     927             <height>20</height> 
     928            </size> 
     929           </property> 
     930          </spacer> 
     931         </item> 
     932         <item row="1" column="0"> 
     933          <widget class="QLineEdit" name="lineEncPass2"> 
     934           <property name="echoMode"> 
     935            <enum>QLineEdit::Password</enum> 
     936           </property> 
     937          </widget> 
     938         </item> 
     939         <item row="1" column="1" colspan="2"> 
     940          <widget class="QLabel" name="label_8"> 
     941           <property name="text"> 
     942            <string>Password (Repeat)</string> 
     943           </property> 
     944          </widget> 
     945         </item> 
     946         <item row="1" column="3"> 
     947          <spacer name="horizontalSpacer_12"> 
     948           <property name="orientation"> 
     949            <enum>Qt::Horizontal</enum> 
     950           </property> 
     951           <property name="sizeHint" stdset="0"> 
     952            <size> 
     953             <width>40</width> 
     954             <height>20</height> 
     955            </size> 
     956           </property> 
     957          </spacer> 
     958         </item> 
     959        </layout> 
     960       </item> 
     961      </layout> 
     962     </widget> 
     963    </item> 
     964    <item row="4" column="1"> 
     965     <spacer name="verticalSpacer_7"> 
     966      <property name="orientation"> 
     967       <enum>Qt::Vertical</enum> 
     968      </property> 
     969      <property name="sizeHint" stdset="0"> 
     970       <size> 
     971        <width>387</width> 
     972        <height>135</height> 
     973       </size> 
     974      </property> 
     975     </spacer> 
     976    </item> 
     977   </layout> 
     978  </widget> 
    643979  <widget class="QWizardPage" name="Page_Mounts"> 
    644980   <layout class="QGridLayout" name="gridLayout_10"> 
Note: See TracChangeset for help on using the changeset viewer.