On 05/31/2013 11:39 AM, Baoquan wrote: > On 05/30/2013 05:15 PM, Harald Hoyer wrote: > >> Hmm, "ConditionKernelCommandLine=!action_on_fail=continue" _has_ to work. >> Otherwise I would consider that a serious bug in systemd. >> >> Care to elaborate how you tested it? >> >> If you are dropped to the shell, can you run: >> >> # systemctl status dracut-emergency.service >> # systemctl status emergency.service >> >> to confirm you are not dropped to the emergency.service, which I think this is >> the case in your test setup. >> >> So, we have to add "ConditionKernelCommandLine=!action_on_fail=continue" to >> emergency.service, too. > > > Hi Harald, > > It is emergency.service takes care of emergency. Now I add > "ConditionKernelCommandLine=!action_on_fail=continue" to > emergency.service, the process just hang there. below is the console output: > > [ 1.366071] bio: create slab <bio-1> at 1 > dracut-initqueue[124]: Warning: Could not boot. > dracut-initqueue[124]: Warning: Not dropping to emergency shell, because > 'action_on_fail=continue' was set on the kernel command line. > [ OK ] Started dracut initqueue hook. > Mounting /sysroot... > [FAILED] Failed to mount /sysroot. > See 'systemctl status sysroot.mount' for details. > [DEPEND] Dependency failed for Initrd Root File System. > [DEPEND] Dependency failed for Reload Configuration from the Real Root. > [ 185.641729] systemd[1]: Unit sysroot.mount entered failed state. > [ 185.642906] systemd[1]: Starting Journal Service... > [ 185.644860] systemd[1]: Stopped udev Kernel Device Manager. > [ 185.645337] systemd[1]: Stopping dracut pre-udev hook... > [ 185.645743] systemd[1]: Stopped dracut pre-udev hook. > [ 185.647077] systemd[1]: Stopping dracut cmdline hook... > [ 185.647498] systemd[1]: Stopped dracut cmdline hook. > [ 185.647884] systemd[1]: Starting Setup Virtual Console... > [ 185.649641] systemd-journald[49]: Received SIGTERM > [ 185.650284] systemd[1]: Stopping udev Kernel Socket. > [ 185.650690] systemd[1]: Closed udev Kernel Socket. > [ 185.652039] systemd[1]: Stopping udev Control Socket. > [ 185.652469] systemd[1]: Closed udev Control Socket. > [ 185.656516] systemd[1]: Starting Journal Service... > [ 185.657075] systemd[1]: Started Journal Service. > > > Baoquan > Thanks > emergency.service is the last resort emergency. [harald@lenovo rules (master)]$ fgrep OnFail /lib/systemd/system/*.target /lib/systemd/system/initrd-fs.target:OnFailure=emergency.target /lib/systemd/system/initrd-fs.target:OnFailureIsolate=yes /lib/systemd/system/initrd-root-fs.target:OnFailure=emergency.target /lib/systemd/system/initrd-root-fs.target:OnFailureIsolate=yes /lib/systemd/system/initrd.target:OnFailure=emergency.target /lib/systemd/system/initrd.target:OnFailureIsolate=yes Maybe we should refrain from isolating to the emergency.target, which starts emergency.service. I'll ask on the systemd-devel list. -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html