Bug 736503
Summary: | Cannot start bash shell instead of anaconda installer | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Mark Hamzy <hamzy> |
Component: | systemd | Assignee: | systemd-maint |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | urgent | Docs Contact: | |
Priority: | unspecified | ||
Version: | 16 | CC: | harald, johannbg, kay, lpoetter, metherid, mschmidt, notting, pknirsch, plautrba, wwoods |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | ppc64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-01-13 19:33:26 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: |
Description
Mark Hamzy
2011-09-07 21:04:05 UTC
'systemctl daemon-reload' needed? H(In reply to comment #1) > 'systemctl daemon-reload' needed? Hi Bill, How would I run that command? What file should it go in? It should go after you're done mucking with the service files. (In reply to comment #3) > It should go after you're done mucking with the service files. I muck with the service files before the root is switched thanks to rd.break. I don't think systemd has been started yet at this point. switch_root:/# systemctl daemon-reload process 503: arguments to dbus_connection_send_with_reply_and_block() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 3524. This is normally a bug in some application using the D-Bus library. D-Bus not built with -rdynamic so unable to print a backtrace Aborted Okay, so the following seems to work. However, I wonder if it is the correct thing to do. switch_root:/# cp /sysroot/lib/systemd/system/loader.service /sysroot/lib/systemd/system/loader2.service switch_root:/# sed -i -e 's,Description=.*$,Description=Yet Another Bash Shell,' /sysroot/lib/systemd/system/loader.service switch_root:/# sed -i -e 's,/sbin/loader,/bin/bash,' /sysroot/lib/systemd/system/loader.service switch_root:/# cat << __EOF__ > /sysroot/lib/systemd/system/anaconda-shell.service [Unit] Description=Shell on hvc0 BindTo=dev-hvc0.device After=dev-hvc0.device [Service] Environment=TERM=linux WorkingDirectory=/ ExecStart=-/sbin/agetty -n hvc0 38400 Restart=always RestartSec=0 TimeoutSec=0 TTYPath=/dev/hvc0 TTYReset=yes TTYVHangup=yes TTYVTDisallocate=yes KillSignal=SIGHUP __EOF__ switch_root:/# exit I'm almost certain that you're having problems because you're trying to just replace loader with bash. This probably won't work, because loader has code to: 1) wait for devices to appear in /dev, and 2) set up serial/virtual consoles like hvc0 but bash doesn't. So you need to use systemd to accomplish #1 (by using "After=dev-hvc0.device"), and agetty to accomplish #2 ("ExecStart=-/sbin/agetty -n hvc0 38400"). Basically, I believe your approach in comment #5 is the Right Way To Do It. I am not sure I grok what this bug report is about. But have you checked whether systemd actually loaded your changed unit files? Try "systemctl show loader.service" and check whether that output matches your changes. This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. |