Bug 119193 - Errors when installing lilo with autoyast on 10.0RC1
Summary: Errors when installing lilo with autoyast on 10.0RC1
Status: RESOLVED FIXED
Alias: None
Product: openSUSE 10.3
Classification: openSUSE
Component: AutoYaST (show other bugs)
Version: Alpha 1
Hardware: i586 All
: P4 - Low : Normal (vote)
Target Milestone: ---
Assignee: Uwe Gansert
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-28 11:30 UTC by Frank Steiner
Modified: 2007-10-24 14:12 UTC (History)
3 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Yast2 logfiles, including the autoyast profile and the wrong lilo.conf (81.84 KB, application/x-gzip)
2005-09-28 11:33 UTC, Frank Steiner
Details
Logfiles from a run without the default key (81.59 KB, application/x-gzip)
2005-10-04 08:38 UTC, Frank Steiner
Details
Fix the faulty "default" line in lilo.conf during autoinstall (679 bytes, patch)
2006-09-12 11:07 UTC, Frank Steiner
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Frank Steiner 2005-09-28 11:30:21 UTC
When telling autoyast on 10.0RC1 to use lilo as bootloader, autoyast fails during the installation with 
"An error occured during the installation of the bootloader. Do you want to try again?"

Looking at the created /mnt/etc/lilo.conf there are two issues:

1) lilo.conf contains a line "default", i.e., without the "= Linux", causing lilo to fail.
2) The 
      <global_entry>
           <key>append</key>
           <value>vga=0x0301 apic apm=power-off splash=0</value>
       </global_entry>
    part from the profile is ignored, i.e., there is no global append line in lilo.conf. The
    <kernel_parameters>vga=0x0301 apic apm=power-off splash=0</kernel_parameters>
   part is considered but those parameters are inserted only in each section. But for later
  automatic processing of the lilo.conf in some post-install scripts we already  want to add the
  global append line. This used to work at least in autoyast in SuSE 9.0.
Comment 1 Frank Steiner 2005-09-28 11:33:31 UTC
Created attachment 51041 [details]
Yast2 logfiles, including the autoyast profile and the wrong lilo.conf
Comment 2 Uwe Gansert 2005-09-28 11:53:29 UTC
Jiri, this looks like one for you.

Comment 3 Jiri Srain 2005-09-29 07:36:30 UTC
Could you, please, provide whole AutoYaST profile and the installation logs? 
 
See 
http://www.opensuse.org/Bug_Reporting_FAQ#Attachments_-_y2logs.2C_hwinfo_etc. 
for details on how to attach the logs. 
Comment 4 Frank Steiner 2005-09-29 09:36:38 UTC
Hmm, I thought I did that! The attachment I added was the .tzg that yast created when pressing 
Shift+F8 while the error message about the bootloader was on the screen. I just added the autoinst.
xml, which is the profile autoyast calculated from my rules and profiles, and the lilo.conf to this 
archive.
Do you need sth. else?
Comment 5 Jiri Srain 2005-10-03 15:19:57 UTC
yes, please, attach the whole AutoYaST profile. 
Comment 6 Jiri Srain 2005-10-03 15:23:20 UTC
Oops, sorry, ignore last comment, I'm blind... 
Comment 7 Jiri Srain 2005-10-03 15:32:42 UTC
OK, I have it. 
 
Ad "append" : According to lilo.conf man-page, it is supported only inside 
sections (especially those with sections). 
 
The problem why the values cannot be used is in autoinst.xml. The line 
 
<value config:type="symbol">Linux</value> 
 
must be changed to 
 
<value>Linux</value> 
 
(and similarly for all options), otherwise YaST interprets it as different 
data type, and it results in incorrect output. 
Comment 8 Frank Steiner 2005-10-04 08:37:29 UTC
1) About "append" I looked at lilo.conf.5 from lilo-22.7-2.i586.rpm which comes with opensuse 10.0 
RC1. The man page says:
"Additionally, the kernel configuration parameters append, ramdisk, read-only,
  read-write,  root  and vga can be set in the global options section. They are
  used as defaults if they aren't specified in the  configuration  sections  of
  the respective kernel images."

So I guess you have some different version of lilo in which the global append is said to be ignored? 
Anyway, that would have been a major change, because the global append worked as long as I 
can remember (SuSE 4 or 5 or sth.).


2) The problem with the "default" line without the "= Linux" still occurs when changing the profile 
part to
        <global_entry>
          <key>default</key>
          <value>Linux</value>
        </global_entry>
And it even occurs, when I remove that part completely. I.e., without telling autoyast anything about 
a global "default" value, it should derive it itself, and that fails the same way, i.e., ending up with a 
"default" without a "=Linux". I've attached the logs as y2logs_second.tgz from an autoyast run 
without  he "default" key in the profile.


Comment 9 Frank Steiner 2005-10-04 08:38:32 UTC
Created attachment 51368 [details]
Logfiles from a run without the default key
Comment 10 Frank Steiner 2005-10-17 13:16:00 UTC
The bugs are still not resolved in SuSE Linux 10.0 final.

1) Still, a global append entry will be ignored, although the man page states that a global append is valid. But it seems that other entries are ignored, too. See below.

2) The wrong "default" line in lilo.conf seems to be added whenever there is *any* global entry defined. Using this profile:

  <bootloader>
    <global>
        <global_entry>
          <key>vga</key>
          <value>normal</value>
        </global_entry>
    </global>
      <loader_type>lilo</loader_type>
   </bootloader>

will 
- not add a  "vga=normal" entry added in /mnt/etc/lilo.conf in the global section
- add the erroneous "default" line in /mnt/etc/lilo.conf.

With just

  <bootloader>
    <global>
    </global_entry>
    </global>
      <loader_type>lilo</loader_type>
   </bootloader>

the lilo.conf will be correct, but with a global key and value defined, this key/value seems to be ignored and causing the "default" line (which will make lilo fail, of course).

So please consider this issue again...

Comment 11 Frank Steiner 2005-10-17 13:17:35 UTC
Uhm, sorry for changing the priority, I mis-clicked this entry :-) Changed it back to P5.
Comment 12 Jiri Srain 2005-11-11 09:39:49 UTC
Well, one of the problems is that the format of the bootloader section has changed for 10.0. The old should be preseved for compatibility, but it seems to be a bit buggy.

The goal to change it was that now you can define one configuration and just by replacig the loader_type entry, it can be used for both GRUB and LILO.

In 9.3, it worked just because the line specified was directly written to the configuration file. Now, from the lines specified, a configuration file is created and parsed to grab the information from it. And global append is not supproted by YaST, that's why it gets lost.

So, the only way seems to be to add a support for global append for LILO (it has to be added for ELILO anyway, so the effort should be minimal).
Comment 13 Frank Steiner 2005-11-11 10:00:54 UTC
Ok, I understand the design excludes a global append at the moment. 
Anyway, even with this design decision, there are at least two bugs left:

- specifying a global append should just be ignored, but not lead to a single
     default
  line in lilo.conf (instead of "default=Linux").

- it's not just the append option, but also global options like "vga=normal" are
  a) ignored and b) lead to the same single "default" line.

So I think this must be fixed anyway, independent from accepting or refusing a global append by design...
Comment 14 Jiri Srain 2005-11-11 10:11:23 UTC
Global VGA is the same as global append, it will be solved together.

With missing other options: I will have to check what's happening there...
Comment 15 Jiri Srain 2005-12-15 12:10:31 UTC
Reasigning to new maintainer
Comment 16 Frank Steiner 2006-01-04 16:07:07 UTC
Just tested on 10.1 alpha4. Still doesn't work. This is very bad now, because 10.1a4 doesn't accept a vga parameter in the per-section append line. So, currently there is no possibility at all to set a vga parameter with autoyast. We have some hosts with Ati and Nvidia cards that have problems with  lilo and the boot screen without vga=normal.
I hope this will be fixed until 10.1 is released...
Comment 17 Sander Smalbrugge 2006-07-06 19:09:34 UTC
I just want to say that I have the same problem to,.
Got the same message in suse 10.0, 10.1, and in SLED 10 RC3.
sorry, I'm not a verry big help..
Comment 18 Frank Steiner 2006-09-12 11:05:51 UTC
After the problem kept me from installing 10.1 on some hosts, I wrote a fix for preventing the faulty "default" line. The patch works on BootLILO.ycp and is activated when we are in autoinst mode. It checks if the value (right-hand side) for the default parameter is empty and, if so, adds the name of the first section as value, so that the first sections becomes the default section.
Uwe asked me to add the patch here, however, please note that it does not by any means fix the real problem:
- Whenever some global option is set in the profile, the value for the default-options is empty
- definfing a value for default, i.e. sth. like "default=myLinuxKernel" does not work, and will still
   not work with my patch
- other global options, e.g. the disk option or vga etc. are not inserted to lilo.conf at all.

I wonder why nothing was done to fix this problem after I reported it for 10.0RC1. Now we have 10.1 and it still does not work. And this bug is a *stopper* for certain systems: If you need to set global options like the disk option to boot from a scsi disk when having an IDE and a SCSI disk, it is just not possible to autoinstall such a system (especially because there seems to be another bug that prevents chroot scripts after installing lilo). 
I've reported that bug one year ago, and seeing that nothing was done to fix is, is very very sad.
Comment 19 Frank Steiner 2006-09-12 11:07:42 UTC
Created attachment 98399 [details]
Fix the faulty "default" line in lilo.conf during autoinstall

Patch should work same way for BootELILO.ycp.
Comment 20 Chuck Morrison 2007-04-03 14:21:12 UTC
This bug still exists in SLES 10sp1b6 for ia64 when writing elilo.conf. The result is a system that won't boot after installation with autoyast. Editing elilo.conf in the EFI shell to change "default" to "default=Linux" fixes the install so it boots properly.
Comment 21 Alexander Osthof 2007-05-10 13:29:08 UTC
As this bug still occurred in SLES10-SP1-Beta6 (and IMHO is not fixed in latest build 303) I recommend to fix it for openSUSE 10.3.
Comment 22 Chuck Morrison 2007-05-10 14:32:20 UTC
I performed additional testing on SLES10-SP1-rc on ia64 HP rx2660, BL860C and rx3600. This bug did not appear with SP1-rc on any of these machines. So for the rc at least, this appears to be fixed.
Comment 24 Uwe Gansert 2007-10-24 14:12:23 UTC
fixed (#22)