- add skeleton to use busybox and mdev for a rather small skeleton
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 16 Feb 2007 14:32:22 +0000 (14:32 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 16 Feb 2007 14:32:22 +0000 (14:32 -0000)
package/busybox/Config.in
package/busybox/busybox.mk
target/device/x86/i386/busybox.config
target/generic/Makefile.in
target/generic/mini_device_table.txt [new file with mode: 0644]
target/generic/target_busybox_skeleton/etc/fstab
target/generic/target_busybox_skeleton/etc/inittab

index f832d7121fd15270b5bf98b83fcd0859a520b468..9d9c1a1e915926c55b60eace69b00ae7e3936671 100644 (file)
@@ -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/.
+
index 4fb3c16aa290a64c37b418183858cfe1a7b990aa..dd2a5f62f9432de127c98a6ad506e89e16b1bdef 100644 (file)
@@ -97,6 +97,10 @@ ifeq ($(BR2_LARGEFILE),y)
 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
index ab36a2ae87d2c6c14f16cfe6d0a72dc252a8e687..75f3f919f5236783a8e28c73d1df407ef42ad6cb 100644 (file)
@@ -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
index 9fa7a6be8d6b5879644cd734ee1d83069244b413..4ea0b6a6bea5b4a00de1fefa7fb150ec2510a9e0 100644 (file)
@@ -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 (file)
index 0000000..5be00ca
--- /dev/null
@@ -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       -
+
index 6d33629a7b810c0ff5f4d0d55b964bd72d1c0846..5a351e2b187468e959b61ed8650a39e2761b7ef4 100644 (file)
@@ -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
index a6c014e751b970af772bd2cb5bdbdb68bcfb384b..aff1fdfd3cab37c550cee7e888d652c03b3c37ea 100644 (file)
 # 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