Convert all util-linux/* applets to "new style" applet definitions
authorDenys Vlasenko <vda.linux@googlemail.com>
Wed, 23 Nov 2016 10:46:32 +0000 (11:46 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Wed, 23 Nov 2016 10:46:32 +0000 (11:46 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
42 files changed:
include/applets.src.h
util-linux/Config.src
util-linux/Kbuild.src
util-linux/acpid.c
util-linux/blkdiscard.c
util-linux/blkid.c
util-linux/blockdev.c
util-linux/dmesg.c
util-linux/fatattr.c
util-linux/fbset.c
util-linux/fdformat.c
util-linux/fdisk.c
util-linux/findfs.c
util-linux/flock.c
util-linux/freeramdisk.c
util-linux/fsck_minix.c
util-linux/getopt.c
util-linux/hexdump.c
util-linux/hwclock.c
util-linux/ipcrm.c
util-linux/ipcs.c
util-linux/losetup.c
util-linux/lspci.c
util-linux/lsusb.c
util-linux/mkfs_minix.c
util-linux/mkfs_reiser.c
util-linux/mkswap.c
util-linux/more.c
util-linux/mount.c
util-linux/pivot_root.c
util-linux/rdate.c
util-linux/rdev.c
util-linux/readprofile.c
util-linux/rev.c
util-linux/rtcwake.c
util-linux/script.c
util-linux/scriptreplay.c
util-linux/swaponoff.c
util-linux/switch_root.c
util-linux/uevent.c
util-linux/umount.c
util-linux/unshare.c

index adce804e5ecbf806b5664d2fb5147f2a83e8c01c..23453b0efca76850ec7aab9c6c8321630b73afac 100644 (file)
@@ -75,9 +75,7 @@ s     - suid type:
 INSERT
 IF_TEST(APPLET_NOFORK([,  test, BB_DIR_USR_BIN, BB_SUID_DROP, test))
 IF_TEST(APPLET_NOFORK([[, test, BB_DIR_USR_BIN, BB_SUID_DROP, test))
-IF_ACPID(APPLET(acpid, BB_DIR_SBIN, BB_SUID_DROP))
 IF_BASENAME(APPLET_NOFORK(basename, basename, BB_DIR_USR_BIN, BB_SUID_DROP, basename))
-IF_BLKID(APPLET(blkid, BB_DIR_SBIN, BB_SUID_DROP))
 IF_CAL(APPLET(cal, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_CAT(APPLET_NOFORK(cat, cat, BB_DIR_BIN, BB_SUID_DROP, cat))
 IF_CATV(APPLET(catv, BB_DIR_BIN, BB_SUID_DROP))
@@ -94,7 +92,6 @@ IF_DD(APPLET_NOEXEC(dd, dd, BB_DIR_BIN, BB_SUID_DROP, dd))
 IF_DF(APPLET(df, BB_DIR_BIN, BB_SUID_DROP))
 IF_DHCPRELAY(APPLET(dhcprelay, BB_DIR_USR_SBIN, BB_SUID_DROP))
 IF_DIRNAME(APPLET_NOFORK(dirname, dirname, BB_DIR_USR_BIN, BB_SUID_DROP, dirname))
-IF_DMESG(APPLET(dmesg, BB_DIR_BIN, BB_SUID_DROP))
 IF_DOS2UNIX(APPLET_NOEXEC(dos2unix, dos2unix, BB_DIR_USR_BIN, BB_SUID_DROP, dos2unix))
 IF_DU(APPLET(du, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_DUMPLEASES(APPLET(dumpleases, BB_DIR_USR_BIN, BB_SUID_DROP))
@@ -105,71 +102,37 @@ IF_ENV(APPLET_NOEXEC(env, env, BB_DIR_USR_BIN, BB_SUID_DROP, env))
 IF_EXPAND(APPLET(expand, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_EXPR(APPLET(expr, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_FALSE(APPLET_NOFORK(false, false, BB_DIR_BIN, BB_SUID_DROP, false))
-IF_FBSET(APPLET(fbset, BB_DIR_USR_SBIN, BB_SUID_DROP))
-IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, BB_DIR_BIN, BB_SUID_DROP, fdflush))
-IF_FDFORMAT(APPLET(fdformat, BB_DIR_USR_SBIN, BB_SUID_DROP))
-IF_FDISK(APPLET(fdisk, BB_DIR_SBIN, BB_SUID_DROP))
-/* Benefits from suid root: better access to /dev/BLOCKDEVs: */
-IF_FINDFS(APPLET(findfs, BB_DIR_SBIN, BB_SUID_MAYBE))
-IF_FLOCK(APPLET(flock, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_FOLD(APPLET_NOEXEC(fold, fold, BB_DIR_USR_BIN, BB_SUID_DROP, fold))
-IF_FREERAMDISK(APPLET(freeramdisk, BB_DIR_SBIN, BB_SUID_DROP))
 //IF_E2FSCK(APPLET_ODDNAME(fsck.ext2, e2fsck, BB_DIR_SBIN, BB_SUID_DROP, fsck_ext2))
 //IF_E2FSCK(APPLET_ODDNAME(fsck.ext3, e2fsck, BB_DIR_SBIN, BB_SUID_DROP, fsck_ext3))
-IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, BB_DIR_SBIN, BB_SUID_DROP, fsck_minix))
 IF_FSYNC(APPLET_NOFORK(fsync, fsync, BB_DIR_BIN, BB_SUID_DROP, fsync))
 IF_GETENFORCE(APPLET(getenforce, BB_DIR_USR_SBIN, BB_SUID_DROP))
-IF_GETOPT(APPLET(getopt, BB_DIR_BIN, BB_SUID_DROP))
 IF_GETSEBOOL(APPLET(getsebool, BB_DIR_USR_SBIN, BB_SUID_DROP))
-IF_HD(APPLET_NOEXEC(hd, hexdump, BB_DIR_USR_BIN, BB_SUID_DROP, hd))
 IF_HEAD(APPLET_NOEXEC(head, head, BB_DIR_USR_BIN, BB_SUID_DROP, head))
-IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, BB_DIR_USR_BIN, BB_SUID_DROP, hexdump))
-IF_HWCLOCK(APPLET(hwclock, BB_DIR_SBIN, BB_SUID_DROP))
 IF_INSTALL(APPLET(install, BB_DIR_USR_BIN, BB_SUID_DROP))
-IF_IPCRM(APPLET(ipcrm, BB_DIR_USR_BIN, BB_SUID_DROP))
-IF_IPCS(APPLET(ipcs, BB_DIR_USR_BIN, BB_SUID_DROP))
 //IF_LENGTH(APPLET_NOFORK(length, length, BB_DIR_USR_BIN, BB_SUID_DROP, length))
 IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN, BB_SUID_DROP, ln))
 IF_LOAD_POLICY(APPLET(load_policy, BB_DIR_USR_SBIN, BB_SUID_DROP))
 IF_LOGNAME(APPLET_NOFORK(logname, logname, BB_DIR_USR_BIN, BB_SUID_DROP, logname))
-IF_LOSETUP(APPLET(losetup, BB_DIR_SBIN, BB_SUID_DROP))
 IF_LS(APPLET_NOEXEC(ls, ls, BB_DIR_BIN, BB_SUID_DROP, ls))
-IF_LSPCI(APPLET(lspci, BB_DIR_USR_BIN, BB_SUID_DROP))
-IF_LSUSB(APPLET(lsusb, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_MATCHPATHCON(APPLET(matchpathcon, BB_DIR_USR_SBIN, BB_SUID_DROP))
 IF_MKDIR(APPLET_NOFORK(mkdir, mkdir, BB_DIR_BIN, BB_SUID_DROP, mkdir))
 IF_MKFIFO(APPLET_NOEXEC(mkfifo, mkfifo, BB_DIR_USR_BIN, BB_SUID_DROP, mkfifo))
-IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, BB_DIR_SBIN, BB_SUID_DROP, mkfs_minix))
-IF_MKFS_REISER(APPLET_ODDNAME(mkfs.reiser, mkfs_reiser, BB_DIR_SBIN, BB_SUID_DROP, mkfs_reiser))
 IF_MKNOD(APPLET_NOEXEC(mknod, mknod, BB_DIR_BIN, BB_SUID_DROP, mknod))
