Author: juhliarik Date: Mon Feb 16 15:08:11 2009 New Revision: 55533 URL: http://svn.opensuse.org/viewcvs/yast?rev=55533&view=rev Log: - added several fixes - updated change log: using convetions for bnc#no, fate#no etc. Modified: trunk/bootloader/package/yast2-bootloader.changes trunk/bootloader/src/modules/BootArch.ycp trunk/bootloader/src/modules/BootCommon.ycp trunk/bootloader/src/modules/BootSupportCheck.ycp trunk/bootloader/src/modules/Bootloader.ycp trunk/bootloader/src/routines/lib_iface.ycp trunk/bootloader/src/routines/lilolike.ycp trunk/bootloader/src/routines/misc.ycp Modified: trunk/bootloader/package/yast2-bootloader.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/package/yast2-bootloader.changes?rev=55533&r1=55532&r2=55533&view=diff ============================================================================== --- trunk/bootloader/package/yast2-bootloader.changes (original) +++ trunk/bootloader/package/yast2-bootloader.changes Mon Feb 16 15:08:11 2009 @@ -1,19 +1,31 @@ ------------------------------------------------------------------- +Mon Feb 16 14:42:56 CET 2009 - juhliarik@suse.de + +- added fix for problem with wrong init for storage library + (bnc#464090) +- updated fix for increase performance on huge machine (bnc#468922) +- added fix for checking GPT and using the 4th partition for + booting (bnc#474854) +- added quit booting "splash=silent quiet" (bnc#475194) +- updated change log for using convention (bnc#no,fate#no etc.) +- 2.18.3 + +------------------------------------------------------------------- Mon Feb 9 15:42:12 CET 2009 - juhliarik@suse.de -- added fix for using buttons (bnc #440553) -- added fix for checking boot device on mac machines (bnc #343670) +- added fix for using buttons (bnc#440553) +- added fix for checking boot device on mac machines (bnc#343670) - 2.18.2 ------------------------------------------------------------------- Wed Feb 4 14:50:21 CET 2009 - juhliarik@suse.cz - added fix for problem with unnecessary popup mesage for writting - bootloader to floppy (bnc #333459) + bootloader to floppy (bnc#333459) - added fix meesage about writting bootloader to floppy includes - "Cancel" button (bnc #433348) + "Cancel" button (bnc#433348) - changed text about using XFS there is used "may not" insted of - "will not" (bug #449823) + "will not" (bug#449823) - updated help text - 2.18.1 @@ -21,49 +33,49 @@ Wed Feb 4 12:15:21 CET 2009 - juhliarik@suse.cz - added fix for finding the smallest partition on pmac machine - (bnc #459860) + (bnc#459860) - updated function Dev2MountByDev() which can run long time if - machine included huge number of disks (bnc #468922) + machine included huge number of disks (bnc#468922) - added fix for problem with adding boot entry to EFI if installation run on different disk but with same boot partition - (bnc #450682) + (bnc#450682) - added fix for using translated text in bootloader e.g. Image, - Other (bug #445999) + Other (bug#445999) - 2.18.0 ------------------------------------------------------------------- Tue Jan 20 14:11:38 CET 2009 - juhliarik@suse.cz - added fix for problem with calling parted each time when - yast2-bootloader is called (bnc #461613, #357290) + yast2-bootloader is called (bnc#461613,#357290) ------------------------------------------------------------------- Thu Jan 15 15:28:38 CET 2009 - juhliarik@suse.cz - added fix for problem with lines_cache_id == "" -it is cause of - error output from perl-Bootloader (bnc #464098) + error output from perl-Bootloader (bnc#464098) ------------------------------------------------------------------- Wed Jan 14 13:59:14 CET 2009 - juhliarik@suse.cz -- added fix for changing EFI label in running system (bnc #269198) -- added fix for problem with primary language in GRUB (bnc #447053) +- added fix for changing EFI label in running system (bnc#269198) +- added fix for problem with primary language in GRUB (bnc#447053) ------------------------------------------------------------------- Thu Dec 11 17:43:40 CET 2008 - juhliarik@suse.cz - added fix for problem with autoinstallation and powerlilo - (bnc #439674) -- added fix for bnc #450506 root=kernelname + (bnc#439674) +- added fix for (bnc#450506) root=kernelname - added fix for problem with adding kernel to proposal (SLERT) - (bnc #450153) + (bnc#450153) - 2.17.46 ------------------------------------------------------------------- Mon Dec 8 15:41:43 CET 2008 - juhliarik@suse.cz - added fix for problem with installation if boot device is NFS - (bnc #440183) + (bnc#440183) ------------------------------------------------------------------- Sun Dec 7 14:45:22 CET 2008 - juhliarik@suse.cz @@ -79,39 +91,39 @@ ------------------------------------------------------------------- Tue Dec 2 16:28:27 CET 2008 - juhliarik@suse.cz -- added fix for onetime boot if default is windows (bnc #339024) +- added fix for onetime boot if default is windows (bnc#339024) ------------------------------------------------------------------- Tue Dec 2 15:35:30 CET 2008 - juhliarik@suse.cz - updated heuristic for adding other OS to menu.lst for GRUB - (bnc #448010) + (bnc#448010) ------------------------------------------------------------------- Mon Dec 1 16:07:54 CET 2008 - juhliarik@suse.cz - added fix for proposal if MBR include Vista code and "/" is on - logical partition (bnc #450137) -- added update of handling serial console (bnc #449726) + logical partition (bnc#450137) +- added update of handling serial console (bnc#449726) - 2.17.44 ------------------------------------------------------------------- Mon Dec 1 14:32:09 CET 2008 - juhliarik@suse.cz -- added fix for problem with multipath (bnc #448110) -- added fix for problem with cloning boot sections (bnc #450190) +- added fix for problem with multipath (bnc#448110) +- added fix for problem with cloning boot sections (bnc#450190) ------------------------------------------------------------------- Thu Nov 27 18:55:11 CET 2008 - juhliarik@suse.cz -- added fix for problem with missing "console" (bnc #449726) +- added fix for problem with missing "console" (bnc#449726) - 2.17.43 ------------------------------------------------------------------- Thu Nov 27 16:46:21 CET 2008 - juhliarik@suse.cz -- deleted fix for bug #439674 - it fix problem with proposal of - globals on PPC (bnc #449747) +- deleted fix for (bnc#439674) - it fix problem with proposal of + globals on PPC (bnc#449747) - 2.17.42 ------------------------------------------------------------------- @@ -122,86 +134,86 @@ ------------------------------------------------------------------- Wed Nov 26 13:26:21 CET 2008 - juhliarik@suse.cz -- added fix for problem with "boot" in lilo.conf (bnc #449062) +- added fix for problem with "boot" in lilo.conf (bnc#449062) ------------------------------------------------------------------- Tue Nov 25 15:37:01 CET 2008 - juhliarik@suse.cz -- added fix for problem with changed default section (bnc #446555) +- added fix for problem with changed default section (bnc#446555) ------------------------------------------------------------------- Tue Nov 25 10:51:12 CET 2008 - jsrain@suse.cz -- write correct language list in /boot/message (bnc #447053) +- write correct language list in /boot/message (bnc#447053) ------------------------------------------------------------------- Tue Nov 25 10:05:30 CET 2008 - juhliarik@suse.cz -- added fix for recreating device map (bnc #438243) +- added fix for recreating device map (bnc#438243) - updated proposal if boot device is on logical partition - (bnc #279837 - commnet #53) + (bnc#279837#c53) ------------------------------------------------------------------- Mon Nov 24 15:54:41 CET 2008 - juhliarik@suse.cz -- updated proposal of bootloader (bnc #279837 - comment #53) +- updated proposal of bootloader (bnc#279837#c53) - added fix for recreating device map if storage change settings - (bnc #438243) + (bnc#438243) ------------------------------------------------------------------- Fri Nov 21 12:11:27 CET 2008 - juhliarik@suse.cz -- updated fix for checking if boot entry exist in EFI (bnc #438215) +- updated fix for checking if boot entry exist in EFI (bnc#438215) - 2.17.40 ------------------------------------------------------------------- Wed Nov 19 13:50:35 CET 2008 - juhliarik@suse.cz - added fix for problem with writing default kernel args to - /etc/sysconfig/bootloader (bnc #440125) + /etc/sysconfig/bootloader (bnc#440125) -2.17.39 ------------------------------------------------------------------- Wed Nov 12 12:26:47 CET 2008 - juhliarik@suse.cz -- deleted adding beep for booting (bnc #439328) +- deleted adding beep for booting (bnc#439328) - 2.17.38 ------------------------------------------------------------------- Wed Nov 12 10:55:10 CET 2008 - juhliarik@suse.cz -- added fix for problem with missing boot_* in globals (bnc #439674) +- added fix for problem with missing boot_* in globals (bnc#439674) ------------------------------------------------------------------- Mon Nov 10 14:46:36 CET 2008 - juhliarik@suse.cz - added fix for problem with disabled button for detail settings of - trusted GRUB (bnc #442706) -- added calling function Pkg::SourceProvideFile() (bnc #409927) + trusted GRUB (bnc#442706) +- added calling function Pkg::SourceProvideFile() (bnc#409927) - 2.17.37 ------------------------------------------------------------------- Fri Nov 7 10:29:26 CET 2008 - juhliarik@suse.cz - added fix for writing crashkernel to bootloader from kdump on ppc - (bnc #441547) -- added fix for double boot entry twice by efibootmgr (bnc #438215) -- added fix for using fix_chs (bnc #367304) + (bnc#441547) +- added fix for double boot entry twice by efibootmgr (bnc#438215) +- added fix for using fix_chs (bnc#367304) - 2.17.36 ------------------------------------------------------------------- Fri Oct 31 12:49:14 CET 2008 - juhliarik@suse.cz - added better proposal checking elilo ,lilo -- added fix for typo (bnc #439030) -- added fix for selectinf "none" bootloader (bnc #438976) +- added fix for typo (bnc#439030) +- added fix for selectinf "none" bootloader (bnc#438976) - 2.17.35 ------------------------------------------------------------------- Mon Oct 27 12:45:44 CET 2008 - juhliarik@suse.cz -- updated checking of boot device s not on XFS (bnc #438757) -- added fix for problem with generic boot code (bnc #438752) +- updated checking of boot device s not on XFS (bnc#438757) +- added fix for problem with generic boot code (bnc#438752) - 2.17.34 ------------------------------------------------------------------- @@ -213,7 +225,7 @@ ------------------------------------------------------------------- Mon Oct 27 10:21:57 CET 2008 - juhliarik@suse.cz -- added fix for using persistent device name in lilo (bnc #437764) +- added fix for using persistent device name in lilo (bnc#437764) - 2.17.32 ------------------------------------------------------------------- @@ -221,71 +233,71 @@ - added fix for problem with converting lilo to grub during update system -- added fix - deleting read-only option for elilo (bnc #438276) +- added fix - deleting read-only option for elilo (bnc#438276) ------------------------------------------------------------------- Thu Oct 23 14:25:18 CEST 2008 - juhliarik@suse.cz -- added fix for broken titles in lilo (bnc #437693) +- added fix for broken titles in lilo (bnc#437693) ------------------------------------------------------------------- Tue Oct 21 18:35:31 CEST 2008 - juhliarik@suse.cz -- update for bug with deleting boot section (bnc #436890) +- update for bug with deleting boot section (bnc#436890) - 2.17.31 ------------------------------------------------------------------- Tue Oct 21 12:01:31 CEST 2008 - juhliarik@suse.cz - added fix for problem with deleting all boot section for elilo - (bnc #436890) -- added fox for problem with XEN boot section in domU (bnc #436899) + (bnc#436890) +- added fox for problem with XEN boot section in domU (bnc#436899) - 2.17.30 ------------------------------------------------------------------- Fri Oct 17 14:58:02 CEST 2008 - juhliarik@suse.cz -- added fix for adding language to GRUB (bnc #429287) +- added fix for adding language to GRUB (bnc#429287) - 2.17.29 ------------------------------------------------------------------- Thu Oct 16 15:24:21 CEST 2008 - juhliarik@suse.cz -- added fix for using autoyast profil from SLES9 (bnc #344659) +- added fix for using autoyast profil from SLES9 (bnc#344659) ------------------------------------------------------------------- Thu Oct 16 10:05:03 CEST 2008 - juhliarik@suse.cz -- added fix for handling mounpoints (bnc #431977) +- added fix for handling mounpoints (bnc#431977) ------------------------------------------------------------------- Wed Oct 15 12:51:29 CEST 2008 - juhliarik@suse.cz -- added fix to proposal with "/" on logical partition (bnc #259050) +- added fix to proposal with "/" on logical partition (bnc#259050) ------------------------------------------------------------------- Wed Oct 15 12:21:51 CEST 2008 - jsrain@suse.cz - handle multipath devices properly when creating device map - (bnc #433092) + (bnc#433092) - 2.17.28 ------------------------------------------------------------------- Mon Oct 13 16:40:11 CEST 2008 - juhliarik@suse.cz -- added fix for translation labes for ELILO (bnc #151486) -- added fix for typo in help text (bnc #433424) +- added fix for translation labes for ELILO (bnc#151486) +- added fix for typo in help text (bnc#433424) - added fix for problem with device names in live CD installation - (bnc #432699) + (bnc#432699) - 2.17.27 ------------------------------------------------------------------- Fri Oct 10 14:50:31 CEST 2008 - jsrain@suse.cz - fixed bootloader proposal in mixed standalone disk and BIOS-RAID - environments (bnc #433092) + environments (bnc#433092) - issue a warning if /boot directory is on XFS on x86 boot - architecture (bnc #429042) + architecture (bnc#429042) ------------------------------------------------------------------- Wed Oct 8 15:32:09 CEST 2008 - juhliarik@suse.cz @@ -295,86 +307,86 @@ ------------------------------------------------------------------- Wed Oct 8 10:39:12 CEST 2008 - juhliarik@suse.cz -- added fix for adding crashkernel from y2-kdump (bnc #432651) -- added fix for writing proposal (bnc #433344) -- added fix for checking if boot device is on raid0 (bnc #156800) +- added fix for adding crashkernel from y2-kdump (bnc#432651) +- added fix for writing proposal (bnc#433344) +- added fix for checking if boot device is on raid0 (bnc#156800) - 2.17.26 ------------------------------------------------------------------- Fri Oct 3 17:28:27 CEST 2008 - juhliarik@suse.cz -- added fix for installing packages (bnc #431580) -- added fix for 2 identical section in powerLILO (bnc #427730) -- added fix for mapping disk by label for powerLILO (bnc #41497) +- added fix for installing packages (bnc#431580) +- added fix for 2 identical section in powerLILO (bnc#427730) +- added fix for mapping disk by label for powerLILO (bnc#41497) - 2.17.25 ------------------------------------------------------------------- Tue Sep 30 13:37:44 CEST 2008 - juhliarik@suse.cz -- updated fix for converting LILO to GRUB (bnc #430579) +- updated fix for converting LILO to GRUB (bnc#430579) - 2.17.24 ------------------------------------------------------------------- Mon Sep 29 17:10:36 CEST 2008 - juhliarik@suse.cz -- added new dialog for updating from lilo to grub (bnc #430579) +- added new dialog for updating from lilo to grub (bnc#430579) - 2.17.23 ------------------------------------------------------------------- Mon Sep 29 15:45:41 CEST 2008 - jsrain@suse.cz -- fixed no scrren contents after changing loader type (bnc #427622) +- fixed no scrren contents after changing loader type (bnc#427622) - avoid mixing options of different bootloader after loaded type change ------------------------------------------------------------------- Thu Sep 25 17:44:24 CEST 2008 - juhliarik@suse.cz -- added fix for problem with changed default name (bnc #169062) -- added fix for problem with editing custom boot (bnc #395009) -- added fix for problem with timeout update (bnc #395851) +- added fix for problem with changed default name (bnc#169062) +- added fix for problem with editing custom boot (bnc#395009) +- added fix for problem with timeout update (bnc#395851) - 2.17.22 ------------------------------------------------------------------- Thu Sep 18 17:39:43 CEST 2008 - juhliarik@suse.cz -- added fix for initialise yast2-stroage (bnc #419197) -- help update (bnc #220283) +- added fix for initialise yast2-stroage (bnc#419197) +- help update (bnc#220283) - 2.17.21 ------------------------------------------------------------------- Thu Sep 16 16:35:43 CEST 2008 - juhliarik@suse.cz -- added fix for deleting fake xen boot section (bnc #408346) -- added fix for failsafe options for kernel (bnc #419464) +- added fix for deleting fake xen boot section (bnc#408346) +- added fix for failsafe options for kernel (bnc#419464) - 2.17.20 ------------------------------------------------------------------- Thu Sep 16 16:35:43 CEST 2008 - juhliarik@suse.cz -- added fix for getDefaultSection() for zipl (bnc #364904) -- added fix for deleting gfxmenu from menu.lst (bnc #398806) +- added fix for getDefaultSection() for zipl (bnc#364904) +- added fix for deleting gfxmenu from menu.lst (bnc#398806) - 2.17.19 ------------------------------------------------------------------- Thu Sep 16 10:54:43 CEST 2008 - juhliarik@suse.cz -- added fix for problem with rnc file - syntax error (bnc #426522) +- added fix for problem with rnc file - syntax error (bnc#426522) - 2.17.18 ------------------------------------------------------------------- Thu Sep 12 14:24:43 CEST 2008 - juhliarik@suse.cz -- added support of trusted grub (FATE #303784, #303672, #303891, - #303983) -- added warning that lilo is not supported (FATE #305006) +- added support of trusted grub (fate#303784), (fate#303672), + (fate#303891), (fate#303983) +- added warning that lilo is not supported (fate#305006) - 2.17.17 ------------------------------------------------------------------- Thu Sep 11 15:27:43 CEST 2008 - locilka@suse.cz - Calling new reipl_bootloader_finish client from yast2-reipl - in bootloader_finish (FATE #304960). + in bootloader_finish (fate#304960). - 2.17.16 ------------------------------------------------------------------- @@ -386,46 +398,46 @@ Wed Sep 3 12:00:58 CEST 2008 - jsrain@suse.cz - added detection of EFI, proposing ELILO in that case - (fate #301882) + (fate#301882) - 2.17.15 ------------------------------------------------------------------- Wed Aug 20 15:34:22 CEST 2008 - jsrain@suse.cz - added skeleton for checking whether scenario is supported, not - yet actually used (fate #304499) + yet actually used (fate#304499) ------------------------------------------------------------------- Mon Aug 18 12:34:35 CEST 2008 - jsrain@suse.cz - store bootloader type before installing packages, fixed check - for undefined product name (bnc #417383) + for undefined product name (bnc#417383) - 2.17.14 ------------------------------------------------------------------- Thu Aug 14 15:16:04 CEST 2008 - juhliarik@suse.cz -- added support for creating console for kernel args (fate #110038) +- added support for creating console for kernel args (fate#110038) - 2.17.13 ------------------------------------------------------------------- Wed Aug 13 14:36:59 CEST 2008 - juhliarik@suse.cz -- added changes for pesistent device names (fate #302219) +- added changes for pesistent device names (fate#302219) - 2.17.12 ------------------------------------------------------------------- Wed Aug 6 15:42:28 CEST 2008 - juhliarik@suse.cz -- added better detection of NFS boot device (bnc #408912) +- added better detection of NFS boot device (bnc#408912) - added better detection of EVMS - do not install bootloader - (fate #305007) + (fate#305007) - 2.17.11 ------------------------------------------------------------------- Wed Aug 6 12:55:17 CEST 2008 - juhliarik@suse.cz -- added support for acoustic signals (fate #303481) +- added support for acoustic signals (fate#303481) - added checkbox for enabling remapping in chainloader section - 2.17.10 @@ -433,39 +445,39 @@ Tue Aug 5 12:05:04 CEST 2008 - juhliarik@suse.cz - added/enabled support for ordering disks in device.map for GRUB - (fate ##303964) + (fate#303964) - 2.17.9 ------------------------------------------------------------------- Mon Aug 4 13:29:01 CEST 2008 - juhliarik@suse.cz - added support for reducing devices from device.map to 8 devices - (fate #303548) + (fate#303548) - 2.17.8 ------------------------------------------------------------------- Thu Jul 31 10:27:42 CEST 2008 - juhliarik@suse.cz - added support for remaping windows chainloader boot section - (fate #301994) + (fate#301994) - 2.17.7 ------------------------------------------------------------------- Tue Jul 29 18:18:38 CEST 2008 - juhliarik@suse.cz - update solution for saving kernel args to - /etc/sysconfig/bootloader (fate #302245) + /etc/sysconfig/bootloader (fate#302245) - 2.17.6 ------------------------------------------------------------------ Sun Jul 27 17:52:58 CEST 2008 - juhliarik@suse.cz -- added powersaved=off to boot section for failsave (bnc #153345) +- added powersaved=off to boot section for failsave (bnc#153345) ------------------------------------------------------------------- Wed Jul 23 15:16:58 CEST 2008 - juhliarik@suse.cz -- added support for persistent device names (fate #302219) +- added support for persistent device names (fate#302219) - 2.17.5 ------------------------------------------------------------------- @@ -477,7 +489,7 @@ Wed Jul 16 14:27:23 CEST 2008 - jsrain@suse.cz - store kernel parameters to sysconfig during installation - (fate #302245) + (fate#302245) ------------------------------------------------------------------- Fri Jul 11 13:18:05 CEST 2008 - ug@suse.de @@ -487,26 +499,26 @@ ------------------------------------------------------------------- Thu Jul 10 17:29:00 CEST 2008 - juhliarik@suse.cz -- enable installing GRUB to XEN (bnc #380982) +- enable installing GRUB to XEN (bnc#380982) - 2.17.3 ------------------------------------------------------------------- Thu Jun 27 17:24:00 CEST 2008 - juhliarik@suse.cz -- correct labels for buttons (bnc #398492) +- correct labels for buttons (bnc#398492) ------------------------------------------------------------------- Thu Jun 26 17:24:00 CEST 2008 - juhliarik@suse.cz -- deleted support xenpae (bnc #400526) +- deleted support xenpae (bnc#400526) - 2.17.2 ------------------------------------------------------------------- Thu Jun 26 16:51:00 CEST 2008 - juhliarik@suse.cz - added support for better detection Vista in MBR -- added fix for installing generic code if MBR is uknown (bnc #400062) -- added fix for detection MBR if sw-raid is used (bnc #398356) +- added fix for installing generic code if MBR is uknown (bnc#400062) +- added fix for detection MBR if sw-raid is used (bnc#398356) - 2.17.1 ------------------------------------------------------------------- Modified: trunk/bootloader/src/modules/BootArch.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/modules/BootArch.ycp?rev=55533&r1=55532&r2=55533&view=diff ============================================================================== --- trunk/bootloader/src/modules/BootArch.ycp (original) +++ trunk/bootloader/src/modules/BootArch.ycp Mon Feb 16 15:08:11 2009 @@ -60,7 +60,7 @@ ret = ret + features + " "; if (regexpmatch (ret, "^(.* )?splash=[[:lower:]]+( .*)?$")) ret = regexpsub (ret, "^((.* ))?splash=[[:lower:]]+(( .*)?)$", "\\1 \\3"); - ret = ret + "splash=silent showopts"; + ret = ret + "splash=silent quiet"; return ret; } else if (Arch::ia64 ()) @@ -68,7 +68,7 @@ string ret = (kernel_cmdline != "") ? kernel_cmdline + " " : ""; if (features != "") ret = ret + features + " "; - ret = ret + "splash=silent"; + ret = ret + "splash=silent quiet"; // FIXME: this does not belong here, it cannot be tracked or maintained // and is undocumented Modified: trunk/bootloader/src/modules/BootCommon.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/modules/BootCommon.ycp?rev=55533&r1=55532&r2=55533&view=diff ============================================================================== --- trunk/bootloader/src/modules/BootCommon.ycp (original) +++ trunk/bootloader/src/modules/BootCommon.ycp Mon Feb 16 15:08:11 2009 @@ -84,7 +84,14 @@ * Saved change time from target map - only for MapAllPartitions() */ -global integer saved_last_change_time_from_storage = nil; +global integer disk_change_time_MapAllPartitions = nil; + + +/** + * Saved change time from target map - only for checkCallingDiskInfo() + */ + +global integer disk_change_time_checkCallingDiskInfo = nil; @@ -98,6 +105,26 @@ */ global map<string,string> multipath_mapping = $[]; + +/** + * mountpoints for perl-Bootloader + */ + +global map<string,any> mountpoints = $[]; + + +/** + * list of all partitions for perl-Bootloader + */ + +global list<list> partinfo = []; + +/** + * information about MD arrays for perl-Bootloader + */ +global map<string,list<string> > md_info = $[]; + + /** * Flag indicates that bios_id_missing in disk * true if missing false if at least one disk has bios_id Modified: trunk/bootloader/src/modules/BootSupportCheck.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/modules/BootSupportCheck.ycp?rev=55533&r1=55532&r2=55533&view=diff ============================================================================== --- trunk/bootloader/src/modules/BootSupportCheck.ycp (original) +++ trunk/bootloader/src/modules/BootSupportCheck.ycp Mon Feb 16 15:08:11 2009 @@ -135,6 +135,7 @@ // FIXME adapt for ELILO if needed */ boolean GptPartitionTable () { + boolean ret = true; map tm = Storage::GetTargetMap (); list<string> devices = [ BootCommon::BootPartitionDevice ]; // TODO add more devices @@ -151,11 +152,11 @@ { y2error ("Partition number > 3 is being used for booting with GPT partition table"); AddNewProblem (_("Partition number > 3 is being used for booting with GPT partition table")); - return false; + ret = false; } } }); - return true; + return ret; } Modified: trunk/bootloader/src/modules/Bootloader.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/modules/Bootloader.ycp?rev=55533&r1=55532&r2=55533&view=diff ============================================================================== --- trunk/bootloader/src/modules/Bootloader.ycp (original) +++ trunk/bootloader/src/modules/Bootloader.ycp Mon Feb 16 15:08:11 2009 @@ -232,12 +232,12 @@ if (testAbort ()) return false; - Bootloader::getLoaderType (); - Progress::NextStage (); if (!checkUsedStorage ()) return false; + Bootloader::getLoaderType (); + BootCommon::DetectDisks (); Progress::NextStage (); if (testAbort ()) Modified: trunk/bootloader/src/routines/lib_iface.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/routines/lib_iface.ycp?rev=55533&r1=55532&r2=55533&view=diff ============================================================================== --- trunk/bootloader/src/routines/lib_iface.ycp (original) +++ trunk/bootloader/src/routines/lib_iface.ycp Mon Feb 16 15:08:11 2009 @@ -34,10 +34,46 @@ string library_initialized = nil; /** + * Storage locked + */ + +boolean storage_initialized = false; + +/** * Declarations... */ global boolean DefineMultipath(map<string,string> multipath_map); + +boolean checkCallingDiskInfo () +{ + boolean ret = false; + + // fix for problem with unintialized storage library in AutoYaST mode + // bnc #464090 + if (Mode::config() && (!storage_initialized)) + { + storage_initialized = true; + y2milestone("Init storage library in yast2-bootloader"); + Storage::InitLibstorage(true); + } + if ((disk_change_time_checkCallingDiskInfo != Storage::GetTargetChangeTime()) + || (size(partinfo) < 1)) + { + // save last change time from storage + disk_change_time_checkCallingDiskInfo = Storage::GetTargetChangeTime(); + y2milestone("disk was changes by storage or partinfo is empty: %1", size(partinfo)); + y2milestone("generate partinfo, md_info, mountpoints and multipath_mapping"); + ret = true; + } else { + ret = false; + y2milestone("Skip genarating partinfo, md_info, mountpoints and multipath_mapping"); + } + + return ret; +} + + /** * Retrieve the data for perl-Bootloader library from Storage module * and pass it along @@ -45,89 +81,97 @@ */ // FIXME: this should be done directly in perl-Bootloader through LibStorage.pm global void SetDiskInfo () { - map<string,list<string> > md_info = $[]; - - map<string,map> tm = (map<string,map>)Storage::GetTargetMap (); - multipath_mapping = $[]; - multipath_mapping = BootCommon::mapRealDevicesToMultipath(); - map<string,any> mountpoints = mapmap (string k, list v, - (map<string,list>)Storage::GetMountPoints (), + if (checkCallingDiskInfo()) { - // detect all raid1 md devices and mark them in md_info - any device = v[0]:nil; - if (v[3]:"" == "raid1") - md_info[(string)device]=[]; - return $[ k : device ]; - }); - mountpoints = filter (string k, any v, mountpoints, { - string tmpdir = (string)SCR::Read (.target.tmpdir); - integer tmp_sz = size (tmpdir); - return is (v, string) && substring (k, 0, tmp_sz) != tmpdir; - }); - - y2milestone ("Detected mountpoints: %1", mountpoints); - - list<list<list> > pi = maplist (string disk, map info, tm, - { - if (info["type"]:`CT_UNKNOWN==`CT_LVM) - return []; - if (info["type"]:`CT_UNKNOWN==`CT_EVMS) - return []; - list partitions = info["partitions"]:[]; - list<list> parts = maplist (map p, (list<map>)partitions, { - string raid = ""; - if( p["used_by_type"]:`UB_NONE==`UB_MD ) - raid = p["used_by"]:""; - string device = p["device"]:""; - // We only pass along RAID1 devices as all other causes - // severe breakage in the bootloader stack - if (raid != "") { - raid = "/dev/" + raid; - if (haskey (md_info, raid)) { - list<string> members = md_info[raid]:[]; - members = add (members, device); - md_info[raid] = members; - } - } - any nr = p["nr"]:nil; - if (nr == nil) - nr = 0; - string nr_str = sformat ("%1", nr); - /* FIXME: And the other information about the disk ?: - p["fsid"] = LibStorage::PartitionInfo::swig_id_get(info); - p["fstype"] = Partitions::FsIdToString( p["fsid"]:0 ); - p["region"] = [ LibStorage::PartitionInfo::swig_cylStart_get(info), + // delete variables for perl-Bootloader + md_info = $[]; + multipath_mapping = $[]; + partinfo = []; + mountpoints = $[]; + + map<string,map> tm = (map<string,map>)Storage::GetTargetMap (); + + + multipath_mapping = BootCommon::mapRealDevicesToMultipath(); + mountpoints = mapmap (string k, list v, + (map<string,list>)Storage::GetMountPoints (), + { + // detect all raid1 md devices and mark them in md_info + any device = v[0]:nil; + if (v[3]:"" == "raid1") + md_info[(string)device]=[]; + return $[ k : device ]; + }); + mountpoints = filter (string k, any v, mountpoints, { + string tmpdir = (string)SCR::Read (.target.tmpdir); + integer tmp_sz = size (tmpdir); + return is (v, string) && substring (k, 0, tmp_sz) != tmpdir; + }); + + y2milestone ("Detected mountpoints: %1", mountpoints); + + list<list<list> > pi = maplist (string disk, map info, tm, + { + if (info["type"]:`CT_UNKNOWN==`CT_LVM) + return []; + if (info["type"]:`CT_UNKNOWN==`CT_EVMS) + return []; + list partitions = info["partitions"]:[]; + list<list> parts = maplist (map p, (list<map>)partitions, { + string raid = ""; + if( p["used_by_type"]:`UB_NONE==`UB_MD ) + raid = p["used_by"]:""; + string device = p["device"]:""; + // We only pass along RAID1 devices as all other causes + // severe breakage in the bootloader stack + if (raid != "") { + raid = "/dev/" + raid; + if (haskey (md_info, raid)) { + list<string> members = md_info[raid]:[]; + members = add (members, device); + md_info[raid] = members; + } + } + any nr = p["nr"]:nil; + if (nr == nil) + nr = 0; + string nr_str = sformat ("%1", nr); + /* FIXME: And the other information about the disk ?: + p["fsid"] = LibStorage::PartitionInfo::swig_id_get(info); + p["fstype"] = Partitions::FsIdToString( p["fsid"]:0 ); + p["region"] = [ LibStorage::PartitionInfo::swig_cylStart_get(info), LibStorage::PartitionInfo::swig_cylSize_get(info) ]; - p["type"] = toSymbol( conv_ptype, t ); - p["boot"] = true; - */ - - return [ device, disk, nr_str, tostring(p["fsid"]:0), - p["fstype"]:"unknown", tostring(p["type"]:nil), - tostring(p["region", 0]:0), tostring(p["region", 1]:0) - ]; - }); - return parts; - }); - list<list> partinfo = flatten (pi); - partinfo = filter (list p, partinfo, {return p != nil && p != [];}); - list<list> partinfo_mountby = []; - // adding moundby (by-id) via user preference - foreach(list partition, partinfo, { - list tmp =[]; - string mount_by = BootCommon::Dev2MountByDev(tostring(partition[0]:"")); - if (mount_by != tostring(partition[0]:"")) - { - tmp = add(partition, mount_by); - } else { - tmp = partition; - } - partinfo_mountby = add(partinfo_mountby, tmp); - }); - // y2milestone("added mountby: %1", partinfo_mountby); + p["type"] = toSymbol( conv_ptype, t ); + p["boot"] = true; + */ + + return [ device, disk, nr_str, tostring(p["fsid"]:0), + p["fstype"]:"unknown", tostring(p["type"]:nil), + tostring(p["region", 0]:0), tostring(p["region", 1]:0) + ]; + }); + return parts; + }); + partinfo = flatten (pi); + partinfo = filter (list p, partinfo, {return p != nil && p != [];}); + list<list> partinfo_mountby = []; + // adding moundby (by-id) via user preference + foreach(list partition, partinfo, { + list tmp =[]; + string mount_by = BootCommon::Dev2MountByDev(tostring(partition[0]:"")); + if (mount_by != tostring(partition[0]:"")) + { + tmp = add(partition, mount_by); + } else { + tmp = partition; + } + partinfo_mountby = add(partinfo_mountby, tmp); + }); + // y2milestone("added mountby: %1", partinfo_mountby); - partinfo = partinfo_mountby; + partinfo = partinfo_mountby; + } y2milestone ("Information about partitioning: %1", partinfo); y2milestone ("Information about MD arrays: %1", md_info); Modified: trunk/bootloader/src/routines/lilolike.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/routines/lilolike.ycp?rev=55533&r1=55532&r2=55533&view=diff ============================================================================== --- trunk/bootloader/src/routines/lilolike.ycp (original) +++ trunk/bootloader/src/routines/lilolike.ycp Mon Feb 16 15:08:11 2009 @@ -1331,90 +1331,97 @@ device_mapping = $[]; multipath_mapping = $[]; - map<string,map> targetMap = $[]; - if (Mode::config ()) - y2milestone ("Skipping device map proposing in Config mode"); - else - targetMap = (map<string,map>)Storage::GetTargetMap(); - - // filter out members of BIOS RAIDs and multipath devices - targetMap = filter (string k, map v, targetMap, { - return v["used_by_type"]:nil != `UB_DMRAID && v["used_by_type"]:nil != `UB_DMMULTIPATH; - }); - // filter out non-disk devices - targetMap = filter (string k, map v, targetMap, { - return v["type"]:`CT_UNKNOWN==`CT_DMRAID || v["type"]:`CT_UNKNOWN==`CT_DISK - || v["type"]:`CT_UNKNOWN==`CT_DMMULTIPATH; - }); - - y2milestone ("Target map: %1", targetMap); - - // add devices with known bios_id - // collect BIOS IDs which are used - map ids = $[]; - foreach (string target_dev, map target, targetMap, { - string bios_id = target["bios_id"]:""; - if (bios_id != "") - { - integer index = tointeger (bios_id) - tointeger ("0x80"); - string grub_dev = sformat ("hd%1", index); - // FATE #303548 - doesn't add disk with same bios_id with different name (multipath machine) - if (! ids[index]:false) - { - device_mapping[target_dev] = grub_dev; - ids[index] = true; - } - } - }); - // and guess other devices - // don't use already used BIOS IDs - foreach (string target_dev, map target, targetMap, { - string bios_id = target["bios_id"]:""; - if (bios_id == "") - { - integer index = 0; - while (ids[index]:false) - index = index + 1; - string grub_dev = sformat ("hd%1", index); - device_mapping[target_dev] = grub_dev; - ids[index] = true; - } - }); - // Fill usb_disks list with usb removable devices. - // - // It's not easy to determine how to identify removable usb devices. Now - // it tests if driver of device is usb-storage. If you find better - // algorithm how to find removable usb devices, put it here into foreach - // to apply this algorithm on all devices. - foreach (string target_dev, map target, targetMap, - { + if (getLoaderType (false) == "grub") + { + map<string,map> targetMap = $[]; + if (Mode::config ()) + y2milestone ("Skipping device map proposing in Config mode"); + else + targetMap = (map<string,map>)Storage::GetTargetMap(); + + // filter out members of BIOS RAIDs and multipath devices + targetMap = filter (string k, map v, targetMap, { + return v["used_by_type"]:nil != `UB_DMRAID && v["used_by_type"]:nil != `UB_DMMULTIPATH; + }); + // filter out non-disk devices + targetMap = filter (string k, map v, targetMap, { + return v["type"]:`CT_UNKNOWN==`CT_DMRAID || v["type"]:`CT_UNKNOWN==`CT_DISK + || v["type"]:`CT_UNKNOWN==`CT_DMMULTIPATH; + }); + + y2milestone ("Target map: %1", targetMap); + + // add devices with known bios_id + // collect BIOS IDs which are used + map ids = $[]; + foreach (string target_dev, map target, targetMap, { + string bios_id = target["bios_id"]:""; + if (bios_id != "") + { + integer index = tointeger (bios_id) - tointeger ("0x80"); + string grub_dev = sformat ("hd%1", index); + // FATE #303548 - doesn't add disk with same bios_id with different name (multipath machine) + if (! ids[index]:false) + { + device_mapping[target_dev] = grub_dev; + ids[index] = true; + } + } + }); + // and guess other devices + // don't use already used BIOS IDs + foreach (string target_dev, map target, targetMap, { + string bios_id = target["bios_id"]:""; + if (bios_id == "") + { + integer index = 0; + while (ids[index]:false) + index = index + 1; + string grub_dev = sformat ("hd%1", index); + device_mapping[target_dev] = grub_dev; + ids[index] = true; + } + }); + + // Fill usb_disks list with usb removable devices. + // + // It's not easy to determine how to identify removable usb devices. Now + // it tests if driver of device is usb-storage. If you find better + // algorithm how to find removable usb devices, put it here into foreach + // to apply this algorithm on all devices. + foreach (string target_dev, map target, targetMap, + { string driver = target["driver"]:""; if (driver == "usb-storage"){ usb_disks = add(usb_disks, target_dev); } - }); - y2milestone("Found usb discs: %1", usb_disks); + }); + y2milestone("Found usb discs: %1", usb_disks); - // change order in device_mapping if usb disk is hd0 - // (FATE #302075) - if (isHd0(usb_disks) + // change order in device_mapping if usb disk is hd0 + // (FATE #302075) + if (isHd0(usb_disks) && BootCommon::BootPartitionDevice != getKey("hd0", device_mapping)){ - y2milestone ("Detected device mapping: %1", device_mapping); - y2milestone("Changing order in device mapping needed..."); - changeOrderInDeviceMapping(usb_disks); - } + y2milestone ("Detected device mapping: %1", device_mapping); + y2milestone("Changing order in device mapping needed..."); + changeOrderInDeviceMapping(usb_disks); + } - if (size(device_mapping) == 1) - bois_id_missing = false; - if (StorageDevices::FloppyPresent()) - device_mapping[StorageDevices::FloppyDevice()] = "fd0"; + if (size(device_mapping) == 1) + bois_id_missing = false; + if (StorageDevices::FloppyPresent()) + device_mapping[StorageDevices::FloppyDevice()] = "fd0"; - y2milestone ("Detected device mapping: %1", device_mapping); + y2milestone ("Detected device mapping: %1", device_mapping); - multipath_mapping = BootCommon::mapRealDevicesToMultipath(); + multipath_mapping = BootCommon::mapRealDevicesToMultipath(); - y2milestone ("Detected multipath mapping: %1", multipath_mapping); + y2milestone ("Detected multipath mapping: %1", multipath_mapping); + + } else { + y2milestone("Skip creating device map for bootloader: %1", getLoaderType (false)); + } } /** Modified: trunk/bootloader/src/routines/misc.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/routines/misc.ycp?rev=55533&r1=55532&r2=55533&view=diff ============================================================================== --- trunk/bootloader/src/routines/misc.ycp (original) +++ trunk/bootloader/src/routines/misc.ycp Mon Feb 16 15:08:11 2009 @@ -584,10 +584,11 @@ boolean MapAllPartitions() { boolean ret = false; - if (saved_last_change_time_from_storage != Storage::GetTargetChangeTime()) + if ((disk_change_time_MapAllPartitions != Storage::GetTargetChangeTime()) + || (size(BootCommon::all_partitions) < 1) || (size(BootCommon::target_map) < 1)) { // save last change time from storage for MapAllPartitions() - saved_last_change_time_from_storage = Storage::GetTargetChangeTime(); + disk_change_time_MapAllPartitions = Storage::GetTargetChangeTime(); BootCommon::all_partitions = $[]; BootCommon::target_map = $[]; -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org