Hello community,
here is the log from the commit of package yast2-bootloader
checked in at Mon Aug 4 14:22:17 CEST 2008.
--------
--- yast2-bootloader/yast2-bootloader.changes 2008-07-23 15:26:46.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-bootloader/yast2-bootloader.changes 2008-08-04 14:04:20.000000000 +0200
@@ -1,0 +2,26 @@
+Mon Aug 4 13:29:01 CEST 2008 - juhliarik@suse.cz
+
+- added support for reducing devices from device.map to 8 devices
+ (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)
+- 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)
+- 2.17.6
+
+------------------------------------------------------------------
+Sun Jul 27 17:52:58 CEST 2008 - juhliarik@suse.cz
+
+- added powersaved=off to boot section for failsave (bnc #153345)
+
+-------------------------------------------------------------------
Old:
----
yast2-bootloader-2.17.5.tar.bz2
New:
----
yast2-bootloader-2.17.8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-bootloader.spec ++++++
--- /var/tmp/diff_new_pack.r27983/_old 2008-08-04 14:21:55.000000000 +0200
+++ /var/tmp/diff_new_pack.r27983/_new 2008-08-04 14:21:55.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-bootloader (Version 2.17.5)
+# spec file for package yast2-bootloader (Version 2.17.8)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,12 +12,12 @@
Name: yast2-bootloader
-Version: 2.17.5
+Version: 2.17.8
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-bootloader-2.17.5.tar.bz2
+Source0: yast2-bootloader-2.17.8.tar.bz2
Prefix: /usr
BuildRequires: docbook-xsl-stylesheets doxygen gcc-c++ libxslt limal-perl perl-Bootloader perl-XML-Writer perl-gettext sgml-skel swig update-alternatives update-desktop-files yast2-devtools yast2-installation yast2-perl-bindings yast2-storage yast2-testsuite
# to eliminate a cyclic dependency in autobuild:
@@ -54,7 +54,7 @@
Daniel Fiser
%prep
-%setup -n yast2-bootloader-2.17.5
+%setup -n yast2-bootloader-2.17.8
%build
%{prefix}/bin/y2tool y2autoconf
@@ -99,6 +99,20 @@
/var/adm/fillup-templates/*
/usr/share/YaST2/schema/autoyast/rnc/bootloader.rnc
%changelog
+* Mon Aug 04 2008 juhliarik@suse.cz
+- added support for reducing devices from device.map to 8 devices
+ (fate #303548)
+- 2.17.8
+* Thu Jul 31 2008 juhliarik@suse.cz
+- added support for remaping windows chainloader boot section
+ (fate #301994)
+- 2.17.7
+* Tue Jul 29 2008 juhliarik@suse.cz
+- update solution for saving kernel args to
+ /etc/sysconfig/bootloader (fate #302245)
+- 2.17.6
+* Sun Jul 27 2008 juhliarik@suse.cz
+- added powersaved=off to boot section for failsave (bnc #153345)
* Wed Jul 23 2008 juhliarik@suse.cz
- added support for persistent device names (fate #302219)
- 2.17.5
++++++ yast2-bootloader-2.17.5.tar.bz2 -> yast2-bootloader-2.17.8.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-bootloader-2.17.5/src/clients/bootloader_proposal.ycp new/yast2-bootloader-2.17.8/src/clients/bootloader_proposal.ycp
--- old/yast2-bootloader-2.17.5/src/clients/bootloader_proposal.ycp 2008-07-21 16:04:51.000000000 +0200
+++ new/yast2-bootloader-2.17.8/src/clients/bootloader_proposal.ycp 2008-08-01 17:20:31.000000000 +0200
@@ -1,7 +1,7 @@
/**
* Module: bootloader_proposal.ycp
*
- * $Id: bootloader_proposal.ycp 46947 2008-04-22 11:09:42Z juhliarik $
+ * $Id: bootloader_proposal.ycp 49588 2008-08-01 15:20:30Z juhliarik $
*
* Author: Klaus Kaempf
*
@@ -89,6 +89,8 @@
// into our configuration
BootGRUB::merge_level = `main;
Bootloader::Propose ();
+
+
BootGRUB::merge_level = `none;
}
else
@@ -100,6 +102,26 @@
ret = $[ "raw_proposal" : Bootloader::Summary ()];
+
+ if (Bootloader::getLoaderType () == "grub")
+ {
+ import "BootGRUB";
+ if (BootGRUB::CheckDeviceMap())
+ {
+ ret = (map) union (ret,
+ $[
+ "warning_level" : `blocker,
+ "warning" :
+ ret["warning"]:"" +
+ _("Configure a valid boot loader location before continuing.<br>
+The device map includes more than 8 devices and the boot device is out of range.
+The range is the first 8 devices by BIOS."),
+ ]
+ );
+ return ret;
+ }
+ }
+
//F#300779 - Install diskless client (NFS-root)
//kokso: bootloader will not be installed
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-bootloader-2.17.5/src/clients/inst_bootloader.ycp new/yast2-bootloader-2.17.8/src/clients/inst_bootloader.ycp
--- old/yast2-bootloader-2.17.5/src/clients/inst_bootloader.ycp 2008-07-21 16:04:51.000000000 +0200
+++ new/yast2-bootloader-2.17.8/src/clients/inst_bootloader.ycp 2008-07-30 14:00:40.000000000 +0200
@@ -52,76 +52,8 @@
});
}
-string lt = Bootloader::getLoaderType ();
-
-y2milestone ("Saving /etc/sysconfig/bootloader for %1", lt);
-
-// save some sysconfig variables
-// register new agent pointing into the mounted filesystem
-WFM::Execute(.local.mkdir, Installation::destdir + "/etc/sysconfig");
-WFM::Write(.local.bash, sformat ("touch %1/etc/sysconfig/bootloader", Installation::destdir));
-string target_sysconfig_path = Installation::destdir + "/etc/sysconfig/bootloader";
-SCR::RegisterAgent (.target.sysconfig.bootloader, `ag_ini(
- `SysConfigFile(target_sysconfig_path)));
-
-if (Mode::installation())
- SCR::Write (.target.sysconfig.bootloader.LOADER_TYPE, lt);
-
-// get the default and failsafe append + vga parameters; if section with
-// appropriate original name not found, just use any Linux section
-// doing so during update may be questionable, however, the variables need to
-// be initialized in any case
-string default_vga = "";
-string default_append = "";
-boolean default_set = false;
-string failsafe_vga = "";
-string failsafe_append = "";
-boolean failsafe_set = false;
-string xen_vga = "";
-string xen_append = "";
-boolean xen_set = false;
-foreach (maps, BootCommon::sections, {
- if (s["original_name"]:"" == "linux")
- {
- default_set = true;
- default_vga = s["vgamode"]:"";
- default_append = s["append"]:"";
- }
- if (s["original_name"]:"" == "xen")
- {
- xen_set = true;
- xen_vga = s["vgamode"]:"";
- xen_append = s["append"]:"";
- }
- else if (s["original_name"]:"" == "failsafe")
- {
- failsafe_set = true;
- failsafe_vga = s["vgamode"]:"";
- failsafe_append = s["append"]:"";
- }
- if (s["type"]:"" == "image" && ! default_set)
- {
- default_vga = s["vgamode"]:"";
- default_append = s["append"]:"";
- }
- if (s["type"]:"" == "image" && ! failsafe_set)
- {
- failsafe_vga = s["vgamode"]:"";
- failsafe_append = s["append"]:"";
- }
-});
-if (! xen_set)
-{
- xen_append = default_append;
- xen_vga = default_vga;
-}
-SCR::Write (.target.sysconfig.bootloader.DEFAULT_APPEND, default_append);
-SCR::Write (.target.sysconfig.bootloader.DEFAULT_VGA, default_vga);
-SCR::Write (.target.sysconfig.bootloader.FAILSAFE_APPEND, failsafe_append);
-SCR::Write (.target.sysconfig.bootloader.FAILSAFE_VGA, failsafe_vga);
-SCR::Write (.target.sysconfig.bootloader.XEN_APPEND, xen_append);
-SCR::Write (.target.sysconfig.bootloader.XEN_VGA, xen_vga);
-SCR::Write (.target.sysconfig.bootloader, nil);
+// FATE #302245 save kernel args etc to /etc/sysconfig/bootloader
+BootCommon::WriteToSysconf(true);
y2milestone ("finish inst_bootloader");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-bootloader-2.17.5/src/grub/misc.ycp new/yast2-bootloader-2.17.8/src/grub/misc.ycp
--- old/yast2-bootloader-2.17.5/src/grub/misc.ycp 2008-07-21 16:04:51.000000000 +0200
+++ new/yast2-bootloader-2.17.8/src/grub/misc.ycp 2008-08-04 13:34:56.000000000 +0200
@@ -12,7 +12,7 @@
* Jiri Srain
* Olaf Dabrunz
*
- * $Id: misc.ycp 48549 2008-06-26 14:50:07Z juhliarik $
+ * $Id: misc.ycp 49630 2008-08-04 11:34:56Z juhliarik $
*
*/
@@ -23,6 +23,7 @@
import "Mode";
import "BootCommon";
import "PackageSystem";
+ import "Map";
// --------------------------------------------------------------
@@ -1038,8 +1039,195 @@
string ret = devpth[0]:"" + devpth[1]:"";
return ret;
}
+
+
+/** FATE #301994 - Correct device mapping in case windows is installed on the second HD
+ * Check if chainloader section with windows is on the first disk
+ *
+ * @param map section from BootCommon::sections
+ * @return boolean true if it is necessary remap section
+ */
+define boolean isWidnowsOnBootDisk(map section)
+{
+ // check if it is windows chainloader
+ if ((search(tolower(section["name"]:""), "windows") != nil)
+ || (search(tolower(section["original_name"]:""), "windows") != nil))
+ {
+ map p_dev = Storage::GetDiskPartition (section["chainloader"]:"");
+
+ string disk_dev = p_dev["disk"]:"";
+ if (disk_dev == "")
+ {
+ y2error("trying find disk for windows chainloader failed");
+ return false;
+ }
+ // find grub id in device map for chainloader device
+ string grub_id = BootCommon::device_mapping[disk_dev]:"";
+ y2milestone("Disk from windows chainloader: %1 grub id from device map: %2", disk_dev, grub_id);
+
+ // check if disk is the first in order...
+ if (grub_id != "hd0")
+ return true;
+
+ }
+ return false;
}
+/** FATE #301994 - Correct device mapping in case windows is installed on the second HD
+ * Remap and make active windows chainloader section
+ * if it is not on the boot (the first) disk
+ * @param list of sections
+ * @return list of sections
+ */
+
+define list