Author: juhliarik
Date: Tue Jul 29 17:24:08 2008
New Revision: 49487
URL: http://svn.opensuse.org/viewcvs/yast?rev=49487&view=rev
Log:
update of feature fate #302245: Transfer kernel parameters to new
section(s) after kernel update
M bootloader/src/grub/misc.ycp
* correct syntax
M bootloader/src/clients/inst_bootloader.ycp
* remove code
M bootloader/src/modules/BootCommon.ycp
* added calling for saving to sysconf file
M bootloader/src/routines/misc.ycp
* new function WriteToSysconf() - save kernel args to
/etc/sysconfig/bootloader
Modified:
trunk/bootloader/src/clients/inst_bootloader.ycp
trunk/bootloader/src/grub/misc.ycp
trunk/bootloader/src/modules/BootCommon.ycp
trunk/bootloader/src/routines/misc.ycp
Modified: trunk/bootloader/src/clients/inst_bootloader.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/clients/inst_bootloader.ycp?rev=49487&r1=49486&r2=49487&view=diff
==============================================================================
--- trunk/bootloader/src/clients/inst_bootloader.ycp (original)
+++ trunk/bootloader/src/clients/inst_bootloader.ycp Tue Jul 29 17:24:08 2008
@@ -52,6 +52,10 @@
});
}
+
+BootCommon::WriteToSysconf(true);
+
+/*
string lt = Bootloader::getLoaderType ();
y2milestone ("Saving /etc/sysconfig/bootloader for %1", lt);
@@ -79,6 +83,7 @@
boolean failsafe_set = false;
string xen_vga = "";
string xen_append = "";
+string xen_kernel_append = "";
boolean xen_set = false;
foreach (maps, BootCommon::sections, {
if (s["original_name"]:"" == "linux")
@@ -91,7 +96,8 @@
{
xen_set = true;
xen_vga = s["vgamode"]:"";
- xen_append = s["append"]:"";
+ xen_append = s["xen_append"]:"";
+ xen_ker_append = s["append"]:"";
}
else if (s["original_name"]:"" == "failsafe")
{
@@ -112,17 +118,24 @@
});
if (! xen_set)
{
- xen_append = default_append;
+ xen_kernel_append = default_append;
+ xen_append = "";
xen_vga = default_vga;
}
+
+
+string default_boot_section_name = Bootloader::getDefaultSection();
+
+SCR::Write (.target.sysconfig.bootloader.DEFAULT_NAME, default_boot_section_name);
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_KERNEL_APPEND, xen_append);
SCR::Write (.target.sysconfig.bootloader.XEN_APPEND, xen_append);
SCR::Write (.target.sysconfig.bootloader.XEN_VGA, xen_vga);
SCR::Write (.target.sysconfig.bootloader, nil);
-
+*/
y2milestone ("finish inst_bootloader");
return `auto;
Modified: trunk/bootloader/src/grub/misc.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/grub/misc.ycp?rev=49487&r1=49486&r2=49487&view=diff
==============================================================================
--- trunk/bootloader/src/grub/misc.ycp (original)
+++ trunk/bootloader/src/grub/misc.ycp Tue Jul 29 17:24:08 2008
@@ -1106,7 +1106,7 @@
{
sections[idx, "remap"] = "true";
sections[idx, "makactive"] = "true";
- }
+ });
}
return sections;
Modified: trunk/bootloader/src/modules/BootCommon.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/modules/BootCommon.ycp?rev=49487&r1=49486&r2=49487&view=diff
==============================================================================
--- trunk/bootloader/src/modules/BootCommon.ycp (original)
+++ trunk/bootloader/src/modules/BootCommon.ycp Tue Jul 29 17:24:08 2008
@@ -828,6 +828,10 @@
{
ret = ret && CommitSettings ();
}
+
+ // write settings to /etc/sysconfig/bootloader
+ WriteToSysconf(false);
+
return ret;
}
/**
@@ -886,6 +890,7 @@
// summary text
result = add (result, _("Do not install boot loader; just create
configuration files"));
+
return result;
}
Modified: trunk/bootloader/src/routines/misc.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/bootloader/src/routines/misc.ycp?rev=49487&r1=49486&r2=49487&view=diff
==============================================================================
--- trunk/bootloader/src/routines/misc.ycp (original)
+++ trunk/bootloader/src/routines/misc.ycp Tue Jul 29 17:24:08 2008
@@ -35,6 +35,9 @@
import "Misc";
import "ProductFeatures";
import "Directory";
+ import "Installation";
+
+ import "Popup";
// bootloader attributes handling functions
@@ -1603,4 +1606,103 @@
}
+/**
+ * Function write/update info in /etc/sysconfig/bootloader
+ * @param booloean true if it called from inst_bootloader.ycp
+ */
+
+global define void WriteToSysconf(boolean inst_bootloader)
+{
+
+ string lt = BootCommon::getLoaderType (false);
+ y2milestone ("Saving /etc/sysconfig/bootloader for %1", lt);
+ string default_boot_section_name = BootCommon::globals["default"]:"";
+
+ // 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 = "";
+ string xen_kernel_append = "";
+ boolean xen_set = false;
+
+ foreach (maps, BootCommon::sections,
+ {
+ if ((search(s["original_name"]:"","linux") != nil) &&
+ (s["name"]:"" == default_boot_section_name))
+ {
+ default_set = true;
+ default_vga = s["vgamode"]:"";
+ default_append = s["append"]:"";
+ }
+ if (search(s["original_name"]:"","xen") != nil)
+ {
+ xen_set = true;
+ xen_vga = s["vgamode"]:"";
+ xen_append = s["xen_append"]:"";
+ xen_kernel_append = s["append"]:"";
+ }
+ else if (search(s["original_name"]:"","failsafe") != nil)
+ {
+ 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)
+ {
+ Popup::Message("kurva");
+ xen_kernel_append = default_append;
+ xen_append = "";
+ xen_vga = default_vga;
+ }
+
+ // save some sysconfig variables
+ // register new agent pointing into the mounted filesystem
+ path sys_agent = .sysconfig.bootloader;
+
+ if (inst_bootloader)
+ {
+ 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)));
+
+ sys_agent = add(.target, sys_agent);
+
+ }
+
+ SCR::Write (add(sys_agent,.DEFAULT_NAME), default_boot_section_name);
+ SCR::Write (add(sys_agent,.DEFAULT_APPEND), default_append);
+ SCR::Write (add(sys_agent,.DEFAULT_VGA), default_vga);
+ SCR::Write (add(sys_agent,.FAILSAFE_APPEND), failsafe_append);
+ SCR::Write (add(sys_agent,.FAILSAFE_VGA), failsafe_vga);
+ SCR::Write (add(sys_agent,.XEN_KERNEL_APPEND), xen_kernel_append);
+ SCR::Write (add(sys_agent,.XEN_APPEND), xen_append);
+ SCR::Write (add(sys_agent,.XEN_VGA), xen_vga);
+ SCR::Write (sys_agent, nil);
+
+
+}
+
+
} //end of include
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org