Bug 979174

Summary: initial-setup-text.service does not run on console
Product: [Fedora] Fedora Reporter: Paul Whalen <pwhalen>
Component: initial-setupAssignee: Vratislav Podzimek <vpodzime>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: awilliam, dennis, greearb, kparal, pschindl, robatino, vpodzime
Target Milestone: ---   
Target Release: ---   
Hardware: arm   
OS: Linux   
Whiteboard: AcceptedBlocker AcceptedFreezeException
Fixed In Version: initial-setup-0.3.7-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-18 15:12:15 UTC Type: Bug
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: 245418, 980650, 980651    

Description Paul Whalen 2013-06-27 20:02:13 UTC
Description of problem:
ARM uses various consoles for each hardware platform, currently initial-setup-text is only run on ttys0

Version-Release number of selected component (if applicable):

initial-setup-0.3.6-2.fc19

How reproducible:

Everytime.

Steps to Reproduce:
1. Attempt to boot hw that uses tty02 - OMAP hw


Actual results:
initial-setup does not run. 

Expected results:
initial-setup is run at boot on whatever console is in use.

Additional info:

Comment 1 Dennis Gilmore 2013-06-27 20:43:23 UTC
on investigation
/usr/lib/systemd/system/initial-setup-text.service

has in it
Before=display-manager.service getty serial-getty

at the least we need to add serial-getty serial-getty serial-getty

probably should be getty also

off the top of my head are different serial console devices in use out there. it seems like systemd perhaps should provide a serial-console.service or some such that would provide for all serial console device names out there.

Comment 2 Dennis Gilmore 2013-06-29 13:45:21 UTC
ttymxc0 is another valid serial console device

Comment 3 Dennis Gilmore 2013-08-07 03:11:18 UTC
Ping, we really need a good answer for f20, time is already short

Comment 4 Dennis Gilmore 2013-08-07 03:19:27 UTC
Setting to block F20 Alpha, While the image effected is the minimal image it is probably the most commonly deployed image.

The criteria I'm citing is "A system installed with a release-blocking desktop must boot to a log in screen where it is possible to log in to a working desktop using a user account created during installation or a 'first boot' utility."

If your serial device is not ttyS0 which is common initial-setup does not run and you can not get into the install at all as root is locked and no account is created.

Comment 5 Vratislav Podzimek 2013-08-12 14:04:07 UTC
Adding all the console devices revealed and suggested here so far would be an easy patch, but in the same time a step on an endless road.

I've been discussing this problem with systemd guys and the only real solution seems to be having a special initial-setup.target, that would run the i-s services and once they are finished, boot to the basic.target and so forth where the getty@* services would run.

However, I'm not 100% sure the clean solution would be so idylic as it seems. If it doesn't work or requires huge and problematic changes, we could simply keep adding console devices.

Comment 6 Kamil Páral 2013-08-21 16:58:05 UTC
Discussed at 2013-08-21 blocker review meeting [1]. This is rejected as an Alpha blocker, but accepted as Alpha Freeze Exception and also accepted as a Beta blocker, because it violates the following F20 beta release criterion for many headless minimal arm installs: "The installer must be able to complete an installation using the serial console interface." [2]
This should be affecting only minimal installs on headless ARM devices. If somebody believes this is serious enough to block Alpha, we can consider adjusting our release criteria.

[1] http://meetbot.fedoraproject.org/fedora-blocker-review/2013-08-21/
[2] https://fedoraproject.org/wiki/Fedora_20_Beta_Release_Criteria#Installation_interfaces

Comment 7 Adam Williamson 2013-08-21 18:12:56 UTC
We kinda handwaved this in the blocker meeting on the basis it's an easy fix and not worth wasting a lot of time arguing about changing the criteria.

So: vpodzime, can you please put the 'simple' fix (list more known serial console devices in the Before= line) into initial-setup just for now, and quickly? That way we can be sure this will be OK for Alpha and we can work on the proper fix (a special systemd target for initial-setup). Once we're happy with the proper fix we can implement that and drop the simple fix. I do like the special target approach, but it's obviously a bit more work than the other one.

Comment 8 Ben Greear 2013-08-21 21:15:23 UTC
I hit this problem on Fedora 19.  I am running a script after logging into the GUI that installs Mate, twiddles this and that, and also enables the serial console in grub and the kernel boot command line.  The script then changes the systemd target to the equivalent of 'runlevel 3', and I reboot the machine.

The end result of this is that there is no way to log in on the default console (VGA, keyboard, mouse).  You can eventually get a console login on 'alt F2', but it takes a few tries and I'm not sure why that works or doesn't anyway.

If you do connect to the serial console, then you get the prompt:

  Please make your choice from above ['q' to quit | 'c' to continue |            
  'r' to refresh]:                                                               
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: r                    
================================================================================
================================================================================
Initial setup of Fedora                 
                                        

  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: 

I have no idea what, if anything, it is doing, but if you type 'c' then
you get normal login prompts on all the consoles as expected.

You also get prompt back if you 'yum erase initial-setup'.

It seems to me that if this prompt exists anywhere, it should
exist on ALL console logins.  For now, just erasing the initial-setup
package seems a decent work-around.  If someone knows a better work-around, please post it.

Comment 9 Adam Williamson 2013-08-21 22:28:25 UTC
ben: you can make the appropriate edit to initial-setup.service somehow before booting the installed system.

Comment 10 Vratislav Podzimek 2013-08-22 10:02:56 UTC
(In reply to Adam Williamson from comment #7)
> We kinda handwaved this in the blocker meeting on the basis it's an easy fix
> and not worth wasting a lot of time arguing about changing the criteria.
> 
> So: vpodzime, can you please put the 'simple' fix (list more known serial
> console devices in the Before= line) into initial-setup just for now, and
> quickly? That way we can be sure this will be OK for Alpha and we can work
> on the proper fix (a special systemd target for initial-setup). Once we're
> happy with the proper fix we can implement that and drop the simple fix. I
> do like the special target approach, but it's obviously a bit more work than
> the other one.
Patch posted to anaconda-patches.

Comment 11 Fedora End Of Life 2013-09-16 17:12:47 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 20 development cycle.
Changing version to '20'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora20

Comment 12 Petr Schindler 2013-09-18 15:12:15 UTC
Fix is verified to work and initial-setup-0.3.7-1 is in stable. Closing this bug.

Comment 13 Adam Williamson 2013-09-19 08:50:19 UTC
This does not appear to work for me with Alpha RC4 on a Trimslice :( I write the minimal image to my USB stick and boot; tty1 displays only a flashing cursor at top left. ctrl-alt-f2 gives me a login prompt on tty2, but I have no usable account to log in as...

Comment 14 Adam Williamson 2013-09-19 08:54:19 UTC
oh, that's probably not this bug. forgot this was about serial consoles.