diff options
| -rw-r--r-- | package/busybox/Config.in | 8 | ||||
| -rw-r--r-- | package/busybox/busybox.mk | 4 | ||||
| -rw-r--r-- | target/device/x86/i386/busybox.config | 2 | ||||
| -rw-r--r-- | target/generic/Makefile.in | 2 | ||||
| -rw-r--r-- | target/generic/mini_device_table.txt | 174 | ||||
| -rw-r--r-- | target/generic/target_busybox_skeleton/etc/fstab | 3 | ||||
| -rw-r--r-- | target/generic/target_busybox_skeleton/etc/inittab | 10 | 
7 files changed, 198 insertions, 5 deletions
diff --git a/package/busybox/Config.in b/package/busybox/Config.in index f832d7121..9d9c1a1e9 100644 --- a/package/busybox/Config.in +++ b/package/busybox/Config.in @@ -74,3 +74,11 @@ config BR2_PACKAGE_BUSYBOX_HIDE_OTHERS  	  Do not show packages in menuconfig that are potentially provided  	  by busybox. +config BR2_PACKAGE_BUSYBOX_SKELETON +	bool "use minimal target skeleton" +	depends on BR2_PACKAGE_BUSYBOX +	depends on !BR2_BUSYBOX_VERSION_1_0_1 +	help +	  Use a minimal target skeleton. Make sure to select mdev +	  which is used to populate /dev/. + diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 4fb3c16aa..dd2a5f62f 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -98,6 +98,10 @@ else  	$(SED) "s/^.*CONFIG_LFS.*/CONFIG_LFS=n/;" $(BUSYBOX_DIR)/.config  	$(SED) "s/^.*FDISK_SUPPORT_LARGE_DISKS.*/FDISK_SUPPORT_LARGE_DISKS=n/;" $(BUSYBOX_DIR)/.config  endif +ifeq ($(BR2_PACKAGE_BUSYBOX_SKELETON),y) +	# force mdev on +	$(SED) "s/^.*CONFIG_MDEV.*/CONFIG_MDEV=y/" $(BUSYBOX_DIR)/.config +endif  	yes "" | $(MAKE) CC=$(TARGET_CC) CROSS_COMPILE="$(TARGET_CROSS)" \  		CROSS="$(TARGET_CROSS)" -C $(BUSYBOX_DIR) oldconfig  	touch $@ diff --git a/target/device/x86/i386/busybox.config b/target/device/x86/i386/busybox.config index ab36a2ae8..75f3f919f 100644 --- a/target/device/x86/i386/busybox.config +++ b/target/device/x86/i386/busybox.config @@ -638,7 +638,7 @@ CONFIG_ASH_CMDCMD=y  # CONFIG_ASH_MAIL is not set  CONFIG_ASH_OPTIMIZE_FOR_SIZE=y  # CONFIG_ASH_RANDOM_SUPPORT is not set -# CONFIG_ASH_EXPAND_PRMT is not set +CONFIG_ASH_EXPAND_PRMT=y  # CONFIG_HUSH is not set  # CONFIG_LASH is not set  # CONFIG_MSH is not set diff --git a/target/generic/Makefile.in b/target/generic/Makefile.in index 9fa7a6be8..4ea0b6a6b 100644 --- a/target/generic/Makefile.in +++ b/target/generic/Makefile.in @@ -4,6 +4,6 @@ TARGET_DEVICE_TABLE=target/generic/device_table.txt  ifeq ($(BR2_PACKAGE_BUSYBOX_SKELETON),y)  TARGET_SKELETON=target/generic/target_busybox_skeleton -TARGET_DEVICE_TABLE= +TARGET_DEVICE_TABLE=target/generic/mini_device_table.txt  endif diff --git a/target/generic/mini_device_table.txt b/target/generic/mini_device_table.txt new file mode 100644 index 000000000..5be00cac3 --- /dev/null +++ b/target/generic/mini_device_table.txt @@ -0,0 +1,174 @@ +# 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". +# +# 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> +# + +#<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	-	-	-	-	- +/sys		d	755	0	0	-	-	-	-	- +/config		d	755	0	0	-	-	-	-	- +/proc		d	755	0	0	-	-	-	-	- +/home/default	d	2755	1000	1000	-	-	-	-	- +#<name>					<type>	<mode>	<uid>	<gid>	<major>	<minor>	<start>	<inc>	<count> +/bin/busybox				f	4755	0	0	-	-	-	-	- +/etc/shadow				f	600	0	0	-	-	-	-	- +/etc/passwd				f	644	0	0	-	-	-	-	- +/etc/network/if-up.d			d	755	0	0	-	-	-	-	- +/etc/network/if-pre-up.d		d	755	0	0	-	-	-	-	- +/etc/network/if-down.d			d	755	0	0	-	-	-	-	- +/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	32	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	-	-	- + +# 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 + +# 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	- + diff --git a/target/generic/target_busybox_skeleton/etc/fstab b/target/generic/target_busybox_skeleton/etc/fstab index 6d33629a7..5a351e2b1 100644 --- a/target/generic/target_busybox_skeleton/etc/fstab +++ b/target/generic/target_busybox_skeleton/etc/fstab @@ -5,4 +5,5 @@  proc		/proc	       proc     defaults	  0	 0  devpts		/dev/pts       devpts   defaults,gid=5,mode=620	  0	 0  tmpfs           /tmp           tmpfs    defaults          0      0 - +configfs	/config	       configfs defaults	  0	 0 +sysfs		/sys	       sysfs    defaults	  0	 0 diff --git a/target/generic/target_busybox_skeleton/etc/inittab b/target/generic/target_busybox_skeleton/etc/inittab index a6c014e75..aff1fdfd3 100644 --- a/target/generic/target_busybox_skeleton/etc/inittab +++ b/target/generic/target_busybox_skeleton/etc/inittab @@ -14,8 +14,14 @@  # process   == program to run  # Startup the system +null::sysinit:/bin/mount -t proc none /proc +null::sysinit:/bin/mount -t sysfs none /sys +null::sysinit:/bin/mount -t tmpfs -o size=512k,mode=0755 none /dev +null::sysinit:/bin/mkdir /dev/pts +null::sysinit:/bin/mount -t devpts devpts /dev/pts +null::sysinit:/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug +null::sysinit:/sbin/mdev -s  null::sysinit:/bin/mount -o remount,rw / -null::sysinit:/bin/mount -t proc proc /proc  null::sysinit:/bin/mount -a  null::sysinit:/bin/hostname -F /etc/hostname  null::sysinit:/sbin/ifconfig lo 127.0.0.1 up @@ -32,7 +38,7 @@ tty2::respawn:/sbin/getty 38400 tty2  # Logging junk  null::sysinit:/bin/touch /var/log/messages -null::respawn:/sbin/syslogd -n -m 0 +null::respawn:/sbin/syslogd -n  null::respawn:/sbin/klogd -n  tty3::respawn:/usr/bin/tail -f /var/log/messages  | 
