units: make Arch boot

This patch gives minimal Arch support (enough to boot).

We still need to parse the services to start from /etc/rc.conf before systemd can be a drop-in replacement on Arch.
This commit is contained in:
Tom Gundersen 2010-06-16 13:50:55 +02:00 committed by Lennart Poettering
parent 812cce323d
commit 1ebdf2d879
8 changed files with 108 additions and 0 deletions

View File

@ -185,6 +185,15 @@ dist_systemunit_DATA += \
units/gentoo/xdm.service
endif
if TARGET_ARCH
dist_systemunit_DATA += \
units/arch/sysinit.service \
units/arch/rc-local.service \
units/arch/halt.service \
units/arch/poweroff.service \
units/arch/reboot.service
endif
# This is needed because automake is buggy in how it generates the
# rules for C programs, but not Vala programs. We therefore can't
# list the .h files as dependencies if we want make dist to work.

18
units/arch/halt.service Normal file
View File

@ -0,0 +1,18 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
[Unit]
Description=Halt
Requires=shutdown.target
After=shutdown.target
Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
[Service]
Type=finish
ValidNoProcess=yes
Environment=RUNLEVEL=0
ExecStart=/etc/rc.shutdown

View File

@ -0,0 +1,18 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
[Unit]
Description=Power-Off
Requires=shutdown.target
After=shutdown.target
Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
[Service]
Type=finish
ValidNoProcess=yes
Environment=RUNLEVEL=0
ExecStart=/etc/rc.shutdown

View File

@ -0,0 +1,20 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
[Unit]
Description=/etc/rc.local Compatibility
Requires=basic.target
After=basic.target
Conflicts=shutdown.target
Before=getty@tty1.service
[Service]
ExecStart=/etc/rc.local
ExectStop=/etc/rc.local.shutdown
TimeoutSec=0
StandardInput=tty
ValidNoProcess=yes

18
units/arch/reboot.service Normal file
View File

@ -0,0 +1,18 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
[Unit]
Description=Reboot
Requires=shutdown.target
After=shutdown.target
Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
[Service]
Type=finish
ValidNoProcess=yes
Environment=RUNLEVEL=6
ExecStart=/etc/rc.shutdown

View File

@ -0,0 +1,19 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
[Unit]
Description=System Initialization
Before=local-fs.target remote-fs.target swap.target sockets.target
Conflicts=shutdown.target
Before=shutdown.target
[Service]
ExecStart=/etc/rc.sysinit
Type=forking
TimeoutSec=0
StandardInput=tty
ValidNoProcess=yes

View File

@ -9,6 +9,7 @@ m4_ifdef(`TARGET_FEDORA', `m4_define(`GETTY', `/sbin/mingetty')')m4_dnl
m4_ifdef(`TARGET_SUSE', `m4_define(`GETTY', `/sbin/mingetty')')m4_dnl
m4_ifdef(`TARGET_DEBIAN', `m4_define(`GETTY', `/sbin/getty 38400')')m4_dnl
m4_ifdef(`TARGET_GENTOO', `m4_define(`GETTY', `/sbin/agetty 38400')')m4_dnl
m4_ifdef(`TARGET_ARCH', `m4_define(`GETTY', `/sbin/agetty -8 38400')')m4_dnl
m4_dnl
[Unit]
Description=Getty on %I

View File

@ -17,3 +17,8 @@ m4_dnl Hook in Fedora's /etc/rc.d/rc.sysinit
Requires=sysinit.service
After=sysinit.service
)m4_dnl
m4_ifdef(`TARGET_ARCH',
m4_dnl Hook in Arch's /etc/rc.sysinit
Requires=sysinit.service
After=sysinit.service
)m4_dnl