Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yegor Yefremov <yegor_sub1@visionsystems.de>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/4] Create menu entry to select device creation method
Date: Wed, 29 Sep 2010 14:18:03 +0200	[thread overview]
Message-ID: <4CA32E7B.4000506@visionsystems.de> (raw)
In-Reply-To: <20100928193508.41e6b8ae@surf>


>> +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.

ACK
 
>> +config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
>> +	bool "Dynamic using mdev"
> 
> Maybe this should "select BR2_PACKAGE_BUSYBOX" ?

ACK

>>  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.

The indentation is already wrong in repository.
 
>> +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 ?

Why not? Otherwise you'll have to take care about /dev and fill it with devices.

>> index 0000000..943b73b
>> --- /dev/null
>> +++ b/package/busybox/S10mdev
>> @@ -0,0 +1,26 @@
>> +#!/bin/sh
>> +#
>> +# Start the mdev....
> 
> s/the//

ACK
 
>> +#
>> +
>> +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).

This can be done by filling the appropriate kernel option in .config UEVENT_HELPER_PATH.

>> +  stop)
>> +	echo -n "Stopping mdev..."
>> +	killall mdev
> 
> mdev is not a daemon, so there's no point in killing it.

ACK
 
>> 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

  reply	other threads:[~2010-09-29 12:18 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       ` [Buildroot] [PATCH 3/4] Create menu entry to select device creation method Thomas Petazzoni
2010-09-29 12:18         ` Yegor Yefremov [this message]
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=4CA32E7B.4000506@visionsystems.de \
    --to=yegor_sub1@visionsystems.de \
    --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