-IF_MKSWAP(APPLET(mkswap, BB_DIR_SBIN, BB_SUID_DROP))
-IF_MORE(APPLET(more, BB_DIR_BIN, BB_SUID_DROP))
-/* On full-blown systems, requires suid for user mounts.
- * But it's not unthinkable to have it available in non-suid flavor on some systems,
- * for viewing mount table.
- * Therefore we use BB_SUID_MAYBE instead of BB_SUID_REQUIRE: */
-IF_MOUNT(APPLET(mount, BB_DIR_BIN, IF_DESKTOP(BB_SUID_MAYBE) IF_NOT_DESKTOP(BB_SUID_DROP)))
 IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP))
 IF_NICE(APPLET(nice, BB_DIR_BIN, BB_SUID_DROP))
 IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_OD(APPLET(od, BB_DIR_USR_BIN, BB_SUID_DROP))
 //IF_PARSE(APPLET(parse, BB_DIR_USR_BIN, BB_SUID_DROP))
-IF_PIVOT_ROOT(APPLET(pivot_root, BB_DIR_SBIN, BB_SUID_DROP))
 IF_PRINTENV(APPLET_NOFORK(printenv, printenv, BB_DIR_BIN, BB_SUID_DROP, printenv))
 IF_PRINTF(APPLET_NOFORK(printf, printf, BB_DIR_USR_BIN, BB_SUID_DROP, printf))
 IF_PWD(APPLET_NOFORK(pwd, pwd, BB_DIR_BIN, BB_SUID_DROP, pwd))
-IF_RDATE(APPLET(rdate, BB_DIR_USR_SBIN, BB_SUID_DROP))
-IF_RDEV(APPLET(rdev, BB_DIR_USR_SBIN, BB_SUID_DROP))
 IF_READLINK(APPLET(readlink, BB_DIR_USR_BIN, BB_SUID_DROP))
-IF_READPROFILE(APPLET(readprofile, BB_DIR_USR_SBIN, BB_SUID_DROP))
 IF_REALPATH(APPLET(realpath, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_RESTORECON(APPLET_ODDNAME(restorecon, setfiles, BB_DIR_SBIN, BB_SUID_DROP, restorecon))
 IF_RM(APPLET_NOFORK(rm, rm, BB_DIR_BIN, BB_SUID_DROP, rm))
 IF_RMDIR(APPLET_NOFORK(rmdir, rmdir, BB_DIR_BIN, BB_SUID_DROP, rmdir))
-IF_RTCWAKE(APPLET(rtcwake, BB_DIR_USR_SBIN, BB_SUID_DROP))
 IF_RUNCON(APPLET(runcon, BB_DIR_USR_BIN, BB_SUID_DROP))
-IF_SCRIPT(APPLET(script, BB_DIR_USR_BIN, BB_SUID_DROP))
-IF_SCRIPTREPLAY(APPLET(scriptreplay, BB_DIR_BIN, BB_SUID_DROP))
 IF_SELINUXENABLED(APPLET(selinuxenabled, BB_DIR_USR_SBIN, BB_SUID_DROP))
 IF_SEQ(APPLET_NOFORK(seq, seq, BB_DIR_USR_BIN, BB_SUID_DROP, seq))
 IF_SESTATUS(APPLET(sestatus, BB_DIR_USR_SBIN, BB_SUID_DROP))
@@ -183,7 +146,6 @@ IF_SPLIT(APPLET(split, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_STAT(APPLET(stat, BB_DIR_BIN, BB_SUID_DROP))
 IF_STTY(APPLET(stty, BB_DIR_BIN, BB_SUID_DROP))
 IF_SUM(APPLET(sum, BB_DIR_USR_BIN, BB_SUID_DROP))
-IF_SWITCH_ROOT(APPLET(switch_root, BB_DIR_SBIN, BB_SUID_DROP))
 IF_TAC(APPLET_NOEXEC(tac, tac, BB_DIR_USR_BIN, BB_SUID_DROP, tac))
 IF_TAIL(APPLET(tail, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_TEE(APPLET(tee, BB_DIR_USR_BIN, BB_SUID_DROP))
@@ -193,7 +155,6 @@ IF_TRUE(APPLET_NOFORK(true, true, BB_DIR_BIN, BB_SUID_DROP, true))
 IF_TTY(APPLET(tty, BB_DIR_USR_BIN, BB_SUID_DROP))
 IF_UDHCPC(APPLET(udhcpc, BB_DIR_SBIN, BB_SUID_DROP))
 IF_UDHCPD(APPLET(udhcpd, BB_DIR_USR_SBIN, BB_SUID_DROP))
-IF_UMOUNT(APPLET(umount, BB_DIR_BIN, BB_SUID_DROP))
 IF_UNAME(APPLET(uname, BB_DIR_BIN, BB_SUID_DROP))
 IF_UNEXPAND(APPLET_ODDNAME(unexpand, expand, BB_DIR_USR_BIN, BB_SUID_DROP, unexpand))
 IF_UNIQ(APPLET(uniq, BB_DIR_USR_BIN, BB_SUID_DROP))
index 9bef0d532f45e102acb20bfb7dedaf0020d9e821..3c522f948b5adcb60b572568030ee549dfae7191 100644 (file)
@@ -7,511 +7,6 @@ menu "Linux System Utilities"
 
 INSERT
 
-config ACPID
-       bool "acpid"
-       default y
-       select PLATFORM_LINUX
-       help
-         acpid listens to ACPI events coming either in textual form from
-         /proc/acpi/event (though it is marked deprecated it is still widely
-         used and _is_ a standard) or in binary form from specified evdevs
-         (just use /dev/input/event*).
-
-         It parses the event to retrieve ACTION and a possible PARAMETER.
-         It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
-         (if the resulting path is a directory) or directly as an executable.
-
-         N.B. acpid relies on run-parts so have the latter installed.
-
-config FEATURE_ACPID_COMPAT
-       bool "Accept and ignore redundant options"
-       default y
-       depends on ACPID
-       help
-         Accept and ignore compatibility options -g -m -s -S -v.
-
-config BLKID
-       bool "blkid"
-       default y
-       select PLATFORM_LINUX
-       select VOLUMEID
-       help
-         Lists labels and UUIDs of all filesystems.
-         WARNING:
-         With all submodules selected, it will add ~8k to busybox.
-
-config FEATURE_BLKID_TYPE
-       bool "Print filesystem type"
-       default n
-       depends on BLKID
-       help
-         Show TYPE="filesystem type"
-
-config DMESG
-       bool "dmesg"
-       default y
-       select PLATFORM_LINUX
-       help
-         dmesg is used to examine or control the kernel ring buffer. When the
-         Linux kernel prints messages to the system log, they are stored in
-         the kernel ring buffer. You can use dmesg to print the kernel's ring
-         buffer, clear the kernel ring buffer, change the size of the kernel
-         ring buffer, and change the priority level at which kernel messages
-         are also logged to the system console. Enable this option if you
-         wish to enable the 'dmesg' utility.
-
-config FEATURE_DMESG_PRETTY
-       bool "Pretty dmesg output"
-       default y
-       depends on DMESG
-       help
-         If you wish to scrub the syslog level from the output, say 'Y' here.
-         The syslog level is a string prefixed to every line with the form
-         "<#>".
-
-         With this option you will see:
-           # dmesg
-           Linux version 2.6.17.4 .....
-           BIOS-provided physical RAM map:
-            BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
-
-         Without this option you will see:
-           # dmesg
-           <5>Linux version 2.6.17.4 .....
-           <6>BIOS-provided physical RAM map:
-           <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
-
-config FBSET
-       bool "fbset"
-       default y
-       select PLATFORM_LINUX
-       help
-         fbset is used to show or change the settings of a Linux frame buffer
-         device. The frame buffer device provides a simple and unique
-         interface to access a graphics display. Enable this option
-         if you wish to enable the 'fbset' utility.
-
-config FEATURE_FBSET_FANCY
-       bool "Turn on extra fbset options"
-       default y
-       depends on FBSET
-       help
-         This option enables extended fbset options, allowing one to set the
-         framebuffer size, color depth, etc. interface to access a graphics
-         display. Enable this option if you wish to enable extended fbset
-         options.
-
-config FEATURE_FBSET_READMODE
-       bool "Turn on fbset readmode support"
-       default y
-       depends on FBSET
-       help
-         This option allows fbset to read the video mode database stored by
-         default as /etc/fb.modes, which can be used to set frame buffer
-         device to pre-defined video modes.
-
-config FDFLUSH
-       bool "fdflush"
-       default y
-       select PLATFORM_LINUX
-       help
-         fdflush is only needed when changing media on slightly-broken
-         removable media drives. It is used to make Linux believe that a
-         hardware disk-change switch has been actuated, which causes Linux to
-         forget anything it has cached from the previous media. If you have
-         such a slightly-broken drive, you will need to run fdflush every time
-         you change a disk. Most people have working hardware and can safely
-         leave this disabled.
-
-config FDFORMAT
-       bool "fdformat"
-       default y
-       select PLATFORM_LINUX
-       help
-         fdformat is used to low-level format a floppy disk.
-
-config FDISK
-       bool "fdisk"
-       default y
-       select PLATFORM_LINUX
-       help
-         The fdisk utility is used to divide hard disks into one or more
-         logical disks, which are generally called partitions. This utility
-         can be used to list and edit the set of partitions or BSD style
-         'disk slices' that are defined on a hard drive.
-
-config FDISK_SUPPORT_LARGE_DISKS
-       bool "Support over 4GB disks"
-       default y
-       depends on FDISK
-       depends on !LFS   # with LFS no special code is needed
-       help
-         Enable this option to support large disks > 4GB.
-
-config FEATURE_FDISK_WRITABLE
-       bool "Write support"
-       default y
-       depends on FDISK
-       help
-         Enabling this option allows you to create or change a partition table
-         and write those changes out to disk. If you leave this option
-         disabled, you will only be able to view the partition table.
-
-config FEATURE_AIX_LABEL
-       bool "Support AIX disklabels"
-       default n
-       depends on FDISK && FEATURE_FDISK_WRITABLE
-       help
-         Enabling this option allows you to create or change AIX disklabels.
-         Most people can safely leave this option disabled.
-
-config FEATURE_SGI_LABEL
-       bool "Support SGI disklabels"
-       default n
-       depends on FDISK && FEATURE_FDISK_WRITABLE
-       help
-         Enabling this option allows you to create or change SGI disklabels.
-         Most people can safely leave this option disabled.
-
-config FEATURE_SUN_LABEL
-       bool "Support SUN disklabels"
-       default n
-       depends on FDISK && FEATURE_FDISK_WRITABLE
-       help
-         Enabling this option allows you to create or change SUN disklabels.
-         Most people can safely leave this option disabled.
-
-config FEATURE_OSF_LABEL
-       bool "Support BSD disklabels"
-       default n
-       depends on FDISK && FEATURE_FDISK_WRITABLE
-       help
-         Enabling this option allows you to create or change BSD disklabels
-         and define and edit BSD disk slices.
-
-config FEATURE_GPT_LABEL
-       bool "Support GPT disklabels"
-       default n
-       depends on FDISK && FEATURE_FDISK_WRITABLE
-       help
-         Enabling this option allows you to view GUID Partition Table
-         disklabels.
-
-config FEATURE_FDISK_ADVANCED
-       bool "Support expert mode"
-       default y
-       depends on FDISK && FEATURE_FDISK_WRITABLE
-       help
-         Enabling this option allows you to do terribly unsafe things like
-         define arbitrary drive geometry, move the beginning of data in a
-         partition, and similarly evil things. Unless you have a very good
-         reason you would be wise to leave this disabled.
-
-config FINDFS
-       bool "findfs"
-       default y
-       select PLATFORM_LINUX
-       select VOLUMEID
-       help
-         Prints the name of a filesystem with given label or UUID.
-         WARNING:
-         With all submodules selected, it will add ~8k to busybox.
-
-config FLOCK
-       bool "flock"
-       default y
-       help
-         Manage locks from shell scripts
-
-config FREERAMDISK
-       bool "freeramdisk"
-       default y
-       select PLATFORM_LINUX
-       help
-         Linux allows you to create ramdisks. This utility allows you to
-         delete them and completely free all memory that was used for the
-         ramdisk. For example, if you boot Linux into a ramdisk and later
-         pivot_root, you may want to free the memory that is allocated to the
-         ramdisk. If you have no use for freeing memory from a ramdisk, leave
-         this disabled.
-
-config FSCK_MINIX
-       bool "fsck_minix"
-       default y
-       help
-         The minix filesystem is a nice, small, compact, read-write filesystem
-         with little overhead. It is not a journaling filesystem however and
-         can experience corruption if it is not properly unmounted or if the
-         power goes off in the middle of a write. This utility allows you to
-         check for and attempt to repair any corruption that occurs to a minix
-         filesystem.
-
-config MKFS_MINIX
-       bool "mkfs_minix"
-       default y
-       select PLATFORM_LINUX
-       help
-         The minix filesystem is a nice, small, compact, read-write filesystem
-         with little overhead. If you wish to be able to create minix
-         filesystems this utility will do the job for you.
-
-config FEATURE_MINIX2
-       bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
-       default y
-       depends on FSCK_MINIX || MKFS_MINIX
-       help
-         If you wish to be able to create version 2 minix filesystems, enable
-         this. If you enabled 'mkfs_minix' then you almost certainly want to
-         be using the version 2 filesystem support.
-
-config MKFS_REISER
-       bool "mkfs_reiser"
-       default n
-       select PLATFORM_LINUX
-       help
-         Utility to create ReiserFS filesystems.
-         Note: this applet needs a lot of testing and polishing.
-
-config GETOPT
-       bool "getopt"
-       default y
-       help
-         The getopt utility is used to break up (parse) options in command
-         lines to make it easy to write complex shell scripts that also check
-         for legal (and illegal) options. If you want to write horribly
-         complex shell scripts, or use some horribly complex shell script
-         written by others, this utility may be for you. Most people will
-         wisely leave this disabled.
-
-config FEATURE_GETOPT_LONG
-       bool "Support option -l"
-       default y if LONG_OPTS
-       depends on GETOPT
-       help
-         Enable support for long options (option -l).
-
-config HEXDUMP
-       bool "hexdump"
-       default y
-       help
-         The hexdump utility is used to display binary data in a readable
-         way that is comparable to the output from most hex editors.
-
-config FEATURE_HEXDUMP_REVERSE
-       bool "Support -R, reverse of 'hexdump -Cv'"
-       default y
-       depends on HEXDUMP
-       help
-         The hexdump utility is used to display binary data in an ascii
-         readable way. This option creates binary data from an ascii input.
-         NB: this option is non-standard. It's unwise to use it in scripts
-         aimed to be portable.
-
-config HD
-       bool "hd"
-       default y
-       depends on HEXDUMP
-       help
-         hd is an alias to hexdump -C.
-
-config HWCLOCK
-       bool "hwclock"
-       default y
-       select PLATFORM_LINUX
-       help
-         The hwclock utility is used to read and set the hardware clock
-         on a system. This is primarily used to set the current time on
-         shutdown in the hardware clock, so the hardware will keep the
-         correct time when Linux is _not_ running.
-
-config FEATURE_HWCLOCK_LONG_OPTIONS
-       bool "Support long options (--hctosys,...)"
-       default y
-       depends on HWCLOCK && LONG_OPTS
-       help
-         By default, the hwclock utility only uses short options. If you
-         are overly fond of its long options, such as --hctosys, --utc, etc)
-         then enable this option.
-
-config FEATURE_HWCLOCK_ADJTIME_FHS
-       bool "Use FHS /var/lib/hwclock/adjtime"
-       default n  # util-linux-ng in Fedora 13 still uses /etc/adjtime
-       depends on HWCLOCK
-       help
-         Starting with FHS 2.3, the adjtime state file is supposed to exist
-         at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
-         to use the FHS behavior, answer Y here, otherwise answer N for the
-         classic /etc/adjtime path.
-
-         pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
-
-config IPCRM
-       bool "ipcrm"
-       default y
-       help
-         The ipcrm utility allows the removal of System V interprocess
-         communication (IPC) objects and the associated data structures
-         from the system.
-
-config IPCS
-       bool "ipcs"
-       default y
-       select PLATFORM_LINUX
-       help
-         The ipcs utility is used to provide information on the currently
-         allocated System V interprocess (IPC) objects in the system.
-
-config LOSETUP
-       bool "losetup"
-       default y
-       select PLATFORM_LINUX
-       help
-         losetup is used to associate or detach a loop device with a regular
-         file or block device, and to query the status of a loop device. This
-         version does not currently support enabling data encryption.
-
-config LSPCI
-       bool "lspci"
-       default y
-       #select PLATFORM_LINUX
-       help
-         lspci is a utility for displaying information about PCI buses in the
-         system and devices connected to them.
-
-         This version uses sysfs (/sys/bus/pci/devices) only.
-
-config LSUSB
-       bool "lsusb"
-       default y
-       #select PLATFORM_LINUX
-       help
-         lsusb is a utility for displaying information about USB buses in the
-         system and devices connected to them.
-
-         This version uses sysfs (/sys/bus/usb/devices) only.
-
-config MKSWAP
-       bool "mkswap"
-       default y
-       help
-         The mkswap utility is used to configure a file or disk partition as
-         Linux swap space. This allows Linux to use the entire file or
-         partition as if it were additional RAM, which can greatly increase
-         the capability of low-memory machines. This additional memory is
-         much slower than real RAM, but can be very helpful at preventing your
-         applications being killed by the Linux out of memory (OOM) killer.
-         Once you have created swap space using 'mkswap' you need to enable
-         the swap space using the 'swapon' utility.
-
-config FEATURE_MKSWAP_UUID
-       bool "UUID support"
-       default y
-       depends on MKSWAP
-       help
-         Generate swap spaces with universally unique identifiers.
-
-config MORE
-       bool "more"
-       default y
-       help
-         more is a simple utility which allows you to read text one screen
-         sized page at a time. If you want to read text that is larger than
-         the screen, and you are using anything faster than a 300 baud modem,
-         you will probably find this utility very helpful. If you don't have
-         any need to reading text files, you can leave this disabled.
-
-config PIVOT_ROOT
-       bool "pivot_root"
-       default y
-       select PLATFORM_LINUX
-       help
-         The pivot_root utility swaps the mount points for the root filesystem
-         with some other mounted filesystem. This allows you to do all sorts
-         of wild and crazy things with your Linux system and is far more
-         powerful than 'chroot'.
-
-         Note: This is for initrd in linux 2.4. Under initramfs (introduced
-         in linux 2.6) use switch_root instead.
-
-config RDATE
-       bool "rdate"
-       default y
-       help
-         The rdate utility allows you to synchronize the date and time of your
-         system clock with the date and time of a remote networked system using
-         the RFC868 protocol, which is built into the inetd daemon on most
-         systems.
-
-config RDEV
-       bool "rdev"
-       default y
-       help
-         Print the device node associated with the filesystem mounted at '/'.
-
-config READPROFILE
-       bool "readprofile"
-       default y
-       #select PLATFORM_LINUX
-       help
-         This allows you to parse /proc/profile for basic profiling.
-
-config RTCWAKE
-       bool "rtcwake"
-       default y
-       select PLATFORM_LINUX
-       help
-         Enter a system sleep state until specified wakeup time.
-
-config SCRIPT
-       bool "script"
-       default y
-       help
-         The script makes typescript of terminal session.
-
-config SCRIPTREPLAY
-       bool "scriptreplay"
-       default y
-       help
-         This program replays a typescript, using timing information
-         given by script -t.
-
-config SWITCH_ROOT
-       bool "switch_root"
-       default y
-       select PLATFORM_LINUX
-       help
-         The switch_root utility is used from initramfs to select a new
-         root device. Under initramfs, you have to use this instead of
-         pivot_root. (Stop reading here if you don't care why.)
-
-         Booting with initramfs extracts a gzipped cpio archive into rootfs
-         (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
-         or unmounted*, pivot_root will not work from initramfs. Instead,
-         switch_root deletes everything out of rootfs (including itself),
-         does a mount --move that overmounts rootfs with the new root, and
-         then execs the specified init program.
-
-         * Because the Linux kernel uses rootfs internally as the starting
-         and ending point for searching through the kernel's doubly linked
-         list of active mount points. That's why.
-
-config UMOUNT
-       bool "umount"
-       default y
-       select PLATFORM_LINUX
-       help
-         When you want to remove a mounted filesystem from its current mount
-         point, for example when you are shutting down the system, the
-         'umount' utility is the tool to use. If you enabled the 'mount'
-         utility, you almost certainly also want to enable 'umount'.
-
-config FEATURE_UMOUNT_ALL
-       bool "Support option -a"
-       default y
-       depends on UMOUNT
-       help
-         Support -a option to unmount all currently mounted filesystems.
-
 comment "Common options for mount/umount"
        depends on MOUNT || UMOUNT
 
index dfd50afa289e6cb62e6b90ec745f547e6ccb2d63..6b4fb747007c3f8819fe2a060e7cc4d8547dcb98 100644 (file)
@@ -7,36 +7,3 @@
 lib-y:=
 
 INSERT
-lib-$(CONFIG_ACPID)             += acpid.o
-lib-$(CONFIG_BLKID)             += blkid.o
-lib-$(CONFIG_DMESG)             += dmesg.o
-lib-$(CONFIG_FBSET)             += fbset.o
-lib-$(CONFIG_FDFLUSH)           += freeramdisk.o
-lib-$(CONFIG_FDFORMAT)          += fdformat.o
-lib-$(CONFIG_FDISK)             += fdisk.o
-lib-$(CONFIG_FINDFS)            += findfs.o
-lib-$(CONFIG_FLOCK)             += flock.o
-lib-$(CONFIG_FREERAMDISK)       += freeramdisk.o
-lib-$(CONFIG_FSCK_MINIX)        += fsck_minix.o
-lib-$(CONFIG_GETOPT)            += getopt.o
-lib-$(CONFIG_HEXDUMP)           += hexdump.o
-lib-$(CONFIG_HWCLOCK)           += hwclock.o
-lib-$(CONFIG_IPCRM)             += ipcrm.o
-lib-$(CONFIG_IPCS)              += ipcs.o
-lib-$(CONFIG_LOSETUP)           += losetup.o
-lib-$(CONFIG_LSPCI)             += lspci.o
-lib-$(CONFIG_LSUSB)             += lsusb.o
-lib-$(CONFIG_MKFS_MINIX)        += mkfs_minix.o
-lib-$(CONFIG_MKFS_REISER)       += mkfs_reiser.o
-lib-$(CONFIG_MKSWAP)            += mkswap.o
-lib-$(CONFIG_MORE)              += more.o
-lib-$(CONFIG_MOUNT)             += mount.o
-lib-$(CONFIG_PIVOT_ROOT)        += pivot_root.o
-lib-$(CONFIG_RDATE)             += rdate.o
-lib-$(CONFIG_RDEV)              += rdev.o
-lib-$(CONFIG_READPROFILE)       += readprofile.o
-lib-$(CONFIG_RTCWAKE)           += rtcwake.o
-lib-$(CONFIG_SCRIPT)            += script.o
-lib-$(CONFIG_SCRIPTREPLAY)      += scriptreplay.o
-lib-$(CONFIG_SWITCH_ROOT)       += switch_root.o
-lib-$(CONFIG_UMOUNT)            += umount.o
index 0f2cb6bdc5f990953b1d31391ff67dd34fc13868..3e68b61abf65a9fcaca46ee936e26e88b759fd34 100644 (file)
@@ -6,6 +6,32 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config ACPID
+//config:      bool "acpid"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        acpid listens to ACPI events coming either in textual form from
+//config:        /proc/acpi/event (though it is marked deprecated it is still widely
+//config:        used and _is_ a standard) or in binary form from specified evdevs
+//config:        (just use /dev/input/event*).
+//config:
+//config:        It parses the event to retrieve ACTION and a possible PARAMETER.
+//config:        It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
+//config:        (if the resulting path is a directory) or directly as an executable.
+//config:
+//config:        N.B. acpid relies on run-parts so have the latter installed.
+//config:
+//config:config FEATURE_ACPID_COMPAT
+//config:      bool "Accept and ignore redundant options"
+//config:      default y
+//config:      depends on ACPID
+//config:      help
+//config:        Accept and ignore compatibility options -g -m -s -S -v.
+
+//applet:IF_ACPID(APPLET(acpid, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_ACPID) += acpid.o
 
 //usage:#define acpid_trivial_usage
 //usage:       "[-df] [-c CONFDIR] [-l LOGFILE] [-a ACTIONFILE] [-M MAPFILE] [-e PROC_EVENT_FILE] [-p PIDFILE]"
index ace88a1f0a36ab1006a3e07fc9c4506ae17e71e3..af0bc946d2787ba9072fb4d045e9844a24c55167 100644 (file)
@@ -5,7 +5,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 //config:config BLKDISCARD
 //config:      bool "blkdiscard"
 //config:      default y
index 1bbc80311224ccc2706c3f4da200cdc3a171ef22..b6f33b5138f44c1a6b7477fe2e0019bf32e0325a 100644 (file)
@@ -6,6 +6,26 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config BLKID
+//config:      bool "blkid"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      select VOLUMEID
+//config:      help
+//config:        Lists labels and UUIDs of all filesystems.
+//config:        WARNING:
+//config:        With all submodules selected, it will add ~8k to busybox.
+//config:
+//config:config FEATURE_BLKID_TYPE
+//config:      bool "Print filesystem type"
+//config:      default n
+//config:      depends on BLKID
+//config:      help
+//config:        Show TYPE="filesystem type"
+
+//applet:IF_BLKID(APPLET(blkid, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_BLKID) += blkid.o
 
 //usage:#define blkid_trivial_usage
 //usage:       "[BLOCKDEV]..."
index e25e529db2ddf273a380f82c32fe7c8944bf4c03..bf4d49792eaa3184ebce3e4a268b98b5ef9efa33 100644 (file)
@@ -5,17 +5,16 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
-
-//applet:IF_BLOCKDEV(APPLET(blockdev, BB_DIR_SBIN, BB_SUID_DROP))
-
-//kbuild:lib-$(CONFIG_BLOCKDEV) += blockdev.o
-
 //config:config BLOCKDEV
 //config:      bool "blockdev"
 //config:      default y
 //config:      help
 //config:        Performs some ioctls with block devices.
 
+//applet:IF_BLOCKDEV(APPLET(blockdev, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_BLOCKDEV) += blockdev.o
+
 //usage:#define blockdev_trivial_usage
 //usage:       "OPTION BLOCKDEV"
 //usage:#define blockdev_full_usage "\n\n"
index 50e8a0fce03f1cf95c3f2b9e36b20c106a37f6ff..b7b2c69241894f44741a814450e59793d013a85d 100644 (file)
@@ -8,6 +8,43 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config DMESG
+//config:      bool "dmesg"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        dmesg is used to examine or control the kernel ring buffer. When the
+//config:        Linux kernel prints messages to the system log, they are stored in
+//config:        the kernel ring buffer. You can use dmesg to print the kernel's ring
+//config:        buffer, clear the kernel ring buffer, change the size of the kernel
+//config:        ring buffer, and change the priority level at which kernel messages
+//config:        are also logged to the system console. Enable this option if you
+//config:        wish to enable the 'dmesg' utility.
+//config:
+//config:config FEATURE_DMESG_PRETTY
+//config:      bool "Pretty dmesg output"
+//config:      default y
+//config:      depends on DMESG
+//config:      help
+//config:        If you wish to scrub the syslog level from the output, say 'Y' here.
+//config:        The syslog level is a string prefixed to every line with the form
+//config:        "<#>".
+//config:
+//config:        With this option you will see:
+//config:          # dmesg
+//config:          Linux version 2.6.17.4 .....
+//config:          BIOS-provided physical RAM map:
+//config:           BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
+//config:
+//config:        Without this option you will see:
+//config:          # dmesg
+//config:          <5>Linux version 2.6.17.4 .....
+//config:          <6>BIOS-provided physical RAM map:
+//config:          <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
+
+//applet:IF_DMESG(APPLET(dmesg, BB_DIR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_DMESG) += dmesg.o
 
 //usage:#define dmesg_trivial_usage
 //usage:       "[-c] [-n LEVEL] [-s SIZE]"
index 6dca24a73db50d384f89b46477bcce4aa586a5d6..030978f64b236789438d09531800e00a5bf6f49c 100644 (file)
@@ -16,6 +16,7 @@
 //config:        fatattr lists or changes the file attributes on a fat file system.
 
 //applet:IF_FATATTR(APPLET(fatattr, BB_DIR_BIN, BB_SUID_DROP))
+
 //kbuild:lib-$(CONFIG_FATATTR) += fatattr.o
 
 //usage:#define fatattr_trivial_usage
index b75ec1921f019a53e6d9aa596ed4c5b0aee29193..8a78c1ef93a657e4a6cf0f06e44944dcadc36b06 100644 (file)
  * the GPL, and is (c) 1995-1999 by:
  *     Geert Uytterhoeven (Geert.Uytterhoeven@cs.kuleuven.ac.be)
  */
+//config:config FBSET
+//config:      bool "fbset"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        fbset is used to show or change the settings of a Linux frame buffer
+//config:        device. The frame buffer device provides a simple and unique
+//config:        interface to access a graphics display. Enable this option
+//config:        if you wish to enable the 'fbset' utility.
+//config:
+//config:config FEATURE_FBSET_FANCY
+//config:      bool "Turn on extra fbset options"
+//config:      default y
+//config:      depends on FBSET
+//config:      help
+//config:        This option enables extended fbset options, allowing one to set the
+//config:        framebuffer size, color depth, etc. interface to access a graphics
+//config:        display. Enable this option if you wish to enable extended fbset
+//config:        options.
+//config:
+//config:config FEATURE_FBSET_READMODE
+//config:      bool "Turn on fbset readmode support"
+//config:      default y
+//config:      depends on FBSET
+//config:      help
+//config:        This option allows fbset to read the video mode database stored by
+//config:        default as /etc/fb.modes, which can be used to set frame buffer
+//config:        device to pre-defined video modes.
+
+//applet:IF_FBSET(APPLET(fbset, BB_DIR_USR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_FBSET) += fbset.o
 
 //usage:#define fbset_trivial_usage
 //usage:       "[OPTIONS] [MODE]"
index 6ef6445e6da11ceb575beaf5accaf87e671f8170..67c6e1504c39e7bc69904661e1b7275f814067c8 100644 (file)
@@ -4,6 +4,16 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config FDFORMAT
+//config:      bool "fdformat"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        fdformat is used to low-level format a floppy disk.
+
+//applet:IF_FDFORMAT(APPLET(fdformat, BB_DIR_USR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_FDFORMAT) += fdformat.o
 
 //usage:#define fdformat_trivial_usage
 //usage:       "[-n] DEVICE"
index 32a66d03d939d610fd285eda9f66440687b11519..af80735321db3f88db3b8dc32a489b0a938a230e 100644 (file)
@@ -6,6 +6,86 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config FDISK
+//config:      bool "fdisk"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        The fdisk utility is used to divide hard disks into one or more
+//config:        logical disks, which are generally called partitions. This utility
+//config:        can be used to list and edit the set of partitions or BSD style
+//config:        'disk slices' that are defined on a hard drive.
+//config:
+//config:config FDISK_SUPPORT_LARGE_DISKS
+//config:      bool "Support over 4GB disks"
+//config:      default y
+//config:      depends on FDISK
+//config:      depends on !LFS   # with LFS no special code is needed
+//config:      help
+//config:        Enable this option to support large disks > 4GB.
+//config:
+//config:config FEATURE_FDISK_WRITABLE
+//config:      bool "Write support"
+//config:      default y
+//config:      depends on FDISK
+//config:      help
+//config:        Enabling this option allows you to create or change a partition table
+//config:        and write those changes out to disk. If you leave this option
+//config:        disabled, you will only be able to view the partition table.
+//config:
+//config:config FEATURE_AIX_LABEL
+//config:      bool "Support AIX disklabels"
+//config:      default n
+//config:      depends on FDISK && FEATURE_FDISK_WRITABLE
+//config:      help
+//config:        Enabling this option allows you to create or change AIX disklabels.
+//config:        Most people can safely leave this option disabled.
+//config:
+//config:config FEATURE_SGI_LABEL
+//config:      bool "Support SGI disklabels"
+//config:      default n
+//config:      depends on FDISK && FEATURE_FDISK_WRITABLE
+//config:      help
+//config:        Enabling this option allows you to create or change SGI disklabels.
+//config:        Most people can safely leave this option disabled.
+//config:
+//config:config FEATURE_SUN_LABEL
+//config:      bool "Support SUN disklabels"
+//config:      default n
+//config:      depends on FDISK && FEATURE_FDISK_WRITABLE
+//config:      help
+//config:        Enabling this option allows you to create or change SUN disklabels.
+//config:        Most people can safely leave this option disabled.
+//config:
+//config:config FEATURE_OSF_LABEL
+//config:      bool "Support BSD disklabels"
+//config:      default n
+//config:      depends on FDISK && FEATURE_FDISK_WRITABLE
+//config:      help
+//config:        Enabling this option allows you to create or change BSD disklabels
+//config:        and define and edit BSD disk slices.
+//config:
+//config:config FEATURE_GPT_LABEL
+//config:      bool "Support GPT disklabels"
+//config:      default n
+//config:      depends on FDISK && FEATURE_FDISK_WRITABLE
+//config:      help
+//config:        Enabling this option allows you to view GUID Partition Table
+//config:        disklabels.
+//config:
+//config:config FEATURE_FDISK_ADVANCED
+//config:      bool "Support expert mode"
+//config:      default y
+//config:      depends on FDISK && FEATURE_FDISK_WRITABLE
+//config:      help
+//config:        Enabling this option allows you to do terribly unsafe things like
+//config:        define arbitrary drive geometry, move the beginning of data in a
+//config:        partition, and similarly evil things. Unless you have a very good
+//config:        reason you would be wise to leave this disabled.
+
+//applet:IF_FDISK(APPLET(fdisk, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_FDISK) += fdisk.o
 
 /* Looks like someone forgot to add this to config system */
 //usage:#ifndef ENABLE_FEATURE_FDISK_BLKSIZE
index 07734f3592a7665cfa7214191806cf02bec3547f..daa46b039fa815d860d64fd49e2f8c6b7bc18f78 100644 (file)
@@ -7,6 +7,20 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config FINDFS
+//config:      bool "findfs"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      select VOLUMEID
+//config:      help
+//config:        Prints the name of a filesystem with given label or UUID.
+//config:        WARNING:
+//config:        With all submodules selected, it will add ~8k to busybox.
+
+/* Benefits from suid root: better access to /dev/BLOCKDEVs: */
+//applet:IF_FINDFS(APPLET(findfs, BB_DIR_SBIN, BB_SUID_MAYBE))
+
+//kbuild:lib-$(CONFIG_FINDFS) += findfs.o
 
 //usage:#define findfs_trivial_usage
 //usage:       "LABEL=label or UUID=uuid"
index 1f7ade7c4c1542b076a870695b1e5b6ef2e5e8aa..f34c0ad8f0458a89d3f24b326b49e9e3c71cae98 100644 (file)
@@ -3,6 +3,15 @@
  *
  * This is free software, licensed under the GNU General Public License v2.
  */
+//config:config FLOCK
+//config:      bool "flock"
+//config:      default y
+//config:      help
+//config:        Manage locks from shell scripts
+
+//applet:IF_FLOCK(APPLET(flock, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_FLOCK) += flock.o
 
 //usage:#define flock_trivial_usage
 //usage:       "[-sxun] FD|{FILE [-c] PROG ARGS}"
index a89ae1a3910a555ff3787c12ec1bb4add5d9d508..8bc2c443b6ebe0e6c255f922f18a1e409d4a1686 100644 (file)
@@ -8,6 +8,36 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config FDFLUSH
+//config:      bool "fdflush"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        fdflush is only needed when changing media on slightly-broken
+//config:        removable media drives. It is used to make Linux believe that a
+//config:        hardware disk-change switch has been actuated, which causes Linux to
+//config:        forget anything it has cached from the previous media. If you have
+//config:        such a slightly-broken drive, you will need to run fdflush every time
+//config:        you change a disk. Most people have working hardware and can safely
+//config:        leave this disabled.
+//config:
+//config:config FREERAMDISK
+//config:      bool "freeramdisk"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        Linux allows you to create ramdisks. This utility allows you to
+//config:        delete them and completely free all memory that was used for the
+//config:        ramdisk. For example, if you boot Linux into a ramdisk and later
+//config:        pivot_root, you may want to free the memory that is allocated to the
+//config:        ramdisk. If you have no use for freeing memory from a ramdisk, leave
+//config:        this disabled.
+
+//applet:IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, BB_DIR_BIN, BB_SUID_DROP, fdflush))
+//applet:IF_FREERAMDISK(APPLET(freeramdisk, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_FDFLUSH) += freeramdisk.o
+//kbuild:lib-$(CONFIG_FREERAMDISK) += freeramdisk.o
 
 //usage:#define freeramdisk_trivial_usage
 //usage:       "DEVICE"
index d2f3524b46e95e48dd09f3b90d97e1373e60312a..0eaac17c0f1871562485e3613c6d174d45110b9d 100644 (file)
  * The device may be a block device or a image of one, but this isn't
  * enforced (but it's not much fun on a character device :-).
  */
+//config:config FSCK_MINIX
+//config:      bool "fsck_minix"
+//config:      default y
+//config:      help
+//config:        The minix filesystem is a nice, small, compact, read-write filesystem
+//config:        with little overhead. It is not a journaling filesystem however and
+//config:        can experience corruption if it is not properly unmounted or if the
+//config:        power goes off in the middle of a write. This utility allows you to
+//config:        check for and attempt to repair any corruption that occurs to a minix
+//config:        filesystem.
+
+//applet:IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, BB_DIR_SBIN, BB_SUID_DROP, fsck_minix))
+
+//kbuild:lib-$(CONFIG_FSCK_MINIX) += fsck_minix.o
 
 //usage:#define fsck_minix_trivial_usage
 //usage:       "[-larvsmf] BLOCKDEV"
index 18d49098769781ea83cbf826446e60887fa2411d..83cc1efea88873a6d8a624e2af32309ac5fa602b 100644 (file)
  *  Removed --version/-V and --help/-h
  *  Removed parse_error(), using bb_error_msg() from Busybox instead
  *  Replaced our_malloc with xmalloc and our_realloc with xrealloc
- *
  */
+//config:config GETOPT
+//config:      bool "getopt"
+//config:      default y
+//config:      help
+//config:        The getopt utility is used to break up (parse) options in command
+//config:        lines to make it easy to write complex shell scripts that also check
+//config:        for legal (and illegal) options. If you want to write horribly
+//config:        complex shell scripts, or use some horribly complex shell script
+//config:        written by others, this utility may be for you. Most people will
+//config:        wisely leave this disabled.
+//config:
+//config:config FEATURE_GETOPT_LONG
+//config:      bool "Support option -l"
+//config:      default y if LONG_OPTS
+//config:      depends on GETOPT
+//config:      help
+//config:        Enable support for long options (option -l).
+
+//applet:IF_GETOPT(APPLET(getopt, BB_DIR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_GETOPT) += getopt.o
 
 //usage:#define getopt_trivial_usage
 //usage:       "[OPTIONS] [--] OPTSTRING PARAMS"
index ac7e24ff88022048d5a30aebfea20b34549d75ea..5e1ef69383fd19b3551cb324e90c7bb0a9c75d51 100644 (file)
@@ -8,6 +8,35 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config HEXDUMP
+//config:      bool "hexdump"
+//config:      default y
+//config:      help
+//config:        The hexdump utility is used to display binary data in a readable
+//config:        way that is comparable to the output from most hex editors.
+//config:
+//config:config FEATURE_HEXDUMP_REVERSE
+//config:      bool "Support -R, reverse of 'hexdump -Cv'"
+//config:      default y
+//config:      depends on HEXDUMP
+//config:      help
+//config:        The hexdump utility is used to display binary data in an ascii
+//config:        readable way. This option creates binary data from an ascii input.
+//config:        NB: this option is non-standard. It's unwise to use it in scripts
+//config:        aimed to be portable.
+//config:
+//config:config HD
+//config:      bool "hd"
+//config:      default y
+//config:      depends on HEXDUMP
+//config:      help
+//config:        hd is an alias to hexdump -C.
+
+//applet:IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, BB_DIR_USR_BIN, BB_SUID_DROP, hexdump))
+//applet:IF_HD(APPLET_NOEXEC(hd, hexdump, BB_DIR_USR_BIN, BB_SUID_DROP, hd))
+
+//kbuild:lib-$(CONFIG_HEXDUMP) += hexdump.o
+//kbuild:lib-$(CONFIG_HD) += hexdump.o
 
 //usage:#define hexdump_trivial_usage
 //usage:       "[-bcCdefnosvx" IF_FEATURE_HEXDUMP_REVERSE("R") "] [FILE]..."
index 6c99977cff91e01603a4c940911043b169fa1f8b..084a7f1e9766ea82b418a27d00c99e63d887d7b3 100644 (file)
@@ -5,7 +5,41 @@
  * Copyright (C) 2002 Robert Griebl <griebl@gmx.de>
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
-*/
+ */
+//config:config HWCLOCK
+//config:      bool "hwclock"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        The hwclock utility is used to read and set the hardware clock
+//config:        on a system. This is primarily used to set the current time on
+//config:        shutdown in the hardware clock, so the hardware will keep the
+//config:        correct time when Linux is _not_ running.
+//config:
+//config:config FEATURE_HWCLOCK_LONG_OPTIONS
+//config:      bool "Support long options (--hctosys,...)"
+//config:      default y
+//config:      depends on HWCLOCK && LONG_OPTS
+//config:      help
+//config:        By default, the hwclock utility only uses short options. If you
+//config:        are overly fond of its long options, such as --hctosys, --utc, etc)
+//config:        then enable this option.
+//config:
+//config:config FEATURE_HWCLOCK_ADJTIME_FHS
+//config:      bool "Use FHS /var/lib/hwclock/adjtime"
+//config:      default n  # util-linux-ng in Fedora 13 still uses /etc/adjtime
+//config:      depends on HWCLOCK
+//config:      help
+//config:        Starting with FHS 2.3, the adjtime state file is supposed to exist
+//config:        at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
+//config:        to use the FHS behavior, answer Y here, otherwise answer N for the
+//config:        classic /etc/adjtime path.
+//config:
+//config:        pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
+
+//applet:IF_HWCLOCK(APPLET(hwclock, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_HWCLOCK) += hwclock.o
 
 #include "libbb.h"
 /* After libbb.h, since it needs sys/types.h on some systems */
index 38d81af509f001724b55df5ad525977ef07092f0..76ea3ca4f0f0844498fa65f3673b0a3df09491d7 100644 (file)
@@ -7,6 +7,17 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config IPCRM
+//config:      bool "ipcrm"
+//config:      default y
+//config:      help
+//config:        The ipcrm utility allows the removal of System V interprocess
+//config:        communication (IPC) objects and the associated data structures
+//config:        from the system.
+
+//applet:IF_IPCRM(APPLET(ipcrm, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_IPCRM) += ipcrm.o
 
 //usage:#define ipcrm_trivial_usage
 //usage:       "[-MQS key] [-mqs id]"
index 67a25a8ef285af9a3255e1b33420cca4ddb3b73f..88ae9225d708a9bbdd418871872b478d4c705ad5 100644 (file)
@@ -7,6 +7,17 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config IPCS
+//config:      bool "ipcs"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        The ipcs utility is used to provide information on the currently
+//config:        allocated System V interprocess (IPC) objects in the system.
+
+//applet:IF_IPCS(APPLET(ipcs, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_IPCS) += ipcs.o
 
 //usage:#define ipcs_trivial_usage
 //usage:       "[[-smq] -i shmid] | [[-asmq] [-tcplu]]"
index d450b5a7825c3e8568093c3becd129c6be41b29b..4424d9cbba1bedf59891d59b0f5752f90a9e2895 100644 (file)
@@ -6,6 +6,18 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config LOSETUP
+//config:      bool "losetup"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        losetup is used to associate or detach a loop device with a regular
+//config:        file or block device, and to query the status of a loop device. This
+//config:        version does not currently support enabling data encryption.
+
+//kbuild:lib-$(CONFIG_LOSETUP) += losetup.o
+
+//applet:IF_LOSETUP(APPLET(losetup, BB_DIR_SBIN, BB_SUID_DROP))
 
 //usage:#define losetup_trivial_usage
 //usage:       "[-r] [-o OFS] {-f|LOOPDEV} FILE - associate loop devices\n"
index 514678afd31631cd729dbff06b50343601a6e63f..8b38a2366edf9604d7b2043590dd96b2db4d6496 100644 (file)
@@ -6,6 +6,19 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config LSPCI
+//config:      bool "lspci"
+//config:      default y
+//config:      #select PLATFORM_LINUX
+//config:      help
+//config:        lspci is a utility for displaying information about PCI buses in the
+//config:        system and devices connected to them.
+//config:
+//config:        This version uses sysfs (/sys/bus/pci/devices) only.
+
+//applet:IF_LSPCI(APPLET(lspci, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_LSPCI) += lspci.o
 
 //usage:#define lspci_trivial_usage
 //usage:       "[-mk]"
index 540f21ec6d61cf1f8827fceb65f046d8bf649986..7d36d6f5abd37985d4faa833dc6bee2c9e949e77 100644 (file)
@@ -6,6 +6,19 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config LSUSB
+//config:      bool "lsusb"
+//config:      default y
+//config:      #select PLATFORM_LINUX
+//config:      help
+//config:        lsusb is a utility for displaying information about USB buses in the
+//config:        system and devices connected to them.
+//config:
+//config:        This version uses sysfs (/sys/bus/usb/devices) only.
+
+//applet:IF_LSUSB(APPLET(lsusb, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_LSUSB) += lsusb.o
 
 //usage:#define lsusb_trivial_usage NOUSAGE_STR
 //usage:#define lsusb_full_usage ""
index aaabf8453e40b7fd093cf63ce515e4823d74a07b..912246b93854b9c2acbed46b528cce1bfcddd839 100644 (file)
  * Modified for BusyBox by Erik Andersen <andersen@debian.org> --
  *     removed getopt based parser and added a hand rolled one.
  */
+//config:config MKFS_MINIX
+//config:      bool "mkfs_minix"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        The minix filesystem is a nice, small, compact, read-write filesystem
+//config:        with little overhead. If you wish to be able to create minix
+//config:        filesystems this utility will do the job for you.
+//config:
+//config:config FEATURE_MINIX2
+//config:      bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
+//config:      default y
+//config:      depends on FSCK_MINIX || MKFS_MINIX
+//config:      help
+//config:        If you wish to be able to create version 2 minix filesystems, enable
+//config:        this. If you enabled 'mkfs_minix' then you almost certainly want to
+//config:        be using the version 2 filesystem support.
+
+//applet:IF_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, BB_DIR_SBIN, BB_SUID_DROP, mkfs_minix))
+
+//kbuild:lib-$(CONFIG_MKFS_MINIX) += mkfs_minix.o
 
 //usage:#define mkfs_minix_trivial_usage
 //usage:       "[-c | -l FILE] [-nXX] [-iXX] BLOCKDEV [KBYTES]"
index 0a31ee44f63e1356fac9a9fc9d9d869e8d9e26d2..d01119f7fd433754cd5768fb8ca619693c34ae54 100644 (file)
@@ -6,6 +6,17 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config MKFS_REISER
+//config:      bool "mkfs_reiser"
+//config:      default n
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        Utility to create ReiserFS filesystems.
+//config:        Note: this applet needs a lot of testing and polishing.
+
+//applet:IF_MKFS_REISER(APPLET_ODDNAME(mkfs.reiser, mkfs_reiser, BB_DIR_SBIN, BB_SUID_DROP, mkfs_reiser))
+
+//kbuild:lib-$(CONFIG_MKFS_REISER) += mkfs_reiser.o
 
 //usage:#define mkfs_reiser_trivial_usage
 //usage:       "[-f] [-l LABEL] BLOCKDEV [4K-BLOCKS]"
index dcb53f0087fbfbf02d6184aebc0284dcce494803..954a1948dc4b3eb46ef812ef703c2bce99d03fdb 100644 (file)
@@ -5,6 +5,29 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config MKSWAP
+//config:      bool "mkswap"
+//config:      default y
+//config:      help
+//config:        The mkswap utility is used to configure a file or disk partition as
+//config:        Linux swap space. This allows Linux to use the entire file or
+//config:        partition as if it were additional RAM, which can greatly increase
+//config:        the capability of low-memory machines. This additional memory is
+//config:        much slower than real RAM, but can be very helpful at preventing your
+//config:        applications being killed by the Linux out of memory (OOM) killer.
+//config:        Once you have created swap space using 'mkswap' you need to enable
+//config:        the swap space using the 'swapon' utility.
+//config:
+//config:config FEATURE_MKSWAP_UUID
+//config:      bool "UUID support"
+//config:      default y
+//config:      depends on MKSWAP
+//config:      help
+//config:        Generate swap spaces with universally unique identifiers.
+
+//applet:IF_MKSWAP(APPLET(mkswap, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_MKSWAP) += mkswap.o
 
 //usage:#define mkswap_trivial_usage
 //usage:       "[-L LBL] BLOCKDEV [KBYTES]"
index 07836e29d152806ce8067450b90775c17a82550f..934b30f8a8384e178ff00ce3c7cc8c70d68b6d27 100644 (file)
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config MORE
+//config:      bool "more"
+//config:      default y
+//config:      help
+//config:        more is a simple utility which allows you to read text one screen
+//config:        sized page at a time. If you want to read text that is larger than
+//config:        the screen, and you are using anything faster than a 300 baud modem,
+//config:        you will probably find this utility very helpful. If you don't have
+//config:        any need to reading text files, you can leave this disabled.
+
+//applet:IF_MORE(APPLET(more, BB_DIR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_MORE) += more.o
 
 //usage:#define more_trivial_usage
 //usage:       "[FILE]..."
index eb8b7ba7bcc0342875fef343ac3d64a997ace675..42962b85920c6241ee2b5385da09ddbf9a8069d2 100644 (file)
 //config:      help
 //config:        Support mount -T (specifying an alternate fstab)
 
+/* On full-blown systems, requires suid for user mounts.
+ * But it's not unthinkable to have it available in non-suid flavor on some systems,
+ * for viewing mount table.
+ * Therefore we use BB_SUID_MAYBE instead of BB_SUID_REQUIRE: */
+//applet:IF_MOUNT(APPLET(mount, BB_DIR_BIN, IF_DESKTOP(BB_SUID_MAYBE) IF_NOT_DESKTOP(BB_SUID_DROP)))
+
+//kbuild:lib-$(CONFIG_MOUNT) += mount.o
+
 //usage:#define mount_trivial_usage
 //usage:       "[OPTIONS] [-o OPT] DEVICE NODE"
 //usage:#define mount_full_usage "\n\n"
index 83f01fabde7d4d4bc6cbb891447a1e1bc25eb028..9bdae506cffed8615fdaf424fe1a0379477e3492 100644 (file)
@@ -8,6 +8,22 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config PIVOT_ROOT
+//config:      bool "pivot_root"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        The pivot_root utility swaps the mount points for the root filesystem
+//config:        with some other mounted filesystem. This allows you to do all sorts
+//config:        of wild and crazy things with your Linux system and is far more
+//config:        powerful than 'chroot'.
+//config:
+//config:        Note: This is for initrd in linux 2.4. Under initramfs (introduced
+//config:        in linux 2.6) use switch_root instead.
+
+//applet:IF_PIVOT_ROOT(APPLET(pivot_root, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_PIVOT_ROOT) += pivot_root.o
 
 //usage:#define pivot_root_trivial_usage
 //usage:       "NEW_ROOT PUT_OLD"
index 8075ef6af267e612e5e3f347ed97bc4c8f70ebd4..8dd784d3d68e91cc1d6cb398d81a299809486016 100644 (file)
@@ -6,7 +6,19 @@
  * by Sterling Huxley <sterling@europa.com>
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
-*/
+ */
+//config:config RDATE
+//config:      bool "rdate"
+//config:      default y
+//config:      help
+//config:        The rdate utility allows you to synchronize the date and time of your
+//config:        system clock with the date and time of a remote networked system using
+//config:        the RFC868 protocol, which is built into the inetd daemon on most
+//config:        systems.
+
+//applet:IF_RDATE(APPLET(rdate, BB_DIR_USR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_RDATE) += rdate.o
 
 //usage:#define rdate_trivial_usage
 //usage:       "[-sp] HOST"
index 465281756e3e12d44c43dd7279f81929c49f9005..0e1578e33038eb46a7f16563b71ef0e96b9aa979 100644 (file)
@@ -8,6 +8,15 @@
  * Licensed under GPLv2, see file LICENSE in this source tree.
  *
  */
+//config:config RDEV
+//config:      bool "rdev"
+//config:      default y
+//config:      help
+//config:        Print the device node associated with the filesystem mounted at '/'.
+
+//applet:IF_RDEV(APPLET(rdev, BB_DIR_USR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_RDEV) += rdev.o
 
 //usage:#define rdev_trivial_usage
 //usage:       ""
index 345b676ba1ae007bc612dd95ddfcb2579942056d..d5230387cc8d034ba5db41ac1dd25901c5de4b38 100644 (file)
  * Taken from util-linux and adapted for busybox by
  * Paul Mundt <lethal@linux-sh.org>.
  */
+//config:config READPROFILE
+//config:      bool "readprofile"
+//config:      default y
+//config:      #select PLATFORM_LINUX
+//config:      help
+//config:        This allows you to parse /proc/profile for basic profiling.
+
+//applet:IF_READPROFILE(APPLET(readprofile, BB_DIR_USR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_READPROFILE) += readprofile.o
 
 //usage:#define readprofile_trivial_usage
 //usage:       "[OPTIONS]"
index 3c1b22f0935392cb88e292423c10ac7a83bc0d11..c2250531419ec8d567100fc9767bcda86d9c3456 100644 (file)
@@ -5,17 +5,16 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
-
-//applet:IF_REV(APPLET(rev, BB_DIR_BIN, BB_SUID_DROP))
-
-//kbuild:lib-$(CONFIG_REV) += rev.o
-
 //config:config REV
 //config:      bool "rev"
 //config:      default y
 //config:      help
 //config:        Reverse lines of a file or files.
 
+//applet:IF_REV(APPLET(rev, BB_DIR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_REV) += rev.o
+
 //usage:#define rev_trivial_usage
 //usage:       "[FILE]..."
 //usage:#define rev_full_usage "\n\n"
index 8aee0cfcbd567dc8c0682da07e587387ee685f09..54fc70583498e4f966dc4c444518eb719a2b2f54 100644 (file)
  * RTC uses a local timezone instead (maybe you dual-boot MS-Windows).
  * That flag should not be needed on systems with adjtime support.
  */
+//config:config RTCWAKE
+//config:      bool "rtcwake"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        Enter a system sleep state until specified wakeup time.
+
+//applet:IF_RTCWAKE(APPLET(rtcwake, BB_DIR_USR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_RTCWAKE) += rtcwake.o
 
 //usage:#define rtcwake_trivial_usage
 //usage:       "[-a | -l | -u] [-d DEV] [-m MODE] [-s SEC | -t TIME]"
index 86475c1f145da4e3ae36f937e3a8a7782048dbb4..c5063e8a17af03b81e00d7b4b1da99861566b459 100644 (file)
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config SCRIPT
+//config:      bool "script"
+//config:      default y
+//config:      help
+//config:        The script makes typescript of terminal session.
+
+//applet:IF_SCRIPT(APPLET(script, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_SCRIPT) += script.o
 
 //usage:#define script_trivial_usage
 //usage:       "[-afq" IF_SCRIPTREPLAY("t") "] [-c PROG] [OUTFILE]"
index 382f56d9a34b27b9de64648f6b4da3e815d940b4..8a0c7489d17e8b6becc0edc44d6edbb657dcb3a2 100644 (file)
@@ -7,6 +7,16 @@
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  *
  */
+//config:config SCRIPTREPLAY
+//config:      bool "scriptreplay"
+//config:      default y
+//config:      help
+//config:        This program replays a typescript, using timing information
+//config:        given by script -t.
+
+//applet:IF_SCRIPTREPLAY(APPLET(scriptreplay, BB_DIR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_SCRIPTREPLAY) += scriptreplay.o
 
 //usage:#define scriptreplay_trivial_usage
 //usage:       "timingfile [typescript [divisor]]"
index 0a2d23f50085d7f77803a7374b30b37000115b29..b8f4e94474df17a4c487e1c05be89a7b3719a5d9 100644 (file)
@@ -6,7 +6,6 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
-
 //config:config SWAPON
 //config:      bool "swapon"
 //config:      default y
index 7960b672c19da569f4144c79e519a9cea8bb3adb..6034485d7424873d06044c86ecc94d9c3ca57468 100644 (file)
@@ -5,6 +5,29 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config SWITCH_ROOT
+//config:      bool "switch_root"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        The switch_root utility is used from initramfs to select a new
+//config:        root device. Under initramfs, you have to use this instead of
+//config:        pivot_root. (Stop reading here if you don't care why.)
+//config:
+//config:        Booting with initramfs extracts a gzipped cpio archive into rootfs
+//config:        (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
+//config:        or unmounted*, pivot_root will not work from initramfs. Instead,
+//config:        switch_root deletes everything out of rootfs (including itself),
+//config:        does a mount --move that overmounts rootfs with the new root, and
+//config:        then execs the specified init program.
+//config:
+//config:        * Because the Linux kernel uses rootfs internally as the starting
+//config:        and ending point for searching through the kernel's doubly linked
+//config:        list of active mount points. That's why.
+
+//applet:IF_SWITCH_ROOT(APPLET(switch_root, BB_DIR_SBIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_SWITCH_ROOT) += switch_root.o
 
 //usage:#define switch_root_trivial_usage
 //usage:       "[-c /dev/console] NEW_ROOT NEW_INIT [ARGS]"
index b98fe616080a5e05cb59527939dbd6ab9a14f9c0..c22216a8a11717913980c3755646b3a5b62c06fa 100644 (file)
@@ -3,7 +3,6 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
-
 //config:config UEVENT
 //config:      bool "uevent"
 //config:      default y
index 91da69674de1d1320c8d9f7f25dabe2275b81be6..78eef57a5564bf551b1965a5d82452d0b34c8915 100644 (file)
@@ -7,6 +7,26 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config UMOUNT
+//config:      bool "umount"
+//config:      default y
+//config:      select PLATFORM_LINUX
+//config:      help
+//config:        When you want to remove a mounted filesystem from its current mount
+//config:        point, for example when you are shutting down the system, the
+//config:        'umount' utility is the tool to use. If you enabled the 'mount'
+//config:        utility, you almost certainly also want to enable 'umount'.
+//config:
+//config:config FEATURE_UMOUNT_ALL
+//config:      bool "Support option -a"
+//config:      default y
+//config:      depends on UMOUNT
+//config:      help
+//config:        Support -a option to unmount all currently mounted filesystems.
+
+//applet:IF_UMOUNT(APPLET(umount, BB_DIR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_UMOUNT) += umount.o
 
 //usage:#define umount_trivial_usage
 //usage:       "[OPTIONS] FILESYSTEM|DIRECTORY"
index dcc59559aa10cc285877b62d5938639ffa4c600e..bbabeef55c14f4a81c52c024d715373c3a202b08 100644 (file)
@@ -6,7 +6,6 @@
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
-
 //config:config UNSHARE
 //config:      bool "unshare"
 //config:      default y