mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-27 13:16:35 +00:00
Create menu entry to select device creation method
Four methods for the creation of device files in /dev are now proposed: - static method uses device table as before - devtmpfs method enables this feature in kernel - mdev method adds mdev starting script to the file system and selects mdev itself for installation - udev method selects udev for installation All dynamic methods are based on devtmpfs, so one doesn't need to care about /dev folder. Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
c59d024754
commit
726b15f64a
21
fs/Config.in
21
fs/Config.in
@ -15,8 +15,29 @@ config BR2_ROOTFS_POST_BUILD_SCRIPT
|
|||||||
only argument. Make sure the exit code of that script is 0,
|
only argument. Make sure the exit code of that script is 0,
|
||||||
otherwise make will stop after calling it.
|
otherwise make will stop after calling it.
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "/dev management"
|
||||||
|
default BR2_ROOTFS_DEVICE_CREATION_STATIC
|
||||||
|
|
||||||
|
config BR2_ROOTFS_DEVICE_CREATION_STATIC
|
||||||
|
bool "Static using device table"
|
||||||
|
|
||||||
|
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
|
||||||
|
bool "Dynamic using devtmpfs only"
|
||||||
|
|
||||||
|
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
|
||||||
|
bool "Dynamic using mdev"
|
||||||
|
select BR2_PACKAGE_BUSYBOX
|
||||||
|
|
||||||
|
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
|
||||||
|
bool "Dynamic using udev"
|
||||||
|
select BR2_PACKAGE_UDEV
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
config BR2_ROOTFS_DEVICE_TABLE
|
config BR2_ROOTFS_DEVICE_TABLE
|
||||||
string "Path to the device table"
|
string "Path to the device table"
|
||||||
|
depends on BR2_ROOTFS_DEVICE_CREATION_STATIC
|
||||||
default "target/generic/device_table.txt"
|
default "target/generic/device_table.txt"
|
||||||
help
|
help
|
||||||
Specify the location of a device table, that will be passed
|
Specify the location of a device table, that will be passed
|
||||||
|
@ -133,6 +133,13 @@ ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
|
|||||||
$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config)
|
$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config)
|
||||||
$(call KCONFIG_DISABLE_OPT,CONFIG_INITRAMFS_COMPRESSION_NONE,$(@D)/.config)
|
$(call KCONFIG_DISABLE_OPT,CONFIG_INITRAMFS_COMPRESSION_NONE,$(@D)/.config)
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_INITRAMFS_COMPRESSION_GZIP,$(@D)/.config)
|
$(call KCONFIG_ENABLE_OPT,CONFIG_INITRAMFS_COMPRESSION_GZIP,$(@D)/.config)
|
||||||
|
endif
|
||||||
|
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
|
||||||
|
ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),y)
|
||||||
|
$(call KCONFIG_SET_OPT,CONFIG_UEVENT_HELPER_PATH,\"/sbin/mdev\",$(@D)/.config)
|
||||||
endif
|
endif
|
||||||
$(TARGET_MAKE_ENV) $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(@D) oldconfig
|
$(TARGET_MAKE_ENV) $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(@D) oldconfig
|
||||||
$(Q)touch $@
|
$(Q)touch $@
|
||||||
|
20
package/busybox/S10mdev
Normal file
20
package/busybox/S10mdev
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Start mdev....
|
||||||
|
#
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo "Starting mdev..."
|
||||||
|
/sbin/mdev -s
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
;;
|
||||||
|
restart|reload)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo $"Usage: $0 {start|stop|restart}"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $?
|
@ -28,6 +28,19 @@ ifndef BUSYBOX_CONFIG_FILE
|
|||||||
BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG))
|
BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG))
|
||||||
endif
|
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
|
# If we have external syslogd, force busybox to use it
|
||||||
ifeq ($(BR2_PACKAGE_SYSKLOGD),y)
|
ifeq ($(BR2_PACKAGE_SYSKLOGD),y)
|
||||||
define BUSYBOX_SET_SYSKLOGD
|
define BUSYBOX_SET_SYSKLOGD
|
||||||
@ -122,6 +135,7 @@ define BUSYBOX_CONFIGURE_CMDS
|
|||||||
$(BUSYBOX_SET_IPV6)
|
$(BUSYBOX_SET_IPV6)
|
||||||
$(BUSYBOX_SET_RPC)
|
$(BUSYBOX_SET_RPC)
|
||||||
$(BUSYBOX_PREFER_STATIC)
|
$(BUSYBOX_PREFER_STATIC)
|
||||||
|
$(BUSYBOX_SET_MDEV)
|
||||||
$(BUSYBOX_NETKITBASE)
|
$(BUSYBOX_NETKITBASE)
|
||||||
$(BUSYBOX_NETKITTELNET)
|
$(BUSYBOX_NETKITTELNET)
|
||||||
@yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \
|
@yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||||
@ -138,6 +152,7 @@ define BUSYBOX_INSTALL_TARGET_CMDS
|
|||||||
$(INSTALL) -m 0755 -D package/busybox/udhcpc.script \
|
$(INSTALL) -m 0755 -D package/busybox/udhcpc.script \
|
||||||
$(TARGET_DIR)/usr/share/udhcpc/default.script; \
|
$(TARGET_DIR)/usr/share/udhcpc/default.script; \
|
||||||
fi
|
fi
|
||||||
|
$(BUSYBOX_INSTALL_MDEV_SCRIPT)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define BUSYBOX_UNINSTALL_TARGET_CMDS
|
define BUSYBOX_UNINSTALL_TARGET_CMDS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user