diff mbox

[2/2] systemd: enable required kernel features.

Message ID 1392632536-16714-3-git-send-email-eric.le.bihan.dev@free.fr
State Superseded
Headers show

Commit Message

Eric Le Bihan Feb. 17, 2014, 10:22 a.m. UTC
When systemd is chosen as init system, the required kernel features are
enabled.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 linux/linux.mk            |    6 +++++-
 package/systemd/Config.in |   12 ++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)

Comments

Thomas Petazzoni Feb. 17, 2014, 10:57 a.m. UTC | #1
Dear Eric Le Bihan,

On Mon, 17 Feb 2014 11:22:16 +0100, Eric Le Bihan wrote:

> diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> index eacc23c..716da2c 100644
> --- a/package/systemd/Config.in
> +++ b/package/systemd/Config.in
> @@ -26,8 +26,16 @@ config BR2_PACKAGE_SYSTEMD
>  	  elaborate transactional dependency-based service control logic.
>  	  It can work as a drop-in replacement for sysvinit.
>  
> -	  Systemd requires a Linux kernel >= 3.0, with inotify, devtmpfs,
> -	  tmpfs vfs and tmpfs POSIX ACL enabled.
> +	  Systemd requires a Linux kernel >= 3.0.
> +
> +	  The following features will be enabled in the kernel:
> +
> +	  - CONFIG_CGROUPS
> +	  - CONFIG_INOTIFY_USER
> +	  - CONFIG_FHANDLE
> +	  - CONFIG_AUTOFS4_FS
> +	  - CONFIG_TMPFS_POSIX_ACL
> +	  - CONFIG_TMPFS_XATTR

This formulation is not correct for people who build their kernel
outside of Buildroot (while the earlier formulation worked for both
situations).

What about something like:

	  systemd requires the following options to be enabled in the
	  kernel:

	   - CONFIG_<foo>
	   - CONFIG_<bar>

	  These options will be automatically enabled by Buildroot if
	  it is responsible for building the kernel. Otherwise, if you
	  are building your kernel outside of Buildroot, make sure
	  these options are enabled.

Thomas
Eric Le Bihan Feb. 17, 2014, 2:37 p.m. UTC | #2
Hi!

On Mon, Feb 17, 2014 at 11:57:21AM +0100, Thomas Petazzoni wrote:
> Dear Eric Le Bihan,
>
> On Mon, 17 Feb 2014 11:22:16 +0100, Eric Le Bihan wrote:
>
> > diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> > index eacc23c..716da2c 100644
> > --- a/package/systemd/Config.in
> > +++ b/package/systemd/Config.in
> > @@ -26,8 +26,16 @@ config BR2_PACKAGE_SYSTEMD
> >  	  elaborate transactional dependency-based service control logic.
> >  	  It can work as a drop-in replacement for sysvinit.
> >
> > -	  Systemd requires a Linux kernel >= 3.0, with inotify, devtmpfs,
> > -	  tmpfs vfs and tmpfs POSIX ACL enabled.
> > +	  Systemd requires a Linux kernel >= 3.0.
> > +
> > +	  The following features will be enabled in the kernel:
> > +
> > +	  - CONFIG_CGROUPS
> > +	  - CONFIG_INOTIFY_USER
> > +	  - CONFIG_FHANDLE
> > +	  - CONFIG_AUTOFS4_FS
> > +	  - CONFIG_TMPFS_POSIX_ACL
> > +	  - CONFIG_TMPFS_XATTR
>
> This formulation is not correct for people who build their kernel
> outside of Buildroot (while the earlier formulation worked for both
> situations).
>
> What about something like:
>
> 	  systemd requires the following options to be enabled in the
> 	  kernel:
>
> 	   - CONFIG_<foo>
> 	   - CONFIG_<bar>
>
> 	  These options will be automatically enabled by Buildroot if
> 	  it is responsible for building the kernel. Otherwise, if you
> 	  are building your kernel outside of Buildroot, make sure
> 	  these options are enabled.
>
Thanks for the suggestion. I'll add it (the more information, the better).

Best regards,
ELB
diff mbox

Patch

diff --git a/linux/linux.mk b/linux/linux.mk
index d7f51b3..f948e6c 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -195,7 +195,11 @@  define LINUX_CONFIGURE_CMDS
 		$(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config))
 	$(if $(BR2_PACKAGE_SYSTEMD),
 		$(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config)
-		$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
+		$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config)
+		$(call KCONFIG_ENABLE_OPT,CONFIG_FHANDLE,$(@D)/.config)
+		$(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS,$(@D)/.config)
+		$(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL,$(@D)/.config)
+		$(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_XATTR,$(@D)/.config))
 	$(if $(BR2_LINUX_KERNEL_APPENDED_DTB),
 		$(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config))
 	yes '' | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) oldconfig
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index eacc23c..716da2c 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -26,8 +26,16 @@  config BR2_PACKAGE_SYSTEMD
 	  elaborate transactional dependency-based service control logic.
 	  It can work as a drop-in replacement for sysvinit.
 
-	  Systemd requires a Linux kernel >= 3.0, with inotify, devtmpfs,
-	  tmpfs vfs and tmpfs POSIX ACL enabled.
+	  Systemd requires a Linux kernel >= 3.0.
+
+	  The following features will be enabled in the kernel:
+
+	  - CONFIG_CGROUPS
+	  - CONFIG_INOTIFY_USER
+	  - CONFIG_FHANDLE
+	  - CONFIG_AUTOFS4_FS
+	  - CONFIG_TMPFS_POSIX_ACL
+	  - CONFIG_TMPFS_XATTR
 
 	  Systemd also provides udev, the userspace device daemon.