diff options
-rw-r--r-- | configs/qemu_arm_versatile_defconfig | 2 | ||||
-rw-r--r-- | configs/qemu_mipsel_malta_defconfig | 2 | ||||
-rw-r--r-- | fs/Config.in | 48 | ||||
-rw-r--r-- | fs/common.mk | 10 | ||||
-rw-r--r-- | fs/skeleton/etc/inittab | 4 | ||||
-rw-r--r-- | linux/Config.in | 6 | ||||
-rw-r--r-- | linux/linux.mk | 7 | ||||
-rw-r--r-- | package/avahi/avahi.mk | 2 | ||||
-rw-r--r-- | package/busybox/S10mdev | 20 | ||||
-rw-r--r-- | package/busybox/busybox.mk | 15 | ||||
-rw-r--r-- | package/dropbear/dropbear-0.53.1-static_build_fix.patch | 26 | ||||
-rw-r--r-- | package/dropbear/dropbear.mk | 9 | ||||
-rw-r--r-- | package/haserl/Config.in | 2 | ||||
-rw-r--r-- | package/makedevs/README | 35 | ||||
-rw-r--r-- | package/multimedia/ffmpeg/Config.in | 1 | ||||
-rw-r--r-- | package/multimedia/ffmpeg/ffmpeg.mk | 11 | ||||
-rw-r--r-- | package/qt/Config.in | 2 | ||||
-rwxr-xr-x | package/udev/S10udev | 34 | ||||
-rw-r--r-- | target/generic/Config.in | 82 | ||||
-rw-r--r-- | target/generic/Makefile.in | 2 | ||||
-rw-r--r-- | target/generic/device_table.txt | 187 | ||||
-rw-r--r-- | target/generic/device_table_dev.txt | 143 | ||||
-rw-r--r-- | toolchain/kernel-headers/Config.in | 2 |
23 files changed, 366 insertions, 286 deletions
diff --git a/configs/qemu_arm_versatile_defconfig b/configs/qemu_arm_versatile_defconfig index 1a1a0ff1c..6274b686c 100644 --- a/configs/qemu_arm_versatile_defconfig +++ b/configs/qemu_arm_versatile_defconfig @@ -13,7 +13,7 @@ BR2_TARGET_ROOTFS_EXT2=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.38.5" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.38.6" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-2.6.38.config" BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/configs/qemu_mipsel_malta_defconfig b/configs/qemu_mipsel_malta_defconfig index 0523a1451..64ce976cd 100644 --- a/configs/qemu_mipsel_malta_defconfig +++ b/configs/qemu_mipsel_malta_defconfig @@ -9,7 +9,7 @@ BR2_TARGET_ROOTFS_EXT2=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.38.5" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.38.6" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mipsel-malta/linux-2.6.38.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/fs/Config.in b/fs/Config.in index 188e8155b..94154ea81 100644 --- a/fs/Config.in +++ b/fs/Config.in @@ -1,50 +1,4 @@ -menu "Target filesystem options" - -config BR2_ROOTFS_POST_BUILD_SCRIPT - string "Custom script to run before packing files" - default "" - help - Specify a script to be run after the build has finished and before - the BR2 starts packing the files into selected packages. - - This gives users the oportunity to do board-specific cleanups, - add-ons and the like, so the generated files can be used directly - without further processing. - - The script is called with the target directory name as first and - only argument. Make sure the exit code of that script is 0, - otherwise make will stop after calling it. - -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. - -choice - prompt "Root FS skeleton" - -config BR2_ROOTFS_SKELETON_DEFAULT - bool "default target skeleton" - help - Use default target skeleton - -config BR2_ROOTFS_SKELETON_CUSTOM - bool "custom target skeleton" - help - Use custom target skeleton. - -endchoice - -if BR2_ROOTFS_SKELETON_CUSTOM -config BR2_ROOTFS_SKELETON_CUSTOM_PATH - string "custom target skeleton path" - default "fs/skeleton" - help - Path custom target skeleton. -endif +menu "Filesystem images" source "fs/cramfs/Config.in" source "fs/cloop/Config.in" diff --git a/fs/common.mk b/fs/common.mk index 92be00cc0..4d5051460 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -32,7 +32,8 @@ # macro will automatically generate a compressed filesystem image. FAKEROOT_SCRIPT = $(BUILD_DIR)/_fakeroot.fs -ROOTFS_DEVICE_TABLE = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE)) +FULL_DEVICE_TABLE = $(BUILD_DIR)/_device_table.txt +ROOTFS_DEVICE_TABLES = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE)) define ROOTFS_TARGET_INTERNAL @@ -46,13 +47,14 @@ $(BINARIES_DIR)/rootfs.$(1): $(ROOTFS_$(2)_DEPENDENCIES) touch $(BUILD_DIR)/.fakeroot.00000 cat $(BUILD_DIR)/.fakeroot* > $(FAKEROOT_SCRIPT) echo "chown -R 0:0 $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT) -ifneq ($(ROOTFS_DEVICE_TABLE),) - echo "$(HOST_DIR)/usr/bin/makedevs -d $(ROOTFS_DEVICE_TABLE) $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT) +ifneq ($(ROOTFS_DEVICE_TABLES),) + cat $(ROOTFS_DEVICE_TABLES) > $(FULL_DEVICE_TABLE) + echo "$(HOST_DIR)/usr/bin/makedevs -d $(FULL_DEVICE_TABLE) $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT) endif echo "$(ROOTFS_$(2)_CMD)" >> $(FAKEROOT_SCRIPT) chmod a+x $(FAKEROOT_SCRIPT) $(HOST_DIR)/usr/bin/fakeroot -- $(FAKEROOT_SCRIPT) - -@rm -f $(FAKEROOT_SCRIPT) + -@rm -f $(FAKEROOT_SCRIPT) $(FULL_DEVICE_TABLE) $(foreach hook,$(ROOTFS_$(2)_POST_GEN_HOOKS),$(call $(hook))$(sep)) ifeq ($$(BR2_TARGET_ROOTFS_$(2)_GZIP),y) gzip -9 -c $$@ > $$@.gz diff --git a/fs/skeleton/etc/inittab b/fs/skeleton/etc/inittab index 873db29c7..b1e5c164e 100644 --- a/fs/skeleton/etc/inittab +++ b/fs/skeleton/etc/inittab @@ -22,10 +22,6 @@ null::sysinit:/bin/hostname -F /etc/hostname # now run any rc scripts ::sysinit:/etc/init.d/rcS -# Set up a couple of getty's -tty1::respawn:/sbin/getty 38400 tty1 -tty2::respawn:/sbin/getty 38400 tty2 - # Put a getty on the serial port #ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 # GENERIC_SERIAL diff --git a/linux/Config.in b/linux/Config.in index cfef5bbe7..ea04c7d97 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -22,7 +22,7 @@ choice default BR2_LINUX_KERNEL_2_6_38 config BR2_LINUX_KERNEL_2_6_38 - bool "2.6.38.5" + bool "2.6.38.6" config BR2_LINUX_KERNEL_SAME_AS_HEADERS bool "Same as toolchain kernel headers" @@ -52,7 +52,7 @@ endchoice config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE string "Kernel version" depends on BR2_LINUX_KERNEL_CUSTOM_VERSION - default "2.6.38.5" + default "2.6.38.6" config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION string "URL of custom kernel tarball" @@ -60,7 +60,7 @@ config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION config BR2_LINUX_KERNEL_VERSION string - default "2.6.38.5" if BR2_LINUX_KERNEL_2_6_38 + default "2.6.38.6" if BR2_LINUX_KERNEL_2_6_38 default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL diff --git a/linux/linux.mk b/linux/linux.mk index 90dc1dcb9..43ca87b9f 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -134,6 +134,13 @@ ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y) $(call KCONFIG_DISABLE_OPT,CONFIG_INITRAMFS_COMPRESSION_NONE,$(@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 $(TARGET_MAKE_ENV) $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(@D) oldconfig $(Q)touch $@ diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk index 4dfa3547a..fdf039086 100644 --- a/package/avahi/avahi.mk +++ b/package/avahi/avahi.mk @@ -64,7 +64,7 @@ AVAHI_CONF_ENV = ac_cv_func_strtod=yes \ jm_cv_func_working_re_compile_pattern=yes \ ac_use_included_regex=no \ avahi_cv_sys_cxx_works=yes \ - DATADIR=share + DATADIRNAME=share AVAHI_CONF_OPT = --localstatedir=/var \ --disable-qt3 \ diff --git a/package/busybox/S10mdev b/package/busybox/S10mdev new file mode 100644 index 000000000..d2643d023 --- /dev/null +++ b/package/busybox/S10mdev @@ -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 $? diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index ffd66679e..711d11b0f 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -28,6 +28,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 @@ -122,6 +135,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)" \ @@ -138,6 +152,7 @@ define BUSYBOX_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D package/busybox/udhcpc.script \ $(TARGET_DIR)/usr/share/udhcpc/default.script; \ fi + $(BUSYBOX_INSTALL_MDEV_SCRIPT) endef define BUSYBOX_UNINSTALL_TARGET_CMDS diff --git a/package/dropbear/dropbear-0.53.1-static_build_fix.patch b/package/dropbear/dropbear-0.53.1-static_build_fix.patch new file mode 100644 index 000000000..0e0a91a27 --- /dev/null +++ b/package/dropbear/dropbear-0.53.1-static_build_fix.patch @@ -0,0 +1,26 @@ +dropbear: fix static build + +the -lcrypt is missing during the link + +svr-authpasswd.o: In function `svr_auth_password': +svr-authpasswd.c:(.text+0xfc): undefined reference to `crypt' +collect2: ld returned 1 exit status + +Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: b/Makefile.in +=================================================================== +--- a/Makefile.in ++++ b/Makefile.in +@@ -77,7 +77,7 @@ STRIP=@STRIP@ + INSTALL=@INSTALL@ + CPPFLAGS=@CPPFLAGS@ + CFLAGS+=-I. -I$(srcdir) $(CPPFLAGS) @CFLAGS@ +-LIBS+=@LIBS@ ++LIBS+=@CRYPTLIB@ @LIBS@ + LDFLAGS=@LDFLAGS@ + + EXEEXT=@EXEEXT@ diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index fab7c9678..d73e99346 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -9,14 +9,13 @@ DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.gz DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases DROPBEAR_DEPENDENCIES = zlib DROPBEAR_TARGET_BINS = dbclient dropbearkey dropbearconvert scp ssh -# configure misdetects this as no, but the result is not used for -# anything. Unfortunately it breaks the build for other packages also -# checking for struct sockaddr_storage when using a shared config -# cache, so force it to yes -DROPBEAR_CONF_ENV = ac_cv_type_struct_sockaddr_storage=yes DROPBEAR_MAKE = $(MAKE) MULTI=1 SCPPROGRESS=1 \ PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" +ifeq ($(BR2_PREFER_STATIC_LIB),y) +DROPBEAR_MAKE += STATIC=1 +endif + define DROPBEAR_FIX_XAUTH $(SED) 's,^#define XAUTH_COMMAND.*/xauth,#define XAUTH_COMMAND "/usr/bin/xauth,g' $(@D)/options.h endef diff --git a/package/haserl/Config.in b/package/haserl/Config.in index ad9a8e91e..7710fa1c3 100644 --- a/package/haserl/Config.in +++ b/package/haserl/Config.in @@ -38,4 +38,4 @@ endchoice config BR2_PACKAGE_HASERL_VERSION string default "0.8.0" if BR2_PACKAGE_HASERL_VERSION_0_8_X - default "0.9.28" if BR2_PACKAGE_HASERL_VERSION_0_9_X + default "0.9.29" if BR2_PACKAGE_HASERL_VERSION_0_9_X diff --git a/package/makedevs/README b/package/makedevs/README new file mode 100644 index 000000000..6c54052ee --- /dev/null +++ b/package/makedevs/README @@ -0,0 +1,35 @@ +When building a target filesystem, it is desirable to not have to +become root and then run 'mknod' a thousand times. Using a device +table you can create device nodes and directories "on the fly". + +You can do all sorts of interesting things with a device table file. +For example, if you want to adjust the permissions on a particular +file you can just add an entry like: + + /sbin/foobar f 2755 0 0 - - - - - + +and (assuming the file /sbin/foobar exists) it will be made setuid +root (regardless of what its permissions are on the host filesystem. + +Furthermore, you can use a single table entry to create a many device +minors. For example, if I wanted to create /dev/hda and +/dev/hda[0-15] I could just use the following two table entries: + + /dev/hda b 640 0 0 3 0 0 0 - + /dev/hda b 640 0 0 3 1 1 1 15 + +Device table entries take the form of: + +<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count> + +where name is the file name, type can be one of: + + f A regular file + d Directory + c Character special device file + b Block special device file + p Fifo (named pipe) + +uid is the user id for the target file, gid is the group id for the +target file. The rest of the entries (major, minor, etc) apply only +to device special files. diff --git a/package/multimedia/ffmpeg/Config.in b/package/multimedia/ffmpeg/Config.in index 7a9513c09..d11233e94 100644 --- a/package/multimedia/ffmpeg/Config.in +++ b/package/multimedia/ffmpeg/Config.in @@ -27,6 +27,7 @@ config BR2_PACKAGE_FFMPEG_NONFREE config BR2_PACKAGE_FFMPEG_FFMPEG bool "Build ffmpeg (the command line application)" + select BR2_PACKAGE_FFMPEG_SWSCALE default y help FFmpeg is a very fast video and audio converter. diff --git a/package/multimedia/ffmpeg/ffmpeg.mk b/package/multimedia/ffmpeg/ffmpeg.mk index 1e8f09a30..172bfc0f3 100644 --- a/package/multimedia/ffmpeg/ffmpeg.mk +++ b/package/multimedia/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ############################################################# -FFMPEG_VERSION = 0.6.1 +FFMPEG_VERSION = 0.6.3 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.bz2 FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES @@ -13,6 +13,7 @@ FFMPEG_CONF_OPT = \ --prefix=/usr \ --enable-shared \ --disable-avfilter \ + $(if $(BR2_HAVE_DOCUMENTATION),,--disable-doc) ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y) FFMPEG_CONF_OPT += --enable-gpl @@ -142,6 +143,14 @@ endif ifeq ($(BR2_cortex_a8),y) FFMPEG_CONF_OPT += --enable-neon endif +# Set powerpc altivec appropriately +ifeq ($(BR2_powerpc),y) +ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y) +FFMPEG_CONF_OPT -= --enable-altivec +else +FFMPEG_CONF_OPT += --disable-altivec +endif +endif FFMPEG_CONF_OPT += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF)) diff --git a/package/qt/Config.in b/package/qt/Config.in index b223772cf..eafc855a4 100644 --- a/package/qt/Config.in +++ b/package/qt/Config.in @@ -23,12 +23,12 @@ config BR2_PACKAGE_QT_DEMOS choice prompt "Library type" - default BR2_PACKAGE_QT_SHARED help Selects the library type: Shared or Static config BR2_PACKAGE_QT_SHARED bool "Shared library" + depends on !BR2_PREFER_STATIC_LIB help Create and use shared Qt libraries. If you have multiple programs that depend on Qt or intend to use diff --git a/package/udev/S10udev b/package/udev/S10udev index 6418f63cb..0d2a23afa 100755 --- a/package/udev/S10udev +++ b/package/udev/S10udev @@ -16,12 +16,6 @@ # /dev/zero, /dev/null -- that's needed to boot and run this script. # -# old kernels don't use udev -case $(uname -r) in - 2.6*|2.7*) ;; - *) exit 0;; -esac - # Check for missing binaries UDEV_BIN=/sbin/udevd test -x $UDEV_BIN || exit 5 @@ -33,41 +27,13 @@ UDEV_CONFIG=/etc/udev/udev.conf test -r $UDEV_CONFIG || exit 6 . $UDEV_CONFIG -# Directory where sysfs is mounted -SYSFS_DIR=/sys - case "$1" in start) - # mount sysfs if it's not yet mounted - if [ ! -d $SYSFS_DIR ]; then - echo "${0}: SYSFS_DIR \"$SYSFS_DIR\" not found" - exit 1 - fi - grep -q "^sysfs $SYSFS_DIR" /proc/mounts || - mount -t sysfs /sys /sys || - exit 1 - - # mount $udev_root as ramfs if it's not yet mounted - # we know 2.6 kernels always support ramfs - if [ ! -d $udev_root ]; then - echo "${0}: udev_root \"$udev_root\" not found" - exit 1 - fi - grep -q "^udev $udev_root" /proc/mounts || - mount -t ramfs udev $udev_root || - exit 1 - - mkdir $udev_root/pts $udev_root/shm mknod -m 0666 /dev/null c 1 3 - mknod -m 0666 /dev/zero c 1 5 - mknod -m 0600 /dev/console c 5 1 - - # populate /dev (normally) echo -n "Populating $udev_root using udev: " echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug $UDEV_BIN -d || (echo "FAIL" && exit 1) $UDEVSTART_BIN || (echo "FAIL" && exit 1) - mount -t devpts /dev/pts /dev/pts || (echo "FAIL" && exit 1) echo "done" ;; stop) diff --git a/target/generic/Config.in b/target/generic/Config.in index c624ba872..4969fcdc4 100644 --- a/target/generic/Config.in +++ b/target/generic/Config.in @@ -12,13 +12,70 @@ config BR2_TARGET_GENERIC_ISSUE help Select system banner (/etc/issue) to be displayed at login. -menuconfig BR2_TARGET_GENERIC_GETTY - bool "Generic serial port config" +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 + string "Path to the device tables" + default "target/generic/device_table.txt target/generic/device_table_dev.txt" \ + if BR2_ROOTFS_DEVICE_CREATION_STATIC + default "target/generic/device_table.txt" \ + if (BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV || \ + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || \ + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS) + help + Specify a space-separated list of device table locations, + that will be passed to the makedevs utility to create all + the special device files and assign correct owners and + permissions on various files in the target filesystem. + + See package/makedevs/README for details on the usage and + syntax of these files. + +choice + prompt "Root FS skeleton" -if BR2_TARGET_GENERIC_GETTY +config BR2_ROOTFS_SKELETON_DEFAULT + bool "default target skeleton" + help + Use default target skeleton + +config BR2_ROOTFS_SKELETON_CUSTOM + bool "custom target skeleton" + help + Use custom target skeleton. + +endchoice + +if BR2_ROOTFS_SKELETON_CUSTOM +config BR2_ROOTFS_SKELETON_CUSTOM_PATH + string "custom target skeleton path" + default "fs/skeleton" + help + Path custom target skeleton. +endif + +if BR2_ROOTFS_SKELETON_DEFAULT config BR2_TARGET_GENERIC_GETTY_PORT - string "Serial port to run a getty on" + string "Port to run a getty (login prompt) on" default "ttyS0" help Specify a port to run a getty (login prompt) on. @@ -52,6 +109,21 @@ config BR2_TARGET_GENERIC_GETTY_BAUDRATE default "57600" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 default "115200" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 -endif # BR2_TARGET_GENERIC_GETTY +endif # BR2_ROOTFS_SKELETON_DEFAULT + +config BR2_ROOTFS_POST_BUILD_SCRIPT + string "Custom script to run before creating filesystem images" + default "" + help + Specify a script to be run after the build has finished and before + Buildroot starts packing the files into selected filesystem images. + + This gives users the oportunity to do board-specific cleanups, + add-ons and the like, so the generated files can be used directly + without further processing. + + The script is called with the target directory name as first and + only argument. Make sure the exit code of that script is 0, + otherwise make will stop after calling it. endmenu diff --git a/target/generic/Makefile.in b/target/generic/Makefile.in index ba6e4b060..ce07ecfd0 100644 --- a/target/generic/Makefile.in +++ b/target/generic/Makefile.in @@ -31,7 +31,7 @@ ifneq ($(TARGET_GENERIC_ISSUE),) TARGETS += target-generic-issue endif -ifeq ($(BR2_TARGET_GENERIC_GETTY),y) +ifeq ($(BR2_ROOTFS_SKELETON_DEFAULT),y) ifeq ($(BR2_PACKAGE_SYSVINIT),y) TARGETS += target-generic-getty-sysvinit else diff --git a/target/generic/device_table.txt b/target/generic/device_table.txt index 38fe1e8e3..12f35b275 100644 --- a/target/generic/device_table.txt +++ b/target/generic/device_table.txt @@ -1,44 +1,15 @@ -# When building a target filesystem, it is desirable to not have to -# become root and then run 'mknod' a thousand times. Using a device -# table you can create device nodes and directories "on the fly". +# See package/makedevs/README for details # -# This is a sample device table file for use with genext2fs. You can -# do all sorts of interesting things with a device table file. For -# example, if you want to adjust the permissions on a particular file -# you can just add an entry like: -# /sbin/foobar f 2755 0 0 - - - - - -# and (assuming the file /sbin/foobar exists) it will be made setuid -# root (regardless of what its permissions are on the host filesystem. -# Furthermore, you can use a single table entry to create a many device -# minors. For example, if I wanted to create /dev/hda and /dev/hda[0-15] -# I could just use the following two table entries: -# /dev/hda b 640 0 0 3 0 0 0 - -# /dev/hda b 640 0 0 3 1 1 1 15 -# -# Device table entries take the form of: -# <name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count> -# where name is the file name, type can be one of: -# f A regular file -# d Directory -# c Character special device file -# b Block special device file -# p Fifo (named pipe) -# uid is the user id for the target file, gid is the group id for the -# target file. The rest of the entries (major, minor, etc) apply only -# to device special files. - -# Have fun -# -Erik Andersen <andersen@codepoet.org> +# This device table is used to assign proper ownership and permissions +# on various files. It doesn't create any device file, as it is used +# in both static device configurations (where /dev/ is static) and in +# dynamic configurations (where devtmpfs, mdev or udev are used). # - -#<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count> -/dev d 755 0 0 - - - - - -/dev/pts d 755 0 0 - - - - - -/dev/shm d 755 0 0 - - - - - -/tmp d 1777 0 0 - - - - - -/etc d 755 0 0 - - - - - -/home/default d 2755 1000 1000 - - - - - -#<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count> +# <name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count> +/dev d 755 0 0 - - - - - +/tmp d 1777 0 0 - - - - - +/etc d 755 0 0 - - - - - +/home/default d 2755 1000 1000 - - - - - /bin/busybox f 4755 0 0 - - - - - /etc/shadow f 600 0 0 - - - - - /etc/passwd f 644 0 0 - - - - - @@ -48,140 +19,4 @@ /etc/network/if-post-down.d d 755 0 0 - - - - - /usr/share/udhcpc/default.script f 755 0 0 - - - - - # uncomment this to allow starting x as non-root -#/usr/X11R6/bin/Xfbdev f 4755 0 0 - - - - - -# Normal system devices -/dev/mem c 640 0 0 1 1 0 0 - -/dev/kmem c 640 0 0 1 2 0 0 - -/dev/null c 666 0 0 1 3 0 0 - -/dev/zero c 666 0 0 1 5 0 0 - -/dev/random c 666 0 0 1 8 0 0 - -/dev/urandom c 666 0 0 1 9 0 0 - -/dev/ram b 640 0 0 1 1 0 0 - -/dev/ram b 640 0 0 1 0 0 1 4 -/dev/loop b 640 0 0 7 0 0 1 2 -/dev/rtc c 640 0 0 10 135 - - - -/dev/console c 666 0 0 5 1 - - - -/dev/tty c 666 0 0 5 0 - - - -/dev/tty c 666 0 0 4 0 0 1 8 -/dev/ttyp c 666 0 0 3 0 0 1 10 -/dev/ptyp c 666 0 0 2 0 0 1 10 -/dev/ptmx c 666 0 0 5 2 - - - -/dev/ttyP c 666 0 0 57 0 0 1 4 -/dev/ttyS c 666 0 0 4 64 0 1 4 -/dev/fb c 640 0 5 29 0 0 1 4 -#/dev/ttySA c 666 0 0 204 5 0 1 3 -/dev/psaux c 666 0 0 10 1 0 0 - -#/dev/ppp c 666 0 0 108 0 - - - -/dev/ttyAM c 666 0 0 204 16 0 1 3 -/dev/ttyCPM c 666 0 0 204 46 0 1 4 -/dev/ttyAMA c 666 0 0 204 64 0 1 4 -/dev/ttySAC c 666 0 0 204 64 0 1 4 -/dev/ttySC c 666 0 0 204 8 0 1 6 -/dev/ttyPSC c 666 0 0 204 148 0 1 4 -/dev/ttyUL c 666 0 0 204 187 0 1 4 -/dev/ttymxc c 666 0 0 207 16 0 1 3 - -# Input stuff -/dev/input d 755 0 0 - - - - - -/dev/input/mice c 640 0 0 13 63 0 0 - -/dev/input/mouse c 660 0 0 13 32 0 1 4 -/dev/input/event c 660 0 0 13 64 0 1 4 -#/dev/input/js c 660 0 0 13 0 0 1 4 - - -# MTD stuff -/dev/mtd c 640 0 0 90 0 0 2 4 -/dev/mtdblock b 640 0 0 31 0 0 1 4 - -#Tun/tap driver -/dev/net d 755 0 0 - - - - - -/dev/net/tun c 660 0 0 10 200 - - - - -# Audio stuff -#/dev/audio c 666 0 29 14 4 - - - -#/dev/audio1 c 666 0 29 14 20 - - - -#/dev/dsp c 666 0 29 14 3 - - - -#/dev/dsp1 c 666 0 29 14 19 - - - -#/dev/sndstat c 666 0 29 14 6 - - - - -# User-mode Linux stuff -#/dev/ubda b 640 0 0 98 0 0 0 - -#/dev/ubda b 640 0 0 98 1 1 1 15 - -# IDE Devices -/dev/hda b 640 0 0 3 0 0 0 - -/dev/hda b 640 0 0 3 1 1 1 15 -/dev/hdb b 640 0 0 3 64 0 0 - -/dev/hdb b 640 0 0 3 65 1 1 15 -#/dev/hdc b 640 0 0 22 0 0 0 - -#/dev/hdc b 640 0 0 22 1 1 1 15 -#/dev/hdd b 640 0 0 22 64 0 0 - -#/dev/hdd b 640 0 0 22 65 1 1 15 -#/dev/hde b 640 0 0 33 0 0 0 - -#/dev/hde b 640 0 0 33 1 1 1 15 -#/dev/hdf b 640 0 0 33 64 0 0 - -#/dev/hdf b 640 0 0 33 65 1 1 15 -#/dev/hdg b 640 0 0 34 0 0 0 - -#/dev/hdg b 640 0 0 34 1 1 1 15 -#/dev/hdh b 640 0 0 34 64 0 0 - -#/dev/hdh b 640 0 0 34 65 1 1 15 - -# SCSI Devices -/dev/sda b 640 0 0 8 0 0 0 - -/dev/sda b 640 0 0 8 1 1 1 15 -/dev/sdb b 640 0 0 8 16 0 0 - -/dev/sdb b 640 0 0 8 17 1 1 15 -#/dev/sdc b 640 0 0 8 32 0 0 - -#/dev/sdc b 640 0 0 8 33 1 1 15 -#/dev/sdd b 640 0 0 8 48 0 0 - -#/dev/sdd b 640 0 0 8 49 1 1 15 -#/dev/sde b 640 0 0 8 64 0 0 - -#/dev/sde b 640 0 0 8 65 1 1 15 -#/dev/sdf b 640 0 0 8 80 0 0 - -#/dev/sdf b 640 0 0 8 81 1 1 15 -#/dev/sdg b 640 0 0 8 96 0 0 - -#/dev/sdg b 640 0 0 8 97 1 1 15 -#/dev/sdh b 640 0 0 8 112 0 0 - -#/dev/sdh b 640 0 0 8 113 1 1 15 -#/dev/sg c 640 0 0 21 0 0 1 15 -#/dev/scd b 640 0 0 11 0 0 1 15 -#/dev/st c 640 0 0 9 0 0 1 8 -#/dev/nst c 640 0 0 9 128 0 1 8 -#/dev/st c 640 0 0 9 32 1 1 4 -#/dev/st c 640 0 0 9 64 1 1 4 -#/dev/st c 640 0 0 9 96 1 1 4 - -# USB block devices (ub driver) -/dev/uba b 640 0 0 180 0 0 0 - -/dev/uba b 640 0 0 180 1 1 1 6 -/dev/ubb b 640 0 0 180 8 0 0 - -/dev/ubb b 640 0 0 180 65 1 1 6 - -# Floppy disk devices -#/dev/fd b 640 0 0 2 0 0 1 2 -#/dev/fd0d360 b 640 0 0 2 4 0 0 - -#/dev/fd1d360 b 640 0 0 2 5 0 0 - -#/dev/fd0h1200 b 640 0 0 2 8 0 0 - -#/dev/fd1h1200 b 640 0 0 2 9 0 0 - -#/dev/fd0u1440 b 640 0 0 2 28 0 0 - -#/dev/fd1u1440 b 640 0 0 2 29 0 0 - -#/dev/fd0u2880 b 640 0 0 2 32 0 0 - -#/dev/fd1u2880 b 640 0 0 2 33 0 0 - - -# All the proprietary cdrom devices in the world -#/dev/aztcd b 640 0 0 29 0 0 0 - -#/dev/bpcd b 640 0 0 41 0 0 0 - -#/dev/capi20 c 640 0 0 68 0 0 1 2 -#/dev/cdu31a b 640 0 0 15 0 0 0 - -#/dev/cdu535 b 640 0 0 24 0 0 0 - -#/dev/cm206cd b 640 0 0 32 0 0 0 - -#/dev/sjcd b 640 0 0 18 0 0 0 - -#/dev/sonycd b 640 0 0 15 0 0 0 - -#/dev/gscd b 640 0 0 16 0 0 0 - -#/dev/sbpcd b 640 0 0 25 0 0 0 - -#/dev/sbpcd b 640 0 0 25 0 0 1 4 -#/dev/mcd b 640 0 0 23 0 0 0 - -#/dev/optcd b 640 0 0 17 0 0 0 - - -# I2C device nodes -/dev/i2c- c 666 0 0 89 0 0 1 4 +#/usr/X11R6/bin/Xfbdev f 4755 0 0 - - - - - diff --git a/target/generic/device_table_dev.txt b/target/generic/device_table_dev.txt new file mode 100644 index 000000000..a3d53d460 --- /dev/null +++ b/target/generic/device_table_dev.txt @@ -0,0 +1,143 @@ +# See package/makedevs/README for details +# +# This device table is used only to create device files when a static +# device configuration is used (entries in /dev are static). +# +# <name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count> + +# Normal system devices +/dev/mem c 640 0 0 1 1 0 0 - +/dev/kmem c 640 0 0 1 2 0 0 - +/dev/null c 666 0 0 1 3 0 0 - +/dev/zero c 666 0 0 1 5 0 0 - +/dev/random c 666 0 0 1 8 0 0 - +/dev/urandom c 666 0 0 1 9 0 0 - +/dev/ram b 640 0 0 1 1 0 0 - +/dev/ram b 640 0 0 1 0 0 1 4 +/dev/loop b 640 0 0 7 0 0 1 2 +/dev/rtc c 640 0 0 10 135 - - - +/dev/console c 666 0 0 5 1 - - - +/dev/tty c 666 0 0 5 0 - - - +/dev/tty c 666 0 0 4 0 0 1 8 +/dev/ttyp c 666 0 0 3 0 0 1 10 +/dev/ptyp c 666 0 0 2 0 0 1 10 +/dev/ptmx c 666 0 0 5 2 - - - +/dev/ttyP c 666 0 0 57 0 0 1 4 +/dev/ttyS c 666 0 0 4 64 0 1 4 +/dev/fb c 640 0 5 29 0 0 1 4 +#/dev/ttySA c 666 0 0 204 5 0 1 3 +/dev/psaux c 666 0 0 10 1 0 0 - +#/dev/ppp c 666 0 0 108 0 - - - +/dev/ttyAM c 666 0 0 204 16 0 1 3 +/dev/ttyCPM c 666 0 0 204 46 0 1 4 +/dev/ttyAMA c 666 0 0 204 64 0 1 4 +/dev/ttySAC c 666 0 0 204 64 0 1 4 +/dev/ttySC c 666 0 0 204 8 0 1 6 +/dev/ttyPSC c 666 0 0 204 148 0 1 4 +/dev/ttyUL c 666 0 0 204 187 0 1 4 +/dev/ttymxc c 666 0 0 207 16 0 1 3 + +# Input stuff +/dev/input d 755 0 0 - - - - - +/dev/input/mice c 640 0 0 13 63 0 0 - +/dev/input/mouse c 660 0 0 13 32 0 1 4 +/dev/input/event c 660 0 0 13 64 0 1 4 +#/dev/input/js c 660 0 0 13 0 0 1 4 + + +# MTD stuff +/dev/mtd c 640 0 0 90 0 0 2 4 +/dev/mtdblock b 640 0 0 31 0 0 1 4 + +#Tun/tap driver +/dev/net d 755 0 0 - - - - - +/dev/net/tun c 660 0 0 10 200 - - - + +# Audio stuff +#/dev/audio c 666 0 29 14 4 - - - +#/dev/audio1 c 666 0 29 14 20 - - - +#/dev/dsp c 666 0 29 14 3 - - - +#/dev/dsp1 c 666 0 29 14 19 - - - +#/dev/sndstat c 666 0 29 14 6 - - - + +# User-mode Linux stuff +#/dev/ubda b 640 0 0 98 0 0 0 - +#/dev/ubda b 640 0 0 98 1 1 1 15 + +# IDE Devices +/dev/hda b 640 0 0 3 0 0 0 - +/dev/hda b 640 0 0 3 1 1 1 15 +/dev/hdb b 640 0 0 3 64 0 0 - +/dev/hdb b 640 0 0 3 65 1 1 15 +#/dev/hdc b 640 0 0 22 0 0 0 - +#/dev/hdc b 640 0 0 22 1 1 1 15 +#/dev/hdd b 640 0 0 22 64 0 0 - +#/dev/hdd b 640 0 0 22 65 1 1 15 +#/dev/hde b 640 0 0 33 0 0 0 - +#/dev/hde b 640 0 0 33 1 1 1 15 +#/dev/hdf b 640 0 0 33 64 0 0 - +#/dev/hdf b 640 0 0 33 65 1 1 15 +#/dev/hdg b 640 0 0 34 0 0 0 - +#/dev/hdg b 640 0 0 34 1 1 1 15 +#/dev/hdh b 640 0 0 34 64 0 0 - +#/dev/hdh b 640 0 0 34 65 1 1 15 + +# SCSI Devices +/dev/sda b 640 0 0 8 0 0 0 - +/dev/sda b 640 0 0 8 1 1 1 15 +/dev/sdb b 640 0 0 8 16 0 0 - +/dev/sdb b 640 0 0 8 17 1 1 15 +#/dev/sdc b 640 0 0 8 32 0 0 - +#/dev/sdc b 640 0 0 8 33 1 1 15 +#/dev/sdd b 640 0 0 8 48 0 0 - +#/dev/sdd b 640 0 0 8 49 1 1 15 +#/dev/sde b 640 0 0 8 64 0 0 - +#/dev/sde b 640 0 0 8 65 1 1 15 +#/dev/sdf b 640 0 0 8 80 0 0 - +#/dev/sdf b 640 0 0 8 81 1 1 15 +#/dev/sdg b 640 0 0 8 96 0 0 - +#/dev/sdg b 640 0 0 8 97 1 1 15 +#/dev/sdh b 640 0 0 8 112 0 0 - +#/dev/sdh b 640 0 0 8 113 1 1 15 +#/dev/sg c 640 0 0 21 0 0 1 15 +#/dev/scd b 640 0 0 11 0 0 1 15 +#/dev/st c 640 0 0 9 0 0 1 8 +#/dev/nst c 640 0 0 9 128 0 1 8 +#/dev/st c 640 0 0 9 32 1 1 4 +#/dev/st c 640 0 0 9 64 1 1 4 +#/dev/st c 640 0 0 9 96 1 1 4 + +# USB block devices (ub driver) +/dev/uba b 640 0 0 180 0 0 0 - +/dev/uba b 640 0 0 180 1 1 1 6 +/dev/ubb b 640 0 0 180 8 0 0 - +/dev/ubb b 640 0 0 180 65 1 1 6 + +# Floppy disk devices +#/dev/fd b 640 0 0 2 0 0 1 2 +#/dev/fd0d360 b 640 0 0 2 4 0 0 - +#/dev/fd1d360 b 640 0 0 2 5 0 0 - +#/dev/fd0h1200 b 640 0 0 2 8 0 0 - +#/dev/fd1h1200 b 640 0 0 2 9 0 0 - +#/dev/fd0u1440 b 640 0 0 2 28 0 0 - +#/dev/fd1u1440 b 640 0 0 2 29 0 0 - +#/dev/fd0u2880 b 640 0 0 2 32 0 0 - +#/dev/fd1u2880 b 640 0 0 2 33 0 0 - + +# All the proprietary cdrom devices in the world +#/dev/aztcd b 640 0 0 29 0 0 0 - +#/dev/bpcd b 640 0 0 41 0 0 0 - +#/dev/capi20 c 640 0 0 68 0 0 1 2 +#/dev/cdu31a b 640 0 0 15 0 0 0 - +#/dev/cdu535 b 640 0 0 24 0 0 0 - +#/dev/cm206cd b 640 0 0 32 0 0 0 - +#/dev/sjcd b 640 0 0 18 0 0 0 - +#/dev/sonycd b 640 0 0 15 0 0 0 - +#/dev/gscd b 640 0 0 16 0 0 0 - +#/dev/sbpcd b 640 0 0 25 0 0 0 - +#/dev/sbpcd b 640 0 0 25 0 0 1 4 +#/dev/mcd b 640 0 0 23 0 0 0 - +#/dev/optcd b 640 0 0 17 0 0 0 - + +# I2C device nodes +/dev/i2c- c 666 0 0 89 0 0 1 4 diff --git a/toolchain/kernel-headers/Config.in b/toolchain/kernel-headers/Config.in index 6bf4d6fe3..da6f1c3fc 100644 --- a/toolchain/kernel-headers/Config.in +++ b/toolchain/kernel-headers/Config.in @@ -46,6 +46,6 @@ config BR2_DEFAULT_KERNEL_HEADERS default "2.6.35.13" if BR2_KERNEL_HEADERS_2_6_35 default "2.6.36.4" if BR2_KERNEL_HEADERS_2_6_36 default "2.6.37.6" if BR2_KERNEL_HEADERS_2_6_37 - default "2.6.38.5" if BR2_KERNEL_HEADERS_2_6_38 + default "2.6.38.6" if BR2_KERNEL_HEADERS_2_6_38 default "2.6" if BR2_KERNEL_HEADERS_SNAP default $BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION |