Re: [PATCH 4/4] Honor existing RUNKS conf file variable on s390 (#513951).

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/10/2009 12:47 AM, David Cantrell wrote:
> The linuxrc.s390 rewrite changed the behavior of RUNKS on RHEL-5.  We've
> done away with RUNKS on RHEL-6

That would be new to me. Users on s390 can do kickstart install with
either gui, tui, or cmdline. Independent of using kickstart or not,
RUNKS selects between starting loader at the end of init=linurc.s390 or
waiting until the the user logs in through ssh. This is true for RHEL5
and RHEL6, I don't see any difference here.

With the consoles currently supported by anaconda on s390, running
loader at the end of linurc only makes sense together with cmdline,
since the default console only provides line mode functionality and we
don't want it to be flooded with curses escape sequences in tui mode.
That's why the typical meme for truly unattended install on s390 is
'cmdline RUNKS=1 ks=...'. I tried this with RHEL6 already successfully
(except that the progress output during package install has
unfortunately vanished with RHEL6). However, this may change in the
future, why we still need selection of ks, tui/gui/cmdline and RUNKS
separately.

> , but we still need to maintain existing
> functionality on RHEL-5.

I think, we actually need the same code in rhel5-branch, rhel6-branch,
and master. We don't need to maintain any differences. Users should be
able to use their existing parm/conf files without any regression.

Looking at the RHEL 5.4 install guide, I realize that there are somewhat
contradictory definitions of how RUNKS and a potential argument value
are handled:

http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Installation_Guide/s1-s390-steps-vm.html
RUNKS=value
Where value is defined as 1 if you want to run the installation program
in noninteractive (kickstart) mode in the 3270 terminal, or 0 otherwise.

http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Installation_Guide/ch-bootopts-s390.html
RUNKS=1
This option is used to specify (usually in conjunction with the cmdline
option) kickstart installation for IBM System z.

When I rewrote linuxrc.s390, I just adapted what the old code base used
and that used the following fragments to check for RUNKS:

http://git.fedorahosted.org/git/anaconda.git?p=anaconda.git;a=blob;f=loader2/linuxrc.s390;h=a4019865b91999a51ab145e63142ae35a861933d;hb=d5d38cfab5d7af82e4e1cfbc4fdab27b8fc360a1
 142         if [ -z "$RUNKS" ]; then
 431                 if [ -n "$RUNKS" -a -z "$PORTNAME" ]; then
 455                 if [ -z "$RUNKS" ]; then
 711 if [ -n "$RUNKS" ]; then

Linuxrc.s390 has always only differentiated between a set or an unset
RUNKS but did not care about any value, if RUNKS was set.

Apparently the 1st appearance of RUNKS in the install guide is the only
place, where I found any value besides 1 defined for RUNKS. In order to
get the implementation straightened, I think we should treat RUNKS unset
and RUNKS=0 the same, namely don't execute loader at the end of linuxrc.
RUNKS=1 is the opposite. (We could even differentiate the two cases by
testing for RUNKS=1 vs. any other value or being unset.)

> ---
>  loader2/linuxrc.s390 |   21 +++++++++------------
>  1 files changed, 9 insertions(+), 12 deletions(-)
> 
> diff --git a/loader2/linuxrc.s390 b/loader2/linuxrc.s390
> index 5dec01d..e159738 100644
> --- a/loader2/linuxrc.s390
> +++ b/loader2/linuxrc.s390

> @@ -3140,11 +3141,7 @@ EOF
>      trap doreboot SIGUSR2
> 
>      startinetd
> -
> -    if [ -n "$RUNKS" ]; then
> -        /sbin/loader
> -    fi
> -
> +    /sbin/loader
>      doreboot
> 
>  fi # testing

This change is definitely wrong and must not happen.

On 11/10/2009 03:39 AM, David Cantrell wrote:
> On Mon, 9 Nov 2009, Jeremy Katz wrote:
>> To minimize the deltas between RHEL5 and RHEL6, would it make sense to
>> just have something like
>>  if [ "$RUNKS" = "0" ]; then RUNKS="" ; fi
>> at the top of the script?

> Yeah, how about:
> 
> - ---
>  loader2/linuxrc.s390 |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/loader2/linuxrc.s390 b/loader2/linuxrc.s390
> index 5dec01d..2856f96 100644
> - --- a/loader2/linuxrc.s390
> +++ b/loader2/linuxrc.s390
> @@ -52,6 +52,10 @@ unset testing
>  # uncomment the following test="1" to never execute sensitive commands
>  #testing="1"
> 
> +if [ "$RUNKS" = "0" ]; then
> +    RUNKS=""
> +fi
> +
>  # helper function to disable commands while running outside the initrd
>  function tv() {
>      if [ -z "$testing" ]; then
> - -- 1.6.5.2

This being the only change it sounds good.

Steffen

Linux on System z Development

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschäftsführung: Erich Baier
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294


_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux