Bug 517888

Summary: /sbin/shutdown missing in initrd.img for s390x
Product: [Fedora] Fedora Reporter: Steffen Maier <maier>
Component: anacondaAssignee: David Cantrell <dcantrell>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: anaconda-maint-list, dcantrell, hpicht, karsten, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: s390x   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-08-18 22:28:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 467765    
Attachments:
Description Flags
Fix copying of shutdown to initrd.img in mk-images for s390x none

Description Steffen Maier 2009-08-17 17:32:09 UTC
Description of problem:
/sbin/shutdown is missing in initrd.img for s390x.

Version-Release number of selected component (if applicable):
anaconda-11.5.0.59-1.fc11.kh.1.s390x

How reproducible:
Install Fedora on s390x and get kernel panic because of attempt to kill init, since /sbin/shutdown is not in initrd.img and the install system cannot be shutdown correctly.

Actual results:

[2009-08-16 20:22:05,812]  WARNING: Storage.writeKS not completely implemented 
00: HCPGSP2629I The virtual machine is placed in CP mode due to a SIGP stop from
 CPU 02.
01: HCPGSP2629I The virtual machine is placed in CP mode due to a SIGP stop from
 CPU 02.
/init: line 92: /sbin/shutdown: No such file or directory 
/init: line 92: exec: /sbin/shutdown: cannot execute: No such file or directory 
Kernel panic - not syncing: Attempted to kill init! 
 Kernel BUG at 0000000000000002 [verbose debug info unavailable] 
illegal operation: 0001 [#1] SMP  
Modules linked in: xfs exportfs vfat fat ext2 zfcp scsi_transport_fc scsi_tgt xt
s lrw gf128mul sha256_generic cbc dm_crypt dm_round_robin dm_multipath linear ra
id10 raid456 async_xor async_memcpy async_tx xor raid1 raid0 dasd_fba_mod dasd_d
iag_mod iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi squashfs cramfs qet
h_l3 ipv6 qeth qdio ccwgroup dasd_eckd_mod dasd_mod 
CPU: 2 Not tainted 2.6.29.5-191.fc11.s390x #1 
Process init (pid: 1, task: 000000003fe98000, ksp: 000000003fe97c58) 
Krnl PSW : (null) 0000000000000002 (0x2) 
           R:0 T:0 IO:0 EX:0 Key:0 M:0 W:0 P:0 AS:0 CC:0 PM:0 EA:0 
Krnl GPRS: 0000000000000000 0000000000001000 000000003fe97c90 0000000000000000 
           00000000006aa62e ffffffff00000001 0000000000000000 00000000000003e0 
           000000000005793c 00000000006aa62e 0000000000000000 000000003fe97be0 
           0000000000634b88 0000000000419608 0000000000023e5e 000000003fe97be0 
Krnl Code:>0000000000000002: 0000               unknown 
           0000000000000004: 0000               unknown 
           0000000000000006: 0000               unknown 
           0000000000000008: 0000               unknown 
           000000000000000a: 0000               unknown 
           000000000000000c: 0000               unknown 
           000000000000000e: 0000               unknown 
           0000000000000010: 0000               unknown 
Call Trace: 
([<0000000000000040>] 0x40) 
 [<0000000000023e5e>] on_panic_notify+0x52/0x70 
 [<0000000000415708>] notifier_call_chain+0x48/0x9c 
 [<00000000004157ca>] atomic_notifier_call_chain+0x32/0x44 
 [<000000000040f4c6>] panic+0xd6/0x204 
 [<0000000000057070>] do_exit+0xa8/0x884 
 [<000000000005790e>] do_group_exit+0xc2/0xf0 
 [<000000000005798a>] SyS_exit_group+0x4e/0x60 
 [<0000000000029086>] sysc_noemu+0x10/0x16 
 [<000002000010e20a>] 0x2000010e20a 
Last Breaking-Event-Address: 
 [<0000000000023dd4>] stop_run+0xec/0x124 
 <4>---[ end trace fc7da2acd33fb952 ]--- 
Fixing recursive fault but reboot is needed! 

Expected results:

[2009-08-17 18:51:23,213]  WARNING: Storage.writeKS not completely implemented 
about to exec shutdown -r 
disabling swap... 
 /dev/sda2 
unmounting filesystems... 
 /mnt/runtime done 
 disabling /dev/loop0 LOOP_CLR_FD failed: 16 
 /proc done 
 /dev/pts done 
 /sys done 
 /selinux done 
 /mnt/sysimage/dev/pts done 
 /mnt/sysimage/dev/shm done 
 /mnt/sysimage/dev done 
 /mnt/sysimage/proc done 
 /mnt/sysimage/sys done 
 /mnt/sysimage/selinux done 
 /mnt/sysimage done 
sending termination signals...done 
sending kill signals...done 
rebooting system 
00: HCPGSP2629I The virtual machine is placed in CP mode due to a SIGP stop from
 CPU 02.
01: HCPGSP2629I The virtual machine is placed in CP mode due to a SIGP stop from
 CPU 02.
...
Initializing cgroup subsys cpuset 
Initializing cgroup subsys cpu 
Linux version 2.6.29.5-191.fc11.s390x (mockbuild.redhat.com) (gcc 
ersion 4.4.0 20090506 (Red Hat 4.4.0-4) (GCC) ) #1 SMP Wed Jun 24 15:02:47 EDT 2
009 
...

Additional info:

As a quick hack, I just copied /usr/lib/anaconda-runtime/loader/shutdown of anaconda-11.5.0.59-1.fc11.kh.1.s390x to /sbin/shutdown in the initrd.img.
It does not work to use /sbin/shutdown of startup, since it returns quickly and we would run into the same killing init bug!

Untested patch with probable fix will follow.

Comment 1 Steffen Maier 2009-08-17 17:38:39 UTC
Created attachment 357681 [details]
Fix copying of shutdown to initrd.img in mk-images for s390x

RFC, since untested

This fixes a little typo in shell variable expansion introduced in:
http://git.fedorahosted.org/git/anaconda.git?h=70306f69b24e0245479b2faa396c6cb4c472960e

Comment 2 David Cantrell 2009-08-18 22:28:18 UTC
Applied to master, will be in anaconda-12.16-1.