Re: [Patch v2 2/2] let user specify action after systemd start dracut-emergency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux