home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / YaST2 / include / bootloader / ppc / prep.ycp < prev   
Text File  |  2006-11-29  |  3KB  |  139 lines

  1. /**
  2.  * File:
  3.  *      bootloader/ppc/prep.ycp
  4.  *
  5.  * Module:
  6.  *      Bootloader installation and configuration
  7.  *
  8.  * Summary:
  9.  *      include containing specific functions for iSeries configuration
  10.  *      and installation
  11.  *
  12.  * Authors:
  13.  *      Jiri Srain <jsrain@suse.cz>
  14.  *
  15.  * $Id: prep.ycp 29688 2006-04-04 23:48:59Z odabrunz $
  16.  *
  17.  */
  18.  
  19. {
  20.     textdomain "bootloader";
  21.  
  22.     import "Kernel";
  23.     import "Installation";
  24.     import "Mode";
  25.  
  26.     import "BootCommon";
  27.  
  28.     include "bootloader/ppc/misc.ycp";
  29.     include "bootloader/routines/popups.ycp";
  30.  
  31.     /**
  32.       * Propose bootloader settings
  33.       * @param initial boolean true if doing initial proposal
  34.       */
  35.     global define void PRePPropose (boolean initial) ``{
  36.     if (BootCommon::was_proposed)
  37.     {
  38.         return;
  39.     }
  40.  
  41.         if ( ! (size (prep_boot_partitions) > 0 || prep_boot_partition != ""))
  42.         {
  43.             BootCommon::activate = false;
  44.         prep_boot_partition = "";
  45.         }
  46.     else
  47.     {
  48.         BootCommon::activate = true;
  49.     }
  50.     }
  51.  
  52.     /**
  53.       * Read the board-type-specific settings
  54.       * @return boolean true on success
  55.       */
  56.     global define boolean PRePRead () ``{
  57.     prep_boot_partition = (string) BootCommon::globals["boot"]:"";
  58.     BootCommon::activate = prep_boot_partition != "";
  59.     return true;
  60.     }
  61.  
  62.     /**
  63.       * Update the board-type-specific settings
  64.       * @return boolean true on success
  65.       */
  66.     global define boolean PRePUpdate () ``{
  67.     return true;
  68.     }
  69.  
  70.     /**
  71.       * Save the board-type-specific settings
  72.       * @return boolean true on success
  73.       */
  74.     global define boolean PRePSave () ``{
  75.     BootCommon::globals["boot"] = prep_boot_partition;
  76.     return true;
  77.     }
  78.  
  79.     /**
  80.       * retuen the board-type-specific part of summary
  81.       * @return a list of summary strings
  82.       */
  83.     global define list<string> PRePSummary () ``{
  84.     list<string> ret = [];
  85.     if ((! Mode::config ()) && 0 == size (prep_boot_partitions))
  86.     {
  87.         ret = [
  88.         // summary part
  89.         _("There is no 41 PReP boot partition. You cannot boot from the hard disk."),
  90.         ];
  91.     }
  92.     else if ( BootCommon::activate == false )
  93.     {
  94.         ret = [
  95.         // summary part
  96.         _("No boot configuration. Configure booting manually."),
  97.         ];
  98.     }
  99.     else
  100.     {
  101.         ret = [
  102.         // summary part
  103.         _("The zImage.prep from CD1/boot must be written to a 41 PReP boot partition."),
  104.         ];
  105.     }
  106.     return ret;
  107.     }
  108.  
  109.     /**
  110.       * Install the board-type-specific part of bootloader
  111.       * @param requires_initrd boolean true if initrd is required
  112.       * @return boolean true on success
  113.       */
  114.     global define boolean PRePWrite (boolean requires_initrd) ``{
  115.         if (! BootCommon::activate)
  116.             return true;
  117.     // the PReP boot file (the kernel) is not in k_deflt.rpm
  118.     // FIXME: this is one of the crudest hacks (cf #9718)
  119.     WFM::Execute (.local.bash, "/bin/cp -pv " + Installation::sourcedir
  120.         + "/boot/mvlinuz-prep* /boot/zImage.prep");
  121.     WFM::Execute (.local.bash, "/bin/cp -pv " + Installation::sourcedir
  122.         + "/boot/install-prep* /boot/zImage.initrd.prep");
  123.     return true;
  124.     }
  125.  
  126.     /**
  127.       * Initialize attributes of the board type
  128.       */
  129.     global define void PRePInit () ``{
  130.     y2milestone ("Initializing PReP attributes");
  131.     prep_only_active = true;
  132.     prep_only_iseries_vd = false;
  133.     prep_only_primary = true;
  134.     prep_same_disk_as_root = false;
  135.     table_items = [ "__prep_location" ];
  136.     }
  137.  
  138. }
  139.