From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/4] Create menu entry to select device creation method
Date: Tue, 28 Sep 2010 19:35:08 +0200 [thread overview]
Message-ID: <20100928193508.41e6b8ae@surf> (raw)
In-Reply-To: <4C9C558A.7050009@visionsystems.de>
On Fri, 24 Sep 2010 09:38:50 +0200
Yegor Yefremov <yegor_sub1@visionsystems.de> wrote:
> +choice
> + prompt "Device Creation"
> + default BR2_ROOTFS_DEVICE_CREATION_STATIC
I would probably name this "/dev management" or something similar. In
my boards-cleanup work, I'm creating a new top-level "System
configuration" menu. Maybe this should belong to this place instead,
but this is something I can handle if I merge this patch into my
boards-cleanup branch.
> +config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
> + bool "Dynamic using mdev"
Maybe this should "select BR2_PACKAGE_BUSYBOX" ?
> config BR2_ROOTFS_DEVICE_TABLE
> - string "Path to the device table"
> - default "target/generic/device_table.txt"
> - help
> - Specify the location of a device table, that will be passed
> - to the makedevs utility to create all the special device
> - files in the target filesystem.
> + string "Path to the device table"
> + depends on BR2_ROOTFS_DEVICE_CREATION_STATIC
> + default "target/generic/device_table.txt"
> + help
> + Specify the location of a device table, that will be passed
> + to the makedevs utility to create all the special device
> + files in the target filesystem.
Something odd here with the indentation. We should only see the new
line "depends on BR2_ROOTFS_DEVICE_CREATION_STATIC" and no other change.
> +ifneq ($(BR2_ROOTFS_DEVICE_CREATION_STATIC),y)
> + $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS,$(@D)/.config)
> + $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config)
> +endif
So devtmpfs is used even when mdev or udev are used ?
> index 0000000..943b73b
> --- /dev/null
> +++ b/package/busybox/S10mdev
> @@ -0,0 +1,26 @@
> +#!/bin/sh
> +#
> +# Start the mdev....
s/the//
> +#
> +
> +case "$1" in
> + start)
> + echo "Starting mdev..."
> + /sbin/mdev -s
This is not sufficient as far as I remember: this will only
populate /dev with the existing devices. mdev also needs to be
registered as a hotplug event handler by writing to some /proc/sys
file. See mdev documentation for details (docs/mdev.txt in Busybox
sources).
> + stop)
> + echo -n "Stopping mdev..."
> + killall mdev
mdev is not a daemon, so there's no point in killing it.
> diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
> index b7f4740..d4b04a9 100644
> --- a/package/busybox/busybox.mk
> +++ b/package/busybox/busybox.mk
> @@ -20,6 +20,19 @@ ifndef BUSYBOX_CONFIG_FILE
> BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG))
> endif
>
> +# If mdev will be used for device creation enable it and copy S10mdev to /etc/init.d
> +ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),y)
> +define BUSYBOX_INSTALL_MDEV_SCRIPT
> + install -m 0755 package/busybox/S10mdev $(TARGET_DIR)/etc/init.d
> +endef
> +define BUSYBOX_SET_MDEV
> + $(call KCONFIG_ENABLE_OPT,CONFIG_MDEV,$(BUSYBOX_BUILD_CONFIG))
> + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MDEV_CONF,$(BUSYBOX_BUILD_CONFIG))
> + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MDEV_EXEC,$(BUSYBOX_BUILD_CONFIG))
> + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MDEV_LOAD_FIRMWARE,$(BUSYBOX_BUILD_CONFIG))
> +endef
> +endif
> +
> # If we have external syslogd, force busybox to use it
> ifeq ($(BR2_PACKAGE_SYSKLOGD),y)
> define BUSYBOX_SET_SYSKLOGD
> @@ -114,6 +127,7 @@ define BUSYBOX_CONFIGURE_CMDS
> $(BUSYBOX_SET_IPV6)
> $(BUSYBOX_SET_RPC)
> $(BUSYBOX_PREFER_STATIC)
> + $(BUSYBOX_SET_MDEV)
> $(BUSYBOX_NETKITBASE)
> $(BUSYBOX_NETKITTELNET)
> @yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \
> @@ -142,6 +156,7 @@ endif
> define BUSYBOX_INSTALL_TARGET_CMDS
> $(BUSYBOX_INSTALL_BINARY)
> -chmod a+rx $(TARGET_DIR)/usr/share/udhcpc/default.script
> + $(BUSYBOX_INSTALL_MDEV_SCRIPT)
> endef
This part sounds good to me.
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2010-09-28 17:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-24 7:35 [Buildroot] [PATCH 0/4] /etc/inittab stuff and device creation stuff Yegor Yefremov
[not found] ` <4C9C54FC.4040609@visionsystems.de>
2010-09-24 7:37 ` [Buildroot] [PATCH 2/4] Enable terminal type configuration for /etc/inittab Yegor Yefremov
2010-09-24 7:38 ` [Buildroot] [PATCH 3/4] Create menu entry to select device creation method Yegor Yefremov
2010-09-24 7:39 ` [Buildroot] [PATCH 4/4] Add network scripting folders to fs/skeleton Yegor Yefremov
2010-09-28 17:40 ` Thomas Petazzoni
2010-11-22 18:47 ` Thomas Petazzoni
2010-09-28 17:35 ` Thomas Petazzoni [this message]
2010-09-29 12:18 ` [Buildroot] [PATCH 3/4] Create menu entry to select device creation method Yegor Yefremov
2010-09-30 12:57 ` Yegor Yefremov
2010-11-22 18:47 ` Thomas Petazzoni
2010-09-28 17:28 ` [Buildroot] [PATCH 2/4] Enable terminal type configuration for /etc/inittab Thomas Petazzoni
2010-09-29 8:31 ` Yegor Yefremov
2010-09-27 8:53 ` [Buildroot] [PATCH 1/4] Added new menu item to specify a custom port " Yegor Yefremov
2010-09-28 17:26 ` Thomas Petazzoni
2010-09-29 8:36 ` Yegor Yefremov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100928193508.41e6b8ae@surf \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox