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