Initial public busybox upstream commit
authorYauheni Kaliuta <yauheni.kaliuta@nokia.com>
Wed, 21 Jan 2009 07:38:19 +0000 (09:38 +0200)
committerYauheni Kaliuta <yauheni.kaliuta@nokia.com>
Wed, 21 Jan 2009 07:38:19 +0000 (09:38 +0200)
1163 files changed:
.indent.pro [new file with mode: 0644]
AUTHORS [new file with mode: 0644]
Config.in [new file with mode: 0644]
INSTALL [new file with mode: 0644]
LICENSE [new file with mode: 0644]
Makefile [new file with mode: 0644]
Makefile.custom [new file with mode: 0644]
Makefile.flags [new file with mode: 0644]
Makefile.help [new file with mode: 0644]
README [new file with mode: 0644]
TODO [new file with mode: 0644]
TODO_config_nommu [new file with mode: 0644]
applets/Kbuild [new file with mode: 0644]
applets/applet_tables.c [new file with mode: 0644]
applets/applets.c [new file with mode: 0644]
applets/busybox.mkll [new file with mode: 0755]
applets/individual.c [new file with mode: 0644]
applets/install.sh [new file with mode: 0755]
applets/usage.c [new file with mode: 0644]
applets/usage_compressed [new file with mode: 0755]
arch/i386/Makefile [new file with mode: 0644]
archival/Config.in [new file with mode: 0644]
archival/Kbuild [new file with mode: 0644]
archival/ar.c [new file with mode: 0644]
archival/bbunzip.c [new file with mode: 0644]
archival/bbunzip_test.sh [new file with mode: 0644]
archival/bbunzip_test2.sh [new file with mode: 0644]
archival/bbunzip_test3.sh [new file with mode: 0644]
archival/bz/LICENSE [new file with mode: 0644]
archival/bz/README [new file with mode: 0644]
archival/bz/blocksort.c [new file with mode: 0644]
archival/bz/bzlib.c [new file with mode: 0644]
archival/bz/bzlib.h [new file with mode: 0644]
archival/bz/bzlib_private.h [new file with mode: 0644]
archival/bz/compress.c [new file with mode: 0644]
archival/bz/huffman.c [new file with mode: 0644]
archival/bzip2.c [new file with mode: 0644]
archival/cpio.c [new file with mode: 0644]
archival/dpkg.c [new file with mode: 0644]
archival/dpkg_deb.c [new file with mode: 0644]
archival/gzip.c [new file with mode: 0644]
archival/libunarchive/Kbuild [new file with mode: 0644]
archival/libunarchive/archive_xread_all_eof.c [new file with mode: 0644]
archival/libunarchive/data_align.c [new file with mode: 0644]
archival/libunarchive/data_extract_all.c [new file with mode: 0644]
archival/libunarchive/data_extract_to_buffer.c [new file with mode: 0644]
archival/libunarchive/data_extract_to_stdout.c [new file with mode: 0644]
archival/libunarchive/data_skip.c [new file with mode: 0644]
archival/libunarchive/decompress_bunzip2.c [new file with mode: 0644]
archival/libunarchive/decompress_uncompress.c [new file with mode: 0644]
archival/libunarchive/decompress_unlzma.c [new file with mode: 0644]
archival/libunarchive/decompress_unzip.c [new file with mode: 0644]
archival/libunarchive/filter_accept_all.c [new file with mode: 0644]
archival/libunarchive/filter_accept_list.c [new file with mode: 0644]
archival/libunarchive/filter_accept_list_reassign.c [new file with mode: 0644]
archival/libunarchive/filter_accept_reject_list.c [new file with mode: 0644]
archival/libunarchive/find_list_entry.c [new file with mode: 0644]
archival/libunarchive/get_header_ar.c [new file with mode: 0644]
archival/libunarchive/get_header_cpio.c [new file with mode: 0644]
archival/libunarchive/get_header_tar.c [new file with mode: 0644]
archival/libunarchive/get_header_tar_bz2.c [new file with mode: 0644]
archival/libunarchive/get_header_tar_gz.c [new file with mode: 0644]
archival/libunarchive/get_header_tar_lzma.c [new file with mode: 0644]
archival/libunarchive/header_list.c [new file with mode: 0644]
archival/libunarchive/header_skip.c [new file with mode: 0644]
archival/libunarchive/header_verbose_list.c [new file with mode: 0644]
archival/libunarchive/init_handle.c [new file with mode: 0644]
archival/libunarchive/open_transformer.c [new file with mode: 0644]
archival/libunarchive/seek_by_jump.c [new file with mode: 0644]
archival/libunarchive/seek_by_read.c [new file with mode: 0644]
archival/libunarchive/unpack_ar_archive.c [new file with mode: 0644]
archival/rpm.c [new file with mode: 0644]
archival/rpm2cpio.c [new file with mode: 0644]
archival/tar.c [new file with mode: 0644]
archival/unzip.c [new file with mode: 0644]
console-tools/Config.in [new file with mode: 0644]
console-tools/Kbuild [new file with mode: 0644]
console-tools/chvt.c [new file with mode: 0644]
console-tools/clear.c [new file with mode: 0644]
console-tools/deallocvt.c [new file with mode: 0644]
console-tools/dumpkmap.c [new file with mode: 0644]
console-tools/kbd_mode.c [new file with mode: 0644]
console-tools/loadfont.c [new file with mode: 0644]
console-tools/loadkmap.c [new file with mode: 0644]
console-tools/openvt.c [new file with mode: 0644]
console-tools/reset.c [new file with mode: 0644]
console-tools/resize.c [new file with mode: 0644]
console-tools/setconsole.c [new file with mode: 0644]
console-tools/setkeycodes.c [new file with mode: 0644]
console-tools/setlogcons.c [new file with mode: 0644]
coreutils/Config.in [new file with mode: 0644]
coreutils/Kbuild [new file with mode: 0644]
coreutils/basename.c [new file with mode: 0644]
coreutils/cal.c [new file with mode: 0644]
coreutils/cat.c [new file with mode: 0644]
coreutils/catv.c [new file with mode: 0644]
coreutils/chgrp.c [new file with mode: 0644]
coreutils/chmod.c [new file with mode: 0644]
coreutils/chown.c [new file with mode: 0644]
coreutils/chroot.c [new file with mode: 0644]
coreutils/cksum.c [new file with mode: 0644]
coreutils/comm.c [new file with mode: 0644]
coreutils/cp.c [new file with mode: 0644]
coreutils/cut.c [new file with mode: 0644]
coreutils/date.c [new file with mode: 0644]
coreutils/dd.c [new file with mode: 0644]
coreutils/df.c [new file with mode: 0644]
coreutils/dirname.c [new file with mode: 0644]
coreutils/dos2unix.c [new file with mode: 0644]
coreutils/du.c [new file with mode: 0644]
coreutils/echo.c [new file with mode: 0644]
coreutils/env.c [new file with mode: 0644]
coreutils/expand.c [new file with mode: 0644]
coreutils/expr.c [new file with mode: 0644]
coreutils/false.c [new file with mode: 0644]
coreutils/fold.c [new file with mode: 0644]
coreutils/head.c [new file with mode: 0644]
coreutils/hostid.c [new file with mode: 0644]
coreutils/id.c [new file with mode: 0644]
coreutils/install.c [new file with mode: 0644]
coreutils/length.c [new file with mode: 0644]
coreutils/libcoreutils/Kbuild [new file with mode: 0644]
coreutils/libcoreutils/coreutils.h [new file with mode: 0644]
coreutils/libcoreutils/cp_mv_stat.c [new file with mode: 0644]
coreutils/libcoreutils/getopt_mk_fifo_nod.c [new file with mode: 0644]
coreutils/ln.c [new file with mode: 0644]
coreutils/logname.c [new file with mode: 0644]
coreutils/ls.c [new file with mode: 0644]
coreutils/md5_sha1_sum.c [new file with mode: 0644]
coreutils/mkdir.c [new file with mode: 0644]
coreutils/mkfifo.c [new file with mode: 0644]
coreutils/mknod.c [new file with mode: 0644]
coreutils/mv.c [new file with mode: 0644]
coreutils/nice.c [new file with mode: 0644]
coreutils/nohup.c [new file with mode: 0644]
coreutils/od.c [new file with mode: 0644]
coreutils/od_bloaty.c [new file with mode: 0644]
coreutils/printenv.c [new file with mode: 0644]
coreutils/printf.c [new file with mode: 0644]
coreutils/pwd.c [new file with mode: 0644]
coreutils/readlink.c [new file with mode: 0644]
coreutils/realpath.c [new file with mode: 0644]
coreutils/rm.c [new file with mode: 0644]
coreutils/rmdir.c [new file with mode: 0644]
coreutils/seq.c [new file with mode: 0644]
coreutils/sleep.c [new file with mode: 0644]
coreutils/sort.c [new file with mode: 0644]
coreutils/split.c [new file with mode: 0644]
coreutils/stat.c [new file with mode: 0644]
coreutils/stty.c [new file with mode: 0644]
coreutils/sum.c [new file with mode: 0644]
coreutils/sync.c [new file with mode: 0644]
coreutils/tac.c [new file with mode: 0644]
coreutils/tail.c [new file with mode: 0644]
coreutils/tee.c [new file with mode: 0644]
coreutils/test.c [new file with mode: 0644]
coreutils/touch.c [new file with mode: 0644]
coreutils/tr.c [new file with mode: 0644]
coreutils/true.c [new file with mode: 0644]
coreutils/tty.c [new file with mode: 0644]
coreutils/uname.c [new file with mode: 0644]
coreutils/uniq.c [new file with mode: 0644]
coreutils/usleep.c [new file with mode: 0644]
coreutils/uudecode.c [new file with mode: 0644]
coreutils/uuencode.c [new file with mode: 0644]
coreutils/wc.c [new file with mode: 0644]
coreutils/who.c [new file with mode: 0644]
coreutils/whoami.c [new file with mode: 0644]
coreutils/yes.c [new file with mode: 0644]
debianutils/Config.in [new file with mode: 0644]
debianutils/Kbuild [new file with mode: 0644]
debianutils/mktemp.c [new file with mode: 0644]
debianutils/pipe_progress.c [new file with mode: 0644]
debianutils/run_parts.c [new file with mode: 0644]
debianutils/start_stop_daemon.c [new file with mode: 0644]
debianutils/which.c [new file with mode: 0644]
docs/autodocifier.pl [new file with mode: 0755]
docs/busybox.net/FAQ.html [new file with mode: 0644]
docs/busybox.net/about.html [new file with mode: 0644]
docs/busybox.net/busybox-growth.ps [new file with mode: 0644]
docs/busybox.net/copyright.txt [new file with mode: 0644]
docs/busybox.net/developer.html [new file with mode: 0644]
docs/busybox.net/download.html [new file with mode: 0644]
docs/busybox.net/fix.html [new file with mode: 0644]
docs/busybox.net/footer.html [new file with mode: 0644]
docs/busybox.net/header.html [new file with mode: 0644]
docs/busybox.net/images/back.png [new file with mode: 0644]
docs/busybox.net/images/busybox.jpeg [new file with mode: 0644]
docs/busybox.net/images/busybox.png [new file with mode: 0644]
docs/busybox.net/images/busybox1.png [new file with mode: 0644]
docs/busybox.net/images/busybox2.jpg [new file with mode: 0644]
docs/busybox.net/images/busybox3.jpg [new file with mode: 0644]
docs/busybox.net/images/dir.png [new file with mode: 0644]
docs/busybox.net/images/donate.png [new file with mode: 0644]
docs/busybox.net/images/fm.mini.png [new file with mode: 0644]
docs/busybox.net/images/gfx_by_gimp.png [new file with mode: 0644]
docs/busybox.net/images/ltbutton2.png [new file with mode: 0644]
docs/busybox.net/images/osuosl.png [new file with mode: 0644]
docs/busybox.net/images/sdsmall.png [new file with mode: 0644]
docs/busybox.net/images/text.png [new file with mode: 0644]
docs/busybox.net/images/valid-html401.png [new file with mode: 0644]
docs/busybox.net/images/vh40.gif [new file with mode: 0644]
docs/busybox.net/images/written.in.vi.png [new file with mode: 0644]
docs/busybox.net/index.html [new file with mode: 0644]
docs/busybox.net/license.html [new file with mode: 0644]
docs/busybox.net/links.html [new file with mode: 0644]
docs/busybox.net/lists.html [new file with mode: 0644]
docs/busybox.net/news.html [new file with mode: 0644]
docs/busybox.net/oldnews.html [new file with mode: 0644]
docs/busybox.net/products.html [new file with mode: 0644]
docs/busybox.net/screenshot.html [new file with mode: 0644]
docs/busybox.net/shame.html [new file with mode: 0644]
docs/busybox.net/sponsors.html [new file with mode: 0644]
docs/busybox.net/subversion.html [new file with mode: 0644]
docs/busybox.net/tinyutils.html [new file with mode: 0644]
docs/busybox_footer.pod [new file with mode: 0644]
docs/busybox_header.pod [new file with mode: 0644]
docs/cgi/cl.html [new file with mode: 0644]
docs/cgi/env.html [new file with mode: 0644]
docs/cgi/in.html [new file with mode: 0644]
docs/cgi/interface.html [new file with mode: 0644]
docs/cgi/out.html [new file with mode: 0644]
docs/contributing.txt [new file with mode: 0644]
docs/ctty.htm [new file with mode: 0644]
docs/draft-coar-cgi-v11-03-clean.html [new file with mode: 0644]
docs/ifupdown_design.txt [new file with mode: 0644]
docs/keep_data_small.txt [new file with mode: 0644]
docs/mdev.txt [new file with mode: 0644]
docs/new-applet-HOWTO.txt [new file with mode: 0644]
docs/nofork_noexec.txt [new file with mode: 0644]
docs/sigint.htm [new file with mode: 0644]
docs/style-guide.txt [new file with mode: 0644]
docs/tar_pax.txt [new file with mode: 0644]
e2fsprogs/Config.in [new file with mode: 0644]
e2fsprogs/Kbuild [new file with mode: 0644]
e2fsprogs/README [new file with mode: 0644]
e2fsprogs/chattr.c [new file with mode: 0644]
e2fsprogs/e2fs_defs.h [new file with mode: 0644]
e2fsprogs/e2fs_lib.c [new file with mode: 0644]
e2fsprogs/e2fs_lib.h [new file with mode: 0644]
e2fsprogs/fsck.c [new file with mode: 0644]
e2fsprogs/lsattr.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/Config.in [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/Kbuild [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/README [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/Kbuild [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/blkid.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/blkidP.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/blkid_getsize.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/cache.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/dev.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/devname.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/devno.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/list.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/list.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/probe.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/probe.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/read.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/resolve.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/save.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/blkid/tag.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/chattr.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2fsbb.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2fsck.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2fsck.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/Kbuild [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/e2p.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/feature.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/fgetsetflags.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/fgetsetversion.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/hashstr.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/iod.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/ls.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/mntopts.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/ostype.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/parse_num.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/pe.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/pf.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/ps.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/e2p/uuid.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/Kbuild [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/alloc.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/alloc_sb.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/alloc_stats.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/alloc_tables.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/badblocks.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/bb_compat.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/bb_inode.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/bitmaps.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/bitops.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/bitops.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/block.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/bmap.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/bmove.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/brel.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/brel_ma.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/check_desc.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/closefs.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/cmp_bitmaps.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/dblist.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/dblist_dir.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/dir_iterate.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/dirblock.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/dirhash.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/dupfs.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/e2image.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/expanddir.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ext2_err.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ext2_ext_attr.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ext2_io.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ext2_types.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ext2fsP.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ext2fs_inline.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ext_attr.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/fileio.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/finddev.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/flushb.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/freefs.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/gen_bitmap.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/get_pathname.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/getsectsize.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/getsize.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/icount.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/imager.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ind_block.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/initialize.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/inline.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/inode.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/inode_io.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/io_manager.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/irel.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/irel_ma.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/ismounted.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/jfs_dat.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/kernel-jbd.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/kernel-list.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/link.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/lookup.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/mkdir.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/mkjournal.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/namei.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/newdir.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/openfs.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/read_bb.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/read_bb_file.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/res_gdt.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/rs_bitmap.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/rw_bitmaps.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/sparse.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/swapfs.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/test_io.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/unix_io.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/unlink.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/valid_blk.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/version.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/ext2fs/write_bb_file.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/fsck.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/fsck.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/lsattr.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/mke2fs.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/tune2fs.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/util.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/util.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/Kbuild [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/compare.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/gen_uuid.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/pack.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/parse.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/unpack.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/unparse.c [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/uuid.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/uuidP.h [new file with mode: 0644]
e2fsprogs/old_e2fsprogs/uuid/uuid_time.c [new file with mode: 0644]
editors/Config.in [new file with mode: 0644]
editors/Kbuild [new file with mode: 0644]
editors/awk.c [new file with mode: 0644]
editors/cmp.c [new file with mode: 0644]
editors/diff.c [new file with mode: 0644]
editors/ed.c [new file with mode: 0644]
editors/patch.c [new file with mode: 0644]
editors/sed.c [new file with mode: 0644]
editors/sed1line.txt [new file with mode: 0644]
editors/sed_summary.htm [new file with mode: 0644]
editors/vi.c [new file with mode: 0644]
examples/bootfloppy/bootfloppy.txt [new file with mode: 0644]
examples/bootfloppy/display.txt [new file with mode: 0644]
examples/bootfloppy/etc/fstab [new file with mode: 0644]
examples/bootfloppy/etc/init.d/rcS [new file with mode: 0755]
examples/bootfloppy/etc/inittab [new file with mode: 0644]
examples/bootfloppy/etc/profile [new file with mode: 0644]
examples/bootfloppy/mkdevs.sh [new file with mode: 0755]
examples/bootfloppy/mkrootfs.sh [new file with mode: 0755]
examples/bootfloppy/mksyslinux.sh [new file with mode: 0755]
examples/bootfloppy/quickstart.txt [new file with mode: 0644]
examples/bootfloppy/syslinux.cfg [new file with mode: 0644]
examples/busybox.spec [new file with mode: 0644]
examples/depmod.pl [new file with mode: 0755]
examples/devfsd.conf [new file with mode: 0644]
examples/dnsd.conf [new file with mode: 0644]
examples/inetd.conf [new file with mode: 0644]
examples/inittab [new file with mode: 0644]
examples/mk2knr.pl [new file with mode: 0755]
examples/udhcp/sample.bound [new file with mode: 0755]
examples/udhcp/sample.deconfig [new file with mode: 0755]
examples/udhcp/sample.nak [new file with mode: 0755]
examples/udhcp/sample.renew [new file with mode: 0755]
examples/udhcp/sample.script [new file with mode: 0644]
examples/udhcp/simple.script [new file with mode: 0644]
examples/udhcp/udhcpd.conf [new file with mode: 0644]
examples/undeb [new file with mode: 0644]
examples/unrpm [new file with mode: 0644]
examples/zcip.script [new file with mode: 0644]
findutils/Config.in [new file with mode: 0644]
findutils/Kbuild [new file with mode: 0644]
findutils/find.c [new file with mode: 0644]
findutils/grep.c [new file with mode: 0644]
findutils/xargs.c [new file with mode: 0644]
include/applets.h [new file with mode: 0644]
include/busybox.h [new file with mode: 0644]
include/dump.h [new file with mode: 0644]
include/grp_.h [new file with mode: 0644]
include/inet_common.h [new file with mode: 0644]
include/libbb.h [new file with mode: 0644]
include/platform.h [new file with mode: 0644]
include/pwd_.h [new file with mode: 0644]
include/rtc_.h [new file with mode: 0644]
include/shadow_.h [new file with mode: 0644]
include/unarchive.h [new file with mode: 0644]
include/usage.h [new file with mode: 0644]
include/volume_id.h [new file with mode: 0644]
include/xatonum.h [new file with mode: 0644]
include/xregex.h [new file with mode: 0644]
init/Config.in [new file with mode: 0644]
init/Kbuild [new file with mode: 0644]
init/halt.c [new file with mode: 0644]
init/init.c [new file with mode: 0644]
init/mesg.c [new file with mode: 0644]
libbb/Config.in [new file with mode: 0644]
libbb/Kbuild [new file with mode: 0644]
libbb/README [new file with mode: 0644]
libbb/appletlib.c [new file with mode: 0644]
libbb/ask_confirmation.c [new file with mode: 0644]
libbb/bb_askpass.c [new file with mode: 0644]
libbb/bb_basename.c [new file with mode: 0644]
libbb/bb_do_delay.c [new file with mode: 0644]
libbb/bb_pwd.c [new file with mode: 0644]
libbb/bb_qsort.c [new file with mode: 0644]
libbb/bb_strtonum.c [new file with mode: 0644]
libbb/change_identity.c [new file with mode: 0644]
libbb/chomp.c [new file with mode: 0644]
libbb/compare_string_array.c [new file with mode: 0644]
libbb/concat_path_file.c [new file with mode: 0644]
libbb/concat_subpath_file.c [new file with mode: 0644]
libbb/copy_file.c [new file with mode: 0644]
libbb/copyfd.c [new file with mode: 0644]
libbb/correct_password.c [new file with mode: 0644]
libbb/crc32.c [new file with mode: 0644]
libbb/create_icmp6_socket.c [new file with mode: 0644]
libbb/create_icmp_socket.c [new file with mode: 0644]
libbb/crypt_make_salt.c [new file with mode: 0644]
libbb/default_error_retval.c [new file with mode: 0644]
libbb/device_open.c [new file with mode: 0644]
libbb/die_if_bad_username.c [new file with mode: 0644]
libbb/dump.c [new file with mode: 0644]
libbb/error_msg.c [new file with mode: 0644]
libbb/error_msg_and_die.c [new file with mode: 0644]
libbb/execable.c [new file with mode: 0644]
libbb/fclose_nonstdin.c [new file with mode: 0644]
libbb/fflush_stdout_and_exit.c [new file with mode: 0644]
libbb/fgets_str.c [new file with mode: 0644]
libbb/find_mount_point.c [new file with mode: 0644]
libbb/find_pid_by_name.c [new file with mode: 0644]
libbb/find_root_device.c [new file with mode: 0644]
libbb/full_write.c [new file with mode: 0644]
libbb/get_console.c [new file with mode: 0644]
libbb/get_last_path_component.c [new file with mode: 0644]
libbb/get_line_from_file.c [new file with mode: 0644]
libbb/getopt32.c [new file with mode: 0644]
libbb/getpty.c [new file with mode: 0644]
libbb/herror_msg.c [new file with mode: 0644]
libbb/herror_msg_and_die.c [new file with mode: 0644]
libbb/human_readable.c [new file with mode: 0644]
libbb/inet_common.c [new file with mode: 0644]
libbb/info_msg.c [new file with mode: 0644]
libbb/inode_hash.c [new file with mode: 0644]
libbb/isdirectory.c [new file with mode: 0644]
libbb/kernel_version.c [new file with mode: 0644]
libbb/last_char_is.c [new file with mode: 0644]
libbb/lineedit.c [new file with mode: 0644]
libbb/llist.c [new file with mode: 0644]
libbb/login.c [new file with mode: 0644]
libbb/loop.c [new file with mode: 0644]
libbb/make_directory.c [new file with mode: 0644]
libbb/makedev.c [new file with mode: 0644]
libbb/match_fstype.c [new file with mode: 0644]
libbb/md5.c [new file with mode: 0644]
libbb/messages.c [new file with mode: 0644]
libbb/mode_string.c [new file with mode: 0644]
libbb/mtab.c [new file with mode: 0644]
libbb/mtab_file.c [new file with mode: 0644]
libbb/obscure.c [new file with mode: 0644]
libbb/parse_mode.c [new file with mode: 0644]
libbb/perror_msg.c [new file with mode: 0644]
libbb/perror_msg_and_die.c [new file with mode: 0644]
libbb/perror_nomsg.c [new file with mode: 0644]
libbb/perror_nomsg_and_die.c [new file with mode: 0644]
libbb/pidfile.c [new file with mode: 0644]
libbb/printable.c [new file with mode: 0644]
libbb/process_escape_sequence.c [new file with mode: 0644]
libbb/procps.c [new file with mode: 0644]
libbb/ptr_to_globals.c [new file with mode: 0644]
libbb/pw_encrypt.c [new file with mode: 0644]
libbb/read.c [new file with mode: 0644]
libbb/recursive_action.c [new file with mode: 0644]
libbb/remove_file.c [new file with mode: 0644]
libbb/restricted_shell.c [new file with mode: 0644]
libbb/rtc.c [new file with mode: 0644]
libbb/run_shell.c [new file with mode: 0644]
libbb/safe_gethostname.c [new file with mode: 0644]
libbb/safe_poll.c [new file with mode: 0644]
libbb/safe_strncpy.c [new file with mode: 0644]
libbb/safe_write.c [new file with mode: 0644]
libbb/selinux_common.c [new file with mode: 0644]
libbb/setup_environment.c [new file with mode: 0644]
libbb/sha1.c [new file with mode: 0644]
libbb/signals.c [new file with mode: 0644]
libbb/simplify_path.c [new file with mode: 0644]
libbb/skip_whitespace.c [new file with mode: 0644]
libbb/speed_table.c [new file with mode: 0644]
libbb/str_tolower.c [new file with mode: 0644]
libbb/time.c [new file with mode: 0644]
libbb/trim.c [new file with mode: 0644]
libbb/u_signal_names.c [new file with mode: 0644]
libbb/udp_io.c [new file with mode: 0644]
libbb/update_passwd.c [new file with mode: 0644]
libbb/uuencode.c [new file with mode: 0644]
libbb/vdprintf.c [new file with mode: 0644]
libbb/verror_msg.c [new file with mode: 0644]
libbb/vfork_daemon_rexec.c [new file with mode: 0644]
libbb/warn_ignoring_args.c [new file with mode: 0644]
libbb/wfopen.c [new file with mode: 0644]
libbb/wfopen_input.c [new file with mode: 0644]
libbb/xatonum.c [new file with mode: 0644]
libbb/xatonum_template.c [new file with mode: 0644]
libbb/xconnect.c [new file with mode: 0644]
libbb/xfuncs.c [new file with mode: 0644]
libbb/xgetcwd.c [new file with mode: 0644]
libbb/xgethostbyname.c [new file with mode: 0644]
libbb/xreadlink.c [new file with mode: 0644]
libbb/xregcomp.c [new file with mode: 0644]
libpwdgrp/Kbuild [new file with mode: 0644]
libpwdgrp/pwd_grp.c [new file with mode: 0644]
libpwdgrp/pwd_grp_internal.c [new file with mode: 0644]
libpwdgrp/uidgid_get.c [new file with mode: 0644]
loginutils/Config.in [new file with mode: 0644]
loginutils/Kbuild [new file with mode: 0644]
loginutils/addgroup.c [new file with mode: 0644]
loginutils/adduser.c [new file with mode: 0644]
loginutils/chpasswd.c [new file with mode: 0644]
loginutils/cryptpw.c [new file with mode: 0644]
loginutils/deluser.c [new file with mode: 0644]
loginutils/getty.c [new file with mode: 0644]
loginutils/login.c [new file with mode: 0644]
loginutils/passwd.c [new file with mode: 0644]
loginutils/su.c [new file with mode: 0644]
loginutils/sulogin.c [new file with mode: 0644]
loginutils/vlock.c [new file with mode: 0644]
miscutils/Config.in [new file with mode: 0644]
miscutils/Kbuild [new file with mode: 0644]
miscutils/adjtimex.c [new file with mode: 0644]
miscutils/bbconfig.c [new file with mode: 0644]
miscutils/chat.c [new file with mode: 0644]
miscutils/chrt.c [new file with mode: 0644]
miscutils/crond.c [new file with mode: 0644]
miscutils/crontab.c [new file with mode: 0644]
miscutils/dc.c [new file with mode: 0644]
miscutils/devfsd.c [new file with mode: 0644]
miscutils/eject.c [new file with mode: 0644]
miscutils/hdparm.c [new file with mode: 0644]
miscutils/last.c [new file with mode: 0644]
miscutils/less.c [new file with mode: 0644]
miscutils/makedevs.c [new file with mode: 0644]
miscutils/microcom.c [new file with mode: 0644]
miscutils/mountpoint.c [new file with mode: 0644]
miscutils/mt.c [new file with mode: 0644]
miscutils/raidautorun.c [new file with mode: 0644]
miscutils/readahead.c [new file with mode: 0644]
miscutils/runlevel.c [new file with mode: 0644]
miscutils/rx.c [new file with mode: 0644]
miscutils/setsid.c [new file with mode: 0644]
miscutils/strings.c [new file with mode: 0644]
miscutils/taskset.c [new file with mode: 0644]
miscutils/time.c [new file with mode: 0644]
miscutils/ttysize.c [new file with mode: 0644]
miscutils/watchdog.c [new file with mode: 0644]
modutils/Config.in [new file with mode: 0644]
modutils/Kbuild [new file with mode: 0644]
modutils/insmod.c [new file with mode: 0644]
modutils/lsmod.c [new file with mode: 0644]
modutils/modprobe.c [new file with mode: 0644]
modutils/rmmod.c [new file with mode: 0644]
networking/Config.in [new file with mode: 0644]
networking/Kbuild [new file with mode: 0644]
networking/arp.c [new file with mode: 0644]
networking/arping.c [new file with mode: 0644]
networking/brctl.c [new file with mode: 0644]
networking/dnsd.c [new file with mode: 0644]
networking/ether-wake.c [new file with mode: 0644]
networking/ftpgetput.c [new file with mode: 0644]
networking/hostname.c [new file with mode: 0644]
networking/httpd.c [new file with mode: 0644]
networking/httpd_indexcgi.c [new file with mode: 0644]
networking/ifconfig.c [new file with mode: 0644]
networking/ifenslave.c [new file with mode: 0644]
networking/ifupdown.c [new file with mode: 0644]
networking/inetd.c [new file with mode: 0644]
networking/interface.c [new file with mode: 0644]
networking/ip.c [new file with mode: 0644]
networking/ipcalc.c [new file with mode: 0644]
networking/isrv.c [new file with mode: 0644]
networking/isrv.h [new file with mode: 0644]
networking/isrv_identd.c [new file with mode: 0644]
networking/libiproute/Kbuild [new file with mode: 0644]
networking/libiproute/ip_common.h [new file with mode: 0644]
networking/libiproute/ip_parse_common_args.c [new file with mode: 0644]
networking/libiproute/ipaddress.c [new file with mode: 0644]
networking/libiproute/iplink.c [new file with mode: 0644]
networking/libiproute/iproute.c [new file with mode: 0644]
networking/libiproute/iprule.c [new file with mode: 0644]
networking/libiproute/iptunnel.c [new file with mode: 0644]
networking/libiproute/libnetlink.c [new file with mode: 0644]
networking/libiproute/libnetlink.h [new file with mode: 0644]
networking/libiproute/ll_addr.c [new file with mode: 0644]
networking/libiproute/ll_map.c [new file with mode: 0644]
networking/libiproute/ll_map.h [new file with mode: 0644]
networking/libiproute/ll_proto.c [new file with mode: 0644]
networking/libiproute/ll_types.c [new file with mode: 0644]
networking/libiproute/rt_names.c [new file with mode: 0644]
networking/libiproute/rt_names.h [new file with mode: 0644]
networking/libiproute/rtm_map.c [new file with mode: 0644]
networking/libiproute/rtm_map.h [new file with mode: 0644]
networking/libiproute/utils.c [new file with mode: 0644]
networking/libiproute/utils.h [new file with mode: 0644]
networking/nameif.c [new file with mode: 0644]
networking/nc.c [new file with mode: 0644]
networking/nc_bloaty.c [new file with mode: 0644]
networking/netstat.c [new file with mode: 0644]
networking/nslookup.c [new file with mode: 0644]
networking/ping.c [new file with mode: 0644]
networking/pscan.c [new file with mode: 0644]
networking/route.c [new file with mode: 0644]
networking/sendmail.c [new file with mode: 0644]
networking/slattach.c [new file with mode: 0644]
networking/tcpudp.c [new file with mode: 0644]
networking/tcpudp_perhost.c [new file with mode: 0644]
networking/tcpudp_perhost.h [new file with mode: 0644]
networking/telnet.c [new file with mode: 0644]
networking/telnetd.c [new file with mode: 0644]
networking/tftp.c [new file with mode: 0644]
networking/traceroute.c [new file with mode: 0644]
networking/udhcp/Config.in [new file with mode: 0644]
networking/udhcp/Kbuild [new file with mode: 0644]
networking/udhcp/arpping.c [new file with mode: 0644]
networking/udhcp/clientpacket.c [new file with mode: 0644]
networking/udhcp/clientsocket.c [new file with mode: 0644]
networking/udhcp/common.c [new file with mode: 0644]
networking/udhcp/common.h [new file with mode: 0644]
networking/udhcp/dhcpc.c [new file with mode: 0644]
networking/udhcp/dhcpc.h [new file with mode: 0644]
networking/udhcp/dhcpd.c [new file with mode: 0644]
networking/udhcp/dhcpd.h [new file with mode: 0644]
networking/udhcp/dhcprelay.c [new file with mode: 0644]
networking/udhcp/domain_codec.c [new file with mode: 0644]
networking/udhcp/dumpleases.c [new file with mode: 0644]
networking/udhcp/files.c [new file with mode: 0644]
networking/udhcp/leases.c [new file with mode: 0644]
networking/udhcp/options.c [new file with mode: 0644]
networking/udhcp/options.h [new file with mode: 0644]
networking/udhcp/packet.c [new file with mode: 0644]
networking/udhcp/script.c [new file with mode: 0644]
networking/udhcp/serverpacket.c [new file with mode: 0644]
networking/udhcp/signalpipe.c [new file with mode: 0644]
networking/udhcp/socket.c [new file with mode: 0644]
networking/udhcp/static_leases.c [new file with mode: 0644]
networking/vconfig.c [new file with mode: 0644]
networking/wget.c [new file with mode: 0644]
networking/zcip.c [new file with mode: 0644]
printutils/Config.in [new file with mode: 0644]
printutils/Kbuild [new file with mode: 0644]
printutils/lpd.c [new file with mode: 0644]
printutils/lpr.c [new file with mode: 0644]
procps/Config.in [new file with mode: 0644]
procps/Kbuild [new file with mode: 0644]
procps/free.c [new file with mode: 0644]
procps/fuser.c [new file with mode: 0644]
procps/kill.c [new file with mode: 0644]
procps/nmeter.c [new file with mode: 0644]
procps/pgrep.c [new file with mode: 0644]
procps/pidof.c [new file with mode: 0644]
procps/ps.c [new file with mode: 0644]
procps/ps.posix [new file with mode: 0644]
procps/renice.c [new file with mode: 0644]
procps/sysctl.c [new file with mode: 0644]
procps/top.c [new file with mode: 0644]
procps/uptime.c [new file with mode: 0644]
procps/watch.c [new file with mode: 0644]
runit/Config.in [new file with mode: 0644]
runit/Kbuild [new file with mode: 0644]
runit/chpst.c [new file with mode: 0644]
runit/runit_lib.c [new file with mode: 0644]
runit/runit_lib.h [new file with mode: 0644]
runit/runsv.c [new file with mode: 0644]
runit/runsvdir.c [new file with mode: 0644]
runit/sv.c [new file with mode: 0644]
runit/svlogd.c [new file with mode: 0644]
scripts/Kbuild [new file with mode: 0644]
scripts/Kbuild.include [new file with mode: 0644]
scripts/Makefile.IMA [new file with mode: 0644]
scripts/Makefile.build [new file with mode: 0644]
scripts/Makefile.clean [new file with mode: 0644]
scripts/Makefile.host [new file with mode: 0644]
scripts/Makefile.lib [new file with mode: 0644]
scripts/basic/Makefile [new file with mode: 0644]
scripts/basic/docproc.c [new file with mode: 0644]
scripts/basic/fixdep.c [new file with mode: 0644]
scripts/basic/split-include.c [new file with mode: 0644]
scripts/bb_release [new file with mode: 0755]
scripts/bloat-o-meter [new file with mode: 0755]
scripts/checkhelp.awk [new file with mode: 0755]
scripts/checkstack.pl [new file with mode: 0755]
scripts/cleanup_printf2puts [new file with mode: 0755]
scripts/defconfig [new file with mode: 0644]
scripts/find_bad_common_bufsiz [new file with mode: 0755]
scripts/find_stray_common_vars [new file with mode: 0755]
scripts/gcc-version.sh [new file with mode: 0755]
scripts/individual [new file with mode: 0755]
scripts/kconfig/Makefile [new file with mode: 0644]
scripts/kconfig/POTFILES.in [new file with mode: 0644]
scripts/kconfig/check.sh [new file with mode: 0755]
scripts/kconfig/conf.c [new file with mode: 0644]
scripts/kconfig/confdata.c [new file with mode: 0644]
scripts/kconfig/expr.c [new file with mode: 0644]
scripts/kconfig/expr.h [new file with mode: 0644]
scripts/kconfig/gconf.c [new file with mode: 0644]
scripts/kconfig/gconf.glade [new file with mode: 0644]
scripts/kconfig/images.c [new file with mode: 0644]
scripts/kconfig/kconfig_load.c [new file with mode: 0644]
scripts/kconfig/kxgettext.c [new file with mode: 0644]
scripts/kconfig/lex.zconf.c_shipped [new file with mode: 0644]
scripts/kconfig/lkc.h [new file with mode: 0644]
scripts/kconfig/lkc_proto.h [new file with mode: 0644]
scripts/kconfig/lxdialog/BIG.FAT.WARNING [new file with mode: 0644]
scripts/kconfig/lxdialog/Makefile [new file with mode: 0644]
scripts/kconfig/lxdialog/check-lxdialog.sh [new file with mode: 0644]
scripts/kconfig/lxdialog/checklist.c [new file with mode: 0644]
scripts/kconfig/lxdialog/colors.h [new file with mode: 0644]
scripts/kconfig/lxdialog/dialog.h [new file with mode: 0644]
scripts/kconfig/lxdialog/inputbox.c [new file with mode: 0644]
scripts/kconfig/lxdialog/lxdialog.c [new file with mode: 0644]
scripts/kconfig/lxdialog/menubox.c [new file with mode: 0644]
scripts/kconfig/lxdialog/msgbox.c [new file with mode: 0644]
scripts/kconfig/lxdialog/textbox.c [new file with mode: 0644]
scripts/kconfig/lxdialog/util.c [new file with mode: 0644]
scripts/kconfig/lxdialog/yesno.c [new file with mode: 0644]
scripts/kconfig/mconf.c [new file with mode: 0644]
scripts/kconfig/menu.c [new file with mode: 0644]
scripts/kconfig/qconf.cc [new file with mode: 0644]
scripts/kconfig/qconf.h [new file with mode: 0644]
scripts/kconfig/symbol.c [new file with mode: 0644]
scripts/kconfig/util.c [new file with mode: 0644]
scripts/kconfig/zconf.gperf [new file with mode: 0644]
scripts/kconfig/zconf.hash.c_shipped [new file with mode: 0644]
scripts/kconfig/zconf.l [new file with mode: 0644]
scripts/kconfig/zconf.tab.c_shipped [new file with mode: 0644]
scripts/kconfig/zconf.y [new file with mode: 0644]
scripts/mkconfigs [new file with mode: 0755]
scripts/mkmakefile [new file with mode: 0755]
scripts/objsizes [new file with mode: 0755]
scripts/showasm [new file with mode: 0755]
scripts/trylink [new file with mode: 0755]
selinux/Config.in [new file with mode: 0644]
selinux/Kbuild [new file with mode: 0644]
selinux/chcon.c [new file with mode: 0644]
selinux/getenforce.c [new file with mode: 0644]
selinux/getsebool.c [new file with mode: 0644]
selinux/load_policy.c [new file with mode: 0644]
selinux/matchpathcon.c [new file with mode: 0644]
selinux/runcon.c [new file with mode: 0644]
selinux/selinuxenabled.c [new file with mode: 0644]
selinux/sestatus.c [new file with mode: 0644]
selinux/setenforce.c [new file with mode: 0644]
selinux/setfiles.c [new file with mode: 0644]
selinux/setsebool.c [new file with mode: 0644]
shell/Config.in [new file with mode: 0644]
shell/Kbuild [new file with mode: 0644]
shell/README [new file with mode: 0644]
shell/README.job [new file with mode: 0644]
shell/ash.c [new file with mode: 0644]
shell/ash_doc.txt [new file with mode: 0644]
shell/ash_ptr_hack.c [new file with mode: 0644]
shell/ash_test/ash-alias/alias.right [new file with mode: 0644]
shell/ash_test/ash-alias/alias.tests [new file with mode: 0755]
shell/ash_test/ash-arith/README.ash [new file with mode: 0644]
shell/ash_test/ash-arith/arith-for.right [new file with mode: 0644]
shell/ash_test/ash-arith/arith-for.testsx [new file with mode: 0755]
shell/ash_test/ash-arith/arith.right [new file with mode: 0644]
shell/ash_test/ash-arith/arith.tests [new file with mode: 0755]
shell/ash_test/ash-arith/arith1.sub [new file with mode: 0755]
shell/ash_test/ash-arith/arith2.sub [new file with mode: 0755]
shell/ash_test/ash-heredoc/heredoc.right [new file with mode: 0644]
shell/ash_test/ash-heredoc/heredoc.tests [new file with mode: 0755]
shell/ash_test/ash-invert/invert.right [new file with mode: 0644]
shell/ash_test/ash-invert/invert.tests [new file with mode: 0755]
shell/ash_test/ash-redir/redir.right [new file with mode: 0644]
shell/ash_test/ash-redir/redir.tests [new file with mode: 0755]
shell/ash_test/ash-signals/signal1.right [new file with mode: 0644]
shell/ash_test/ash-signals/signal1.tests [new file with mode: 0755]
shell/ash_test/ash-vars/var1.right [new file with mode: 0644]
shell/ash_test/ash-vars/var1.tests [new file with mode: 0755]
shell/ash_test/ash-vars/var2.right [new file with mode: 0644]
shell/ash_test/ash-vars/var2.tests [new file with mode: 0755]
shell/ash_test/printenv.c [new file with mode: 0644]
shell/ash_test/recho.c [new file with mode: 0644]
shell/ash_test/run-all [new file with mode: 0755]
shell/ash_test/zecho.c [new file with mode: 0644]
shell/bbsh.c [new file with mode: 0644]
shell/cttyhack.c [new file with mode: 0644]
shell/hush.c [new file with mode: 0644]
shell/hush_doc.txt [new file with mode: 0644]
shell/hush_leaktool.sh [new file with mode: 0644]
shell/hush_test/hush-bugs/quote3.right [new file with mode: 0644]
shell/hush_test/hush-bugs/quote3.tests [new file with mode: 0755]
shell/hush_test/hush-bugs/tick.right [new file with mode: 0644]
shell/hush_test/hush-bugs/tick.tests [new file with mode: 0755]
shell/hush_test/hush-misc/read.right [new file with mode: 0644]
shell/hush_test/hush-misc/read.tests [new file with mode: 0755]
shell/hush_test/hush-misc/shift.right [new file with mode: 0644]
shell/hush_test/hush-misc/shift.tests [new file with mode: 0755]
shell/hush_test/hush-misc/syntax_err.right [new file with mode: 0644]
shell/hush_test/hush-misc/syntax_err.tests [new file with mode: 0755]
shell/hush_test/hush-parsing/argv0.right [new file with mode: 0644]
shell/hush_test/hush-parsing/argv0.tests [new file with mode: 0755]
shell/hush_test/hush-parsing/noeol.right [new file with mode: 0644]
shell/hush_test/hush-parsing/noeol.tests [new file with mode: 0755]
shell/hush_test/hush-parsing/noeol2.right [new file with mode: 0644]
shell/hush_test/hush-parsing/noeol2.tests [new file with mode: 0755]
shell/hush_test/hush-parsing/noeol3.right [new file with mode: 0644]
shell/hush_test/hush-parsing/noeol3.tests [new file with mode: 0755]
shell/hush_test/hush-parsing/process_subst.right [new file with mode: 0644]
shell/hush_test/hush-parsing/process_subst.tests [new file with mode: 0755]
shell/hush_test/hush-parsing/quote1.right [new file with mode: 0644]
shell/hush_test/hush-parsing/quote1.tests [new file with mode: 0755]
shell/hush_test/hush-parsing/quote2.right [new file with mode: 0644]
shell/hush_test/hush-parsing/quote2.tests [new file with mode: 0755]
shell/hush_test/hush-parsing/quote4.right [new file with mode: 0644]
shell/hush_test/hush-parsing/quote4.tests [new file with mode: 0755]
shell/hush_test/hush-parsing/starquoted.right [new file with mode: 0644]
shell/hush_test/hush-parsing/starquoted.tests [new file with mode: 0755]
shell/hush_test/hush-vars/star.right [new file with mode: 0644]
shell/hush_test/hush-vars/star.tests [new file with mode: 0755]
shell/hush_test/hush-vars/var.right [new file with mode: 0644]
shell/hush_test/hush-vars/var.tests [new file with mode: 0755]
shell/hush_test/hush-vars/var_expand_in_assign.right [new file with mode: 0644]
shell/hush_test/hush-vars/var_expand_in_assign.tests [new file with mode: 0755]
shell/hush_test/hush-vars/var_expand_in_redir.right [new file with mode: 0644]
shell/hush_test/hush-vars/var_expand_in_redir.tests [new file with mode: 0755]
shell/hush_test/hush-vars/var_subst_in_for.right [new file with mode: 0644]
shell/hush_test/hush-vars/var_subst_in_for.tests [new file with mode: 0755]
shell/hush_test/hush-z_slow/leak_var.right [new file with mode: 0644]
shell/hush_test/hush-z_slow/leak_var.tests [new file with mode: 0755]
shell/hush_test/run-all [new file with mode: 0755]
shell/hush_test/zbad [new file with mode: 0644]
shell/hush_test/zbad2 [new file with mode: 0644]
shell/lash_unused.c [new file with mode: 0644]
shell/msh.c [new file with mode: 0644]
shell/msh_test/msh-bugs/noeol3.right [new file with mode: 0644]
shell/msh_test/msh-bugs/noeol3.tests [new file with mode: 0755]
shell/msh_test/msh-bugs/process_subst.right [new file with mode: 0644]
shell/msh_test/msh-bugs/process_subst.tests [new file with mode: 0755]
shell/msh_test/msh-bugs/read.right [new file with mode: 0644]
shell/msh_test/msh-bugs/read.tests [new file with mode: 0755]
shell/msh_test/msh-bugs/shift.right [new file with mode: 0644]
shell/msh_test/msh-bugs/shift.tests [new file with mode: 0755]
shell/msh_test/msh-bugs/starquoted.right [new file with mode: 0644]
shell/msh_test/msh-bugs/starquoted.tests [new file with mode: 0755]
shell/msh_test/msh-bugs/syntax_err.right [new file with mode: 0644]
shell/msh_test/msh-bugs/syntax_err.tests [new file with mode: 0755]
shell/msh_test/msh-bugs/var_expand_in_assign.right [new file with mode: 0644]
shell/msh_test/msh-bugs/var_expand_in_assign.tests [new file with mode: 0755]
shell/msh_test/msh-bugs/var_expand_in_redir.right [new file with mode: 0644]
shell/msh_test/msh-bugs/var_expand_in_redir.tests [new file with mode: 0755]
shell/msh_test/msh-execution/nested_break.right [new file with mode: 0644]
shell/msh_test/msh-execution/nested_break.tests [new file with mode: 0755]
shell/msh_test/msh-misc/tick.right [new file with mode: 0644]
shell/msh_test/msh-misc/tick.tests [new file with mode: 0755]
shell/msh_test/msh-parsing/argv0.right [new file with mode: 0644]
shell/msh_test/msh-parsing/argv0.tests [new file with mode: 0755]
shell/msh_test/msh-parsing/noeol.right [new file with mode: 0644]
shell/msh_test/msh-parsing/noeol.tests [new file with mode: 0755]
shell/msh_test/msh-parsing/noeol2.right [new file with mode: 0644]
shell/msh_test/msh-parsing/noeol2.tests [new file with mode: 0755]
shell/msh_test/msh-parsing/quote1.right [new file with mode: 0644]
shell/msh_test/msh-parsing/quote1.tests [new file with mode: 0755]
shell/msh_test/msh-parsing/quote2.right [new file with mode: 0644]
shell/msh_test/msh-parsing/quote2.tests [new file with mode: 0755]
shell/msh_test/msh-parsing/quote3.right [new file with mode: 0644]
shell/msh_test/msh-parsing/quote3.tests [new file with mode: 0755]
shell/msh_test/msh-parsing/quote4.right [new file with mode: 0644]
shell/msh_test/msh-parsing/quote4.tests [new file with mode: 0755]
shell/msh_test/msh-vars/star.right [new file with mode: 0644]
shell/msh_test/msh-vars/star.tests [new file with mode: 0755]
shell/msh_test/msh-vars/var.right [new file with mode: 0644]
shell/msh_test/msh-vars/var.tests [new file with mode: 0755]
shell/msh_test/msh-vars/var_subst_in_for.right [new file with mode: 0644]
shell/msh_test/msh-vars/var_subst_in_for.tests [new file with mode: 0755]
shell/msh_test/run-all [new file with mode: 0755]
sysklogd/Config.in [new file with mode: 0644]
sysklogd/Kbuild [new file with mode: 0644]
sysklogd/klogd.c [new file with mode: 0644]
sysklogd/logger.c [new file with mode: 0644]
sysklogd/logread.c [new file with mode: 0644]
sysklogd/syslogd.c [new file with mode: 0644]
testsuite/README [new file with mode: 0644]
testsuite/TODO [new file with mode: 0644]
testsuite/all_sourcecode.tests [new file with mode: 0755]
testsuite/awk.tests [new file with mode: 0755]
testsuite/basename/basename-does-not-remove-identical-extension [new file with mode: 0644]
testsuite/basename/basename-works [new file with mode: 0644]
testsuite/bunzip2.tests [new file with mode: 0755]
testsuite/bunzip2/bunzip2-reads-from-standard-input [new file with mode: 0644]
testsuite/bunzip2/bunzip2-removes-compressed-file [new file with mode: 0644]
testsuite/bunzip2/bzcat-does-not-remove-compressed-file [new file with mode: 0644]
testsuite/busybox.tests [new file with mode: 0755]
testsuite/bzcat.tests [new file with mode: 0755]
testsuite/cat/cat-prints-a-file [new file with mode: 0644]
testsuite/cat/cat-prints-a-file-and-standard-input [new file with mode: 0644]
testsuite/cmp/cmp-detects-difference [new file with mode: 0644]
testsuite/cp/cp-a-files-to-dir [new file with mode: 0644]
testsuite/cp/cp-a-preserves-links [new file with mode: 0644]
testsuite/cp/cp-copies-empty-file [new file with mode: 0644]
testsuite/cp/cp-copies-large-file [new file with mode: 0644]
testsuite/cp/cp-copies-small-file [new file with mode: 0644]
testsuite/cp/cp-d-files-to-dir [new file with mode: 0644]
testsuite/cp/cp-dir-create-dir [new file with mode: 0644]
testsuite/cp/cp-dir-existing-dir [new file with mode: 0644]
testsuite/cp/cp-does-not-copy-unreadable-file [new file with mode: 0644]
testsuite/cp/cp-files-to-dir [new file with mode: 0644]
testsuite/cp/cp-follows-links [new file with mode: 0644]
testsuite/cp/cp-preserves-hard-links [new file with mode: 0644]
testsuite/cp/cp-preserves-links [new file with mode: 0644]
testsuite/cp/cp-preserves-source-file [new file with mode: 0644]
testsuite/cut.tests [new file with mode: 0755]
testsuite/cut/cut-cuts-a-character [new file with mode: 0644]
testsuite/cut/cut-cuts-a-closed-range [new file with mode: 0644]
testsuite/cut/cut-cuts-a-field [new file with mode: 0644]
testsuite/cut/cut-cuts-an-open-range [new file with mode: 0644]
testsuite/cut/cut-cuts-an-unclosed-range [new file with mode: 0644]
testsuite/date/date-R-works [new file with mode: 0644]
testsuite/date/date-format-works [new file with mode: 0644]
testsuite/date/date-u-works [new file with mode: 0644]
testsuite/date/date-works [new file with mode: 0644]
testsuite/dd/dd-accepts-if [new file with mode: 0644]
testsuite/dd/dd-accepts-of [new file with mode: 0644]
testsuite/dd/dd-copies-from-standard-input-to-standard-output [new file with mode: 0644]
testsuite/dd/dd-prints-count-to-standard-error [new file with mode: 0644]
testsuite/dd/dd-reports-write-errors [new file with mode: 0644]
testsuite/dirname/dirname-handles-absolute-path [new file with mode: 0644]
testsuite/dirname/dirname-handles-empty-path [new file with mode: 0644]
testsuite/dirname/dirname-handles-multiple-slashes [new file with mode: 0644]
testsuite/dirname/dirname-handles-relative-path [new file with mode: 0644]
testsuite/dirname/dirname-handles-root [new file with mode: 0644]
testsuite/dirname/dirname-handles-single-component [new file with mode: 0644]
testsuite/dirname/dirname-works [new file with mode: 0644]
testsuite/du/du-h-works [new file with mode: 0644]
testsuite/du/du-k-works [new file with mode: 0644]
testsuite/du/du-l-works [new file with mode: 0644]
testsuite/du/du-m-works [new file with mode: 0644]
testsuite/du/du-s-works [new file with mode: 0644]
testsuite/du/du-works [new file with mode: 0644]
testsuite/echo/echo-does-not-print-newline [new file with mode: 0644]
testsuite/echo/echo-prints-argument [new file with mode: 0644]
testsuite/echo/echo-prints-arguments [new file with mode: 0644]
testsuite/echo/echo-prints-newline [new file with mode: 0644]
testsuite/expand/expand-works-like-GNU [new file with mode: 0644]
testsuite/expr/expr-works [new file with mode: 0644]
testsuite/false/false-is-silent [new file with mode: 0644]
testsuite/false/false-returns-failure [new file with mode: 0644]
testsuite/find/find-supports-minus-xdev [new file with mode: 0644]
testsuite/grep.tests [new file with mode: 0755]
testsuite/gunzip.tests [new file with mode: 0755]
testsuite/gunzip/gunzip-reads-from-standard-input [new file with mode: 0644]
testsuite/gzip/gzip-accepts-multiple-files [new file with mode: 0644]
testsuite/gzip/gzip-accepts-single-minus [new file with mode: 0644]
testsuite/gzip/gzip-removes-original-file [new file with mode: 0644]
testsuite/head/head-n-works [new file with mode: 0644]
testsuite/head/head-works [new file with mode: 0644]
testsuite/hostid/hostid-works [new file with mode: 0644]
testsuite/hostname/hostname-d-works [new file with mode: 0644]
testsuite/hostname/hostname-i-works [new file with mode: 0644]
testsuite/hostname/hostname-s-works [new file with mode: 0644]
testsuite/hostname/hostname-works [new file with mode: 0644]
testsuite/id/id-g-works [new file with mode: 0644]
testsuite/id/id-u-works [new file with mode: 0644]
testsuite/id/id-un-works [new file with mode: 0644]
testsuite/id/id-ur-works [new file with mode: 0644]
testsuite/ln/ln-creates-hard-links [new file with mode: 0644]
testsuite/ln/ln-creates-soft-links [new file with mode: 0644]
testsuite/ln/ln-force-creates-hard-links [new file with mode: 0644]
testsuite/ln/ln-force-creates-soft-links [new file with mode: 0644]
testsuite/ln/ln-preserves-hard-links [new file with mode: 0644]
testsuite/ln/ln-preserves-soft-links [new file with mode: 0644]
testsuite/ls/ls-1-works [new file with mode: 0644]
testsuite/ls/ls-h-works [new file with mode: 0644]
testsuite/ls/ls-l-works [new file with mode: 0644]
testsuite/ls/ls-s-works [new file with mode: 0644]
testsuite/md5sum/md5sum-verifies-non-binary-file [new file with mode: 0644]
testsuite/mkdir/mkdir-makes-a-directory [new file with mode: 0644]
testsuite/mkdir/mkdir-makes-parent-directories [new file with mode: 0644]
testsuite/mkfs.minix.tests [new file with mode: 0755]
testsuite/mount.testroot [new file with mode: 0755]
testsuite/msh/msh-supports-underscores-in-variable-names [new file with mode: 0644]
testsuite/mv/mv-files-to-dir [new file with mode: 0644]
testsuite/mv/mv-follows-links [new file with mode: 0644]
testsuite/mv/mv-moves-empty-file [new file with mode: 0644]
testsuite/mv/mv-moves-file [new file with mode: 0644]
testsuite/mv/mv-moves-hardlinks [new file with mode: 0644]
testsuite/mv/mv-moves-large-file [new file with mode: 0644]
testsuite/mv/mv-moves-small-file [new file with mode: 0644]
testsuite/mv/mv-moves-symlinks [new file with mode: 0644]
testsuite/mv/mv-moves-unreadable-files [new file with mode: 0644]
testsuite/mv/mv-preserves-hard-links [new file with mode: 0644]
testsuite/mv/mv-preserves-links [new file with mode: 0644]
testsuite/mv/mv-refuses-mv-dir-to-subdir [new file with mode: 0644]
testsuite/mv/mv-removes-source-file [new file with mode: 0644]
testsuite/pidof.tests [new file with mode: 0755]
testsuite/pwd/pwd-prints-working-directory [new file with mode: 0644]
testsuite/readlink.tests [new file with mode: 0755]
testsuite/rm/rm-removes-file [new file with mode: 0644]
testsuite/rmdir/rmdir-removes-parent-directories [new file with mode: 0644]
testsuite/runtest [new file with mode: 0755]
testsuite/sed.tests [new file with mode: 0755]
testsuite/seq.tests [new file with mode: 0755]
testsuite/sort.tests [new file with mode: 0755]
testsuite/strings/strings-works-like-GNU [new file with mode: 0644]
testsuite/sum.tests [new file with mode: 0755]
testsuite/tail/tail-n-works [new file with mode: 0644]
testsuite/tail/tail-works [new file with mode: 0644]
testsuite/tar/tar-archives-multiple-files [new file with mode: 0644]
testsuite/tar/tar-complains-about-missing-file [new file with mode: 0644]
testsuite/tar/tar-demands-at-least-one-ctx [new file with mode: 0644]
testsuite/tar/tar-demands-at-most-one-ctx [new file with mode: 0644]
testsuite/tar/tar-extracts-all-subdirs [new file with mode: 0644]
testsuite/tar/tar-extracts-file [new file with mode: 0644]
testsuite/tar/tar-extracts-from-standard-input [new file with mode: 0644]
testsuite/tar/tar-extracts-multiple-files [new file with mode: 0644]
testsuite/tar/tar-extracts-to-standard-output [new file with mode: 0644]
testsuite/tar/tar-handles-cz-options [new file with mode: 0644]
testsuite/tar/tar-handles-empty-include-and-non-empty-exclude-list [new file with mode: 0644]
testsuite/tar/tar-handles-exclude-and-extract-lists [new file with mode: 0644]
testsuite/tar/tar-handles-multiple-X-options [new file with mode: 0644]
testsuite/tar/tar-handles-nested-exclude [new file with mode: 0644]
testsuite/taskset.tests [new file with mode: 0755]
testsuite/tee/tee-appends-input [new file with mode: 0644]
testsuite/tee/tee-tees-input [new file with mode: 0644]
testsuite/test.tests [new file with mode: 0755]
testsuite/testing.sh [new file with mode: 0755]
testsuite/touch/touch-creates-file [new file with mode: 0644]
testsuite/touch/touch-does-not-create-file [new file with mode: 0644]
testsuite/touch/touch-touches-files-after-non-existent-file [new file with mode: 0644]
testsuite/tr/tr-d-alnum-works [new file with mode: 0644]
testsuite/tr/tr-d-works [new file with mode: 0644]
testsuite/tr/tr-non-gnu [new file with mode: 0644]
testsuite/tr/tr-rejects-wrong-class [new file with mode: 0644]
testsuite/tr/tr-works [new file with mode: 0644]
testsuite/true/true-is-silent [new file with mode: 0644]
testsuite/true/true-returns-success [new file with mode: 0644]
testsuite/umlwrapper.sh [new file with mode: 0755]
testsuite/unexpand/unexpand-works-like-GNU [new file with mode: 0644]
testsuite/uniq.tests [new file with mode: 0755]
testsuite/unzip.tests [new file with mode: 0755]
testsuite/uptime/uptime-works [new file with mode: 0644]
testsuite/uuencode.tests [new file with mode: 0755]
testsuite/wc/wc-counts-all [new file with mode: 0644]
testsuite/wc/wc-counts-characters [new file with mode: 0644]
testsuite/wc/wc-counts-lines [new file with mode: 0644]
testsuite/wc/wc-counts-words [new file with mode: 0644]
testsuite/wc/wc-prints-longest-line-length [new file with mode: 0644]
testsuite/wget/wget--O-overrides--P [new file with mode: 0644]
testsuite/wget/wget-handles-empty-path [new file with mode: 0644]
testsuite/wget/wget-retrieves-google-index [new file with mode: 0644]
testsuite/wget/wget-supports--P [new file with mode: 0644]
testsuite/which/which-uses-default-path [new file with mode: 0644]
testsuite/xargs/xargs-works [new file with mode: 0644]
util-linux/Config.in [new file with mode: 0644]
util-linux/Kbuild [new file with mode: 0644]
util-linux/dmesg.c [new file with mode: 0644]
util-linux/fbset.c [new file with mode: 0644]
util-linux/fdformat.c [new file with mode: 0644]
util-linux/fdisk.c [new file with mode: 0644]
util-linux/fdisk_aix.c [new file with mode: 0644]
util-linux/fdisk_osf.c [new file with mode: 0644]
util-linux/fdisk_sgi.c [new file with mode: 0644]
util-linux/fdisk_sun.c [new file with mode: 0644]
util-linux/findfs.c [new file with mode: 0644]
util-linux/freeramdisk.c [new file with mode: 0644]
util-linux/fsck_minix.c [new file with mode: 0644]
util-linux/getopt.c [new file with mode: 0644]
util-linux/hexdump.c [new file with mode: 0644]
util-linux/hwclock.c [new file with mode: 0644]
util-linux/ipcrm.c [new file with mode: 0644]
util-linux/ipcs.c [new file with mode: 0644]
util-linux/losetup.c [new file with mode: 0644]
util-linux/mdev.c [new file with mode: 0644]
util-linux/minix.h [new file with mode: 0644]
util-linux/mkfs_minix.c [new file with mode: 0644]
util-linux/mkswap.c [new file with mode: 0644]
util-linux/more.c [new file with mode: 0644]
util-linux/mount.c [new file with mode: 0644]
util-linux/pivot_root.c [new file with mode: 0644]
util-linux/rdate.c [new file with mode: 0644]
util-linux/readprofile.c [new file with mode: 0644]
util-linux/rtcwake.c [new file with mode: 0644]
util-linux/script.c [new file with mode: 0644]
util-linux/setarch.c [new file with mode: 0644]
util-linux/swaponoff.c [new file with mode: 0644]
util-linux/switch_root.c [new file with mode: 0644]
util-linux/umount.c [new file with mode: 0644]
util-linux/volume_id/Kbuild [new file with mode: 0644]
util-linux/volume_id/cramfs.c [new file with mode: 0644]
util-linux/volume_id/ext.c [new file with mode: 0644]
util-linux/volume_id/fat.c [new file with mode: 0644]
util-linux/volume_id/get_devname.c [new file with mode: 0644]
util-linux/volume_id/hfs.c [new file with mode: 0644]
util-linux/volume_id/iso9660.c [new file with mode: 0644]
util-linux/volume_id/jfs.c [new file with mode: 0644]
util-linux/volume_id/linux_raid.c [new file with mode: 0644]
util-linux/volume_id/linux_swap.c [new file with mode: 0644]
util-linux/volume_id/luks.c [new file with mode: 0644]
util-linux/volume_id/ntfs.c [new file with mode: 0644]
util-linux/volume_id/ocfs2.c [new file with mode: 0644]
util-linux/volume_id/reiserfs.c [new file with mode: 0644]
util-linux/volume_id/romfs.c [new file with mode: 0644]
util-linux/volume_id/sysv.c [new file with mode: 0644]
util-linux/volume_id/udf.c [new file with mode: 0644]
util-linux/volume_id/unused_highpoint.c [new file with mode: 0644]
util-linux/volume_id/unused_hpfs.c [new file with mode: 0644]
util-linux/volume_id/unused_isw_raid.c [new file with mode: 0644]
util-linux/volume_id/unused_lsi_raid.c [new file with mode: 0644]
util-linux/volume_id/unused_lvm.c [new file with mode: 0644]
util-linux/volume_id/unused_mac.c [new file with mode: 0644]
util-linux/volume_id/unused_minix.c [new file with mode: 0644]
util-linux/volume_id/unused_msdos.c [new file with mode: 0644]
util-linux/volume_id/unused_nvidia_raid.c [new file with mode: 0644]
util-linux/volume_id/unused_promise_raid.c [new file with mode: 0644]
util-linux/volume_id/unused_silicon_raid.c [new file with mode: 0644]
util-linux/volume_id/unused_ufs.c [new file with mode: 0644]
util-linux/volume_id/unused_via_raid.c [new file with mode: 0644]
util-linux/volume_id/util.c [new file with mode: 0644]
util-linux/volume_id/volume_id.c [new file with mode: 0644]
util-linux/volume_id/volume_id_internal.h [new file with mode: 0644]
util-linux/volume_id/xfs.c [new file with mode: 0644]

diff --git a/.indent.pro b/.indent.pro
new file mode 100644 (file)
index 0000000..492ecf1
--- /dev/null
@@ -0,0 +1,33 @@
+--blank-lines-after-declarations
+--blank-lines-after-procedures
+--break-before-boolean-operator
+--no-blank-lines-after-commas
+--braces-on-if-line
+--braces-on-struct-decl-line
+--comment-indentation25
+--declaration-comment-column25
+--no-comment-delimiters-on-blank-lines
+--cuddle-else
+--continuation-indentation4
+--case-indentation0
+--else-endif-column33
+--space-after-cast
+--line-comments-indentation0
+--declaration-indentation1
+--dont-format-first-column-comments
+--dont-format-comments
+--honour-newlines
+--indent-level4
+/* changed from 0 to 4 */
+--parameter-indentation4
+--line-length78 /* changed from 75 */
+--continue-at-parentheses
+--no-space-after-function-call-names
+--dont-break-procedure-type
+--dont-star-comments
+--leave-optional-blank-lines
+--dont-space-special-semicolon
+--tab-size4
+/* additions by Mark */
+--case-brace-indentation0
+--leave-preprocessor-space
diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..9755ad9
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,173 @@
+List of the authors of code contained in BusyBox.
+
+If you have code in BusyBox, you should be listed here.  If you should be
+listed, or the description of what you have done needs more detail, or is
+incorrect, _please_ let me know.
+
+ -Erik
+
+-----------
+
+Peter Willis <psyphreak@phreaker.net>
+    eject
+
+Emanuele Aina <emanuele.aina@tiscali.it>
+    run-parts
+
+Erik Andersen <andersen@codepoet.org>
+    Tons of new stuff, major rewrite of most of the
+    core apps, tons of new apps as noted in header files.
+    Lots of tedious effort writing these boring docs that
+    nobody is going to actually read.
+
+Laurence Anderson <l.d.anderson@warwick.ac.uk>
+    rpm2cpio, unzip, get_header_cpio, read_gz interface, rpm
+
+Jeff Angielski <jeff@theptrgroup.com>
+    ftpput, ftpget
+
+Enrik Berkhan <Enrik.Berkhan@inka.de>
+    setconsole
+
+Jim Bauer <jfbauer@nfr.com>
+    modprobe shell dependency
+
+Edward Betts <edward@debian.org>
+    expr, hostid, logname, whoami
+
+John Beppu <beppu@codepoet.org>
+    du, nslookup, sort
+
+David Brownell <dbrownell@users.sourceforge.net>
+    zcip
+
+Brian Candler <B.Candler@pobox.com>
+    tiny-ls(ls)
+
+Randolph Chung <tausq@debian.org>
+    fbset, ping, hostname
+
+Dave Cinege <dcinege@psychosis.com>
+    more(v2), makedevs, dutmp, modularization, auto links file,
+    various fixes, Linux Router Project maintenance
+
+Jordan Crouse <jordan@cosmicpenguin.net>
+    ipcalc
+
+Magnus Damm <damm@opensource.se>
+    tftp client
+    insmod powerpc support
+
+Larry Doolittle <ldoolitt@recycle.lbl.gov>
+    pristine source directory compilation, lots of patches and fixes.
+
+Glenn Engel <glenne@engel.org>
+    httpd
+
+Gennady Feldman <gfeldman@gena01.com>
+    Sysklogd (single threaded syslogd, IPC Circular buffer support,
+    logread), various fixes.
+
+Robert Griebl <sandman@handhelds.org>
+    modprobe, hwclock, suid/sgid handling, tinylogin integration
+    many bugfixes and enhancements
+
+Karl M. Hegbloom <karlheg@debian.org>
+    cp_mv.c, the test suite, various fixes to utility.c, &c.
+
+Daniel Jacobowitz <dan@debian.org>
+    mktemp.c
+
+Matt Kraai <kraai@alumni.cmu.edu>
+    documentation, bugfixes, test suite
+
+Rob Landley <rob@landley.net>
+    Became busybox maintainer in 2006.
+
+    sed (major rewrite in 2003, and I now maintain the thing)
+    bunzip2 (complete from-scratch rewrite, then mjn3 optimized the result)
+    sort (more or less from scratch rewrite in 2004, I now maintain it)
+    mount (rewrite in 2005, I maintain the new one)
+
+Stephan Linz <linz@li-pro.net>
+    ipcalc, Red Hat equivalence
+
+John Lombardo <john@deltanet.com>
+    tr
+
+Glenn McGrath <glenn.l.mcgrath@gmail.com>
+    Common unarchiving code and unarchiving applets, ifupdown, ftpgetput,
+    nameif, sed, patch, fold, install, uudecode.
+    Various bugfixes, review and apply numerous patches.
+
+Manuel Novoa III <mjn3@codepoet.org>
+    cat, head, mkfifo, mknod, rmdir, sleep, tee, tty, uniq, usleep, wc, yes,
+    mesg, vconfig, nice, renice,
+    make_directory, parse_mode, dirname, mode_string,
+    get_last_path_component, simplify_path, and a number trivial libbb routines
+
+    also bug fixes, partial rewrites, and size optimizations in
+    ash, basename, cal, cmp, cp, df, du, echo, env, ln, logname, md5sum, mkdir,
+    mv, realpath, rm, sort, tail, touch, uname, watch, arith, human_readable,
+    interface, dutmp, ifconfig, route
+
+Vladimir Oleynik <dzo@simtreas.ru>
+    cmdedit; bb_mkdep, xargs(current), httpd(current);
+    ports: ash, crond, fdisk (initial, unmaintained now), inetd, stty, traceroute,
+    top;
+    locale, various fixes
+    and irreconcilable critic of everything not perfect.
+
+Bruce Perens <bruce@pixar.com>
+    Original author of BusyBox in 1995, 1996. Some of his code can
+    still be found hiding here and there...
+
+Rodney Radford <rradford@mindspring.com>
+    ipcs, ipcrm
+
+Tim Riker <Tim@Rikers.org>
+    bug fixes, member of fan club
+
+Kent Robotti <robotti@metconnect.com>
+    reset, tons and tons of bug reports and patches.
+
+Chip Rosenthal <chip@unicom.com>, <crosenth@covad.com>
+    wget - Contributed by permission of Covad Communications
+
+Pavel Roskin <proski@gnu.org>
+    Lots of bugs fixes and patches.
+
+Gyepi Sam <gyepi@praxis-sw.com>
+    Remote logging feature for syslogd
+
+Rob Sullivan <cogito.ergo.cogito@gmail.com>
+    comm
+
+Linus Torvalds
+    mkswap, fsck.minix, mkfs.minix
+
+Mark Whitley <markw@codepoet.org>
+    grep, sed, cut, xargs(previous),
+    style-guide, new-applet-HOWTO, bug fixes, etc.
+
+Charles P. Wright <cpwright@villagenet.com>
+    gzip, mini-netcat(nc)
+
+Enrique Zanardi <ezanardi@ull.es>
+    tarcat (since removed), loadkmap, various fixes, Debian maintenance
+
+Tito Ragusa <farmatito@tiscali.it>
+    devfsd and size optimizations in strings, openvt, chvt, deallocvt, hdparm,
+    fdformat, lsattr, chattr, id and eject.
+
+Paul Fox <pgf@foxharp.boston.ma.us>
+    vi editing mode for ash, various other patches/fixes
+
+Roberto A. Foglietta <me@roberto.foglietta.name>
+    port: dnsd
+
+Bernhard Fischer <rep.nop@aon.at>
+    misc
+
+Mike Frysinger <vapier@gentoo.org>
+    initial e2fsprogs, printenv, setarch, sum, misc
diff --git a/Config.in b/Config.in
new file mode 100644 (file)
index 0000000..a3354eb
--- /dev/null
+++ b/Config.in
@@ -0,0 +1,569 @@
+#
+# For a description of the syntax of this configuration file,
+# see scripts/kbuild/config-language.txt.
+#
+
+mainmenu "BusyBox Configuration"
+
+config HAVE_DOT_CONFIG
+       bool
+       default y
+
+menu "Busybox Settings"
+
+menu "General Configuration"
+
+config NITPICK
+       bool "See lots more (probably unnecessary) configuration options."
+       default n
+       help
+         Some BusyBox applets have more configuration options than anyone
+         will ever care about.  To avoid drowining people in complexity, most
+         of the applet features that can be set to a sane default value are
+         hidden, unless you hit the above switch.
+
+         This is better than to telling people to edit the busybox source
+         code, but not by much.
+
+         See http://en.wikipedia.org/wiki/Fibber_McGee_and_Molly#The_Closet
+
+         You have been warned.
+
+config DESKTOP
+       bool "Enable options for full-blown desktop systems"
+       default n
+       help
+         Enable options and features which are not essential.
+         Select this only if you plan to use busybox on full-blown
+         desktop machine with common Linux distro, not on an embedded box.
+
+choice
+       prompt "Buffer allocation policy"
+       default FEATURE_BUFFERS_USE_MALLOC
+       depends on NITPICK
+       help
+         There are 3 ways BusyBox can handle buffer allocations:
+         - Use malloc. This costs code size for the call to xmalloc.
+         - Put them on stack. For some very small machines with limited stack
+           space, this can be deadly.  For most folks, this works just fine.
+         - Put them in BSS. This works beautifully for computers with a real
+           MMU (and OS support), but wastes runtime RAM for uCLinux. This
+           behavior was the only one available for BusyBox versions 0.48 and
+           earlier.
+
+config FEATURE_BUFFERS_USE_MALLOC
+       bool "Allocate with Malloc"
+
+config FEATURE_BUFFERS_GO_ON_STACK
+       bool "Allocate on the Stack"
+
+config FEATURE_BUFFERS_GO_IN_BSS
+       bool "Allocate in the .bss section"
+
+endchoice
+
+config SHOW_USAGE
+       bool "Show terse applet usage messages"
+       default y
+       help
+         All BusyBox applets will show help messages when invoked with
+         wrong arguments. You can turn off printing these terse usage
+         messages if you say no here.
+         This will save you up to 7k.
+
+config FEATURE_VERBOSE_USAGE
+       bool "Show verbose applet usage messages"
+       default n
+       select SHOW_USAGE
+       help
+         All BusyBox applets will show more verbose help messages when
+         busybox is invoked with --help.  This will add a lot of text to the
+         busybox binary.  In the default configuration, this will add about
+         13k, but it can add much more depending on your configuration.
+
+config FEATURE_COMPRESS_USAGE
+       bool "Store applet usage messages in compressed form"
+       default y
+       depends on SHOW_USAGE
+       help
+         Store usage messages in compressed form, uncompress them on-the-fly
+         when <applet> --help is called.
+
+         If you have a really tiny busybox with few applets enabled (and
+         bunzip2 isn't one of them), the overhead of the decompressor might
+         be noticeable.  Also, if you run executables directly from ROM
+         and have very little memory, this might not be a win.  Otherwise,
+         you probably want this.
+
+config FEATURE_INSTALLER
+       bool "Support --install [-s] to install applet links at runtime"
+       default n
+       help
+         Enable 'busybox --install [-s]' support.  This will allow you to use
+         busybox at runtime to create hard links or symlinks for all the
+         applets that are compiled into busybox.
+
+config LOCALE_SUPPORT
+       bool "Enable locale support (system needs locale for this to work)"
+       default n
+       help
+         Enable this if your system has locale support and you would like
+         busybox to support locale settings.
+
+config GETOPT_LONG
+       bool "Support for --long-options"
+       default y
+       help
+         Enable this if you want busybox applets to use the gnu --long-option
+         style, in addition to single character -a -b -c style options.
+
+config FEATURE_DEVPTS
+       bool "Use the devpts filesystem for Unix98 PTYs"
+       default y
+       help
+         Enable if you want BusyBox to use Unix98 PTY support. If enabled,
+         busybox will use /dev/ptmx for the master side of the pseudoterminal
+         and /dev/pts/<number> for the slave side.  Otherwise, BSD style
+         /dev/ttyp<number> will be used. To use this option, you should have
+         devpts mounted.
+
+config FEATURE_CLEAN_UP
+       bool "Clean up all memory before exiting (usually not needed)"
+       default n
+       depends on NITPICK
+       help
+         As a size optimization, busybox normally exits without explicitly
+         freeing dynamically allocated memory or closing files.  This saves
+         space since the OS will clean up for us, but it can confuse debuggers
+         like valgrind, which report tons of memory and resource leaks.
+
+         Don't enable this unless you have a really good reason to clean
+         things up manually.
+
+config FEATURE_PIDFILE
+       bool "Support writing pidfiles"
+       default n
+       help
+         This option makes some applets (e.g. crond, syslogd, inetd) write
+         a pidfile in /var/run. Some applications rely on them.
+
+config FEATURE_SUID
+       bool "Support for SUID/SGID handling"
+       default n
+       help
+         With this option you can install the busybox binary belonging
+         to root with the suid bit set, and it'll and it'll automatically drop
+         priviledges for applets that don't need root access.
+
+         If you're really paranoid and don't want to do this, build two
+         busybox binaries with different applets in them (and the appropriate
+         symlinks pointing to each binary), and only set the suid bit on the
+         one that needs it.  The applets currently marked to need the suid bit
+         are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs,
+         and vlock.
+
+config FEATURE_SUID_CONFIG
+       bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
+       default n if FEATURE_SUID
+       depends on FEATURE_SUID
+       help
+         Allow the SUID / SGID state of an applet to be determined at runtime
+         by checking /etc/busybox.conf.  (This is sort of a poor man's sudo.)
+         The format of this file is as follows:
+
+         <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
+
+         An example might help:
+
+         [SUID]
+         su = ssx root.0 # applet su can be run by anyone and runs with euid=0/egid=0
+         su = ssx        # exactly the same
+
+         mount = sx- root.disk # applet mount can be run by root and members of group disk
+                               # and runs with euid=0
+
+         cp = --- # disable applet cp for everyone
+
+         The file has to be owned by user root, group root and has to be
+         writeable only by root:
+               (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
+         The busybox executable has to be owned by user root, group
+         root and has to be setuid root for this to work:
+               (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
+
+         Robert 'sandman' Griebl has more information here:
+         <url: http://www.softforge.de/bb/suid.html >.
+
+config FEATURE_SUID_CONFIG_QUIET
+       bool "Suppress warning message if /etc/busybox.conf is not readable"
+       default y
+       depends on FEATURE_SUID_CONFIG
+       help
+         /etc/busybox.conf should be readable by the user needing the SUID, check
+         this option to avoid users to be notified about missing permissions.
+
+config SELINUX
+       bool "Support NSA Security Enhanced Linux"
+       default n
+       help
+         Enable support for SELinux in applets ls, ps, and id.  Also provide
+         the option of compiling in SELinux applets.
+
+         If you do not have a complete SELinux userland installed, this stuff
+         will not compile. Go visit
+               http://www.nsa.gov/selinux/index.html
+         to download the necessary stuff to allow busybox to compile with
+         this option enabled. Specifially, libselinux 1.28 or better is
+         directly required by busybox. If the installation is located in a
+         non-standard directory, provide it by invoking make as follows:
+               CFLAGS=-I<libselinux-include-path> \
+               LDFLAGS=-L<libselinux-lib-path> \
+               make
+
+         Most people will leave this set to 'N'.
+
+config FEATURE_PREFER_APPLETS
+       bool "exec prefers applets"
+       default n
+       help
+         This is an experimental option which directs applets about to
+         call 'exec' to try and find an applicable busybox applet before
+         searching the PATH. This is typically done by exec'ing
+         /proc/self/exe.
+         This may affect shell, find -exec, xargs and similar applets.
+         They will use applets even if /bin/<applet> -> busybox link
+         is missing (or is not a link to busybox). However, this causes
+         problems in chroot jails without mounted /proc and with ps/top
+         (command name can be shown as 'exe' for applets started this way).
+
+config BUSYBOX_EXEC_PATH
+       string "Path to BusyBox executable"
+       default "/proc/self/exe"
+       help
+         When Busybox applets need to run other busybox applets, BusyBox
+         sometimes needs to exec() itself.  When the /proc filesystem is
+         mounted, /proc/self/exe always points to the currently running
+         executable.  If you haven't got /proc, set this to wherever you
+         want to run BusyBox from.
+
+# These are auto-selected by other options
+
+config FEATURE_SYSLOG
+       bool "Support for logging to syslog"
+       default n
+       help
+         This option is auto-selected when you select any applet which may
+         send its output to syslog. You do not need to select it manually.
+
+config FEATURE_HAVE_RPC
+       bool "RPC support"
+       default n
+       help
+         This is automatically selected if any of enabled applets need it.
+         You do not need to select it manually.
+
+endmenu
+
+menu 'Build Options'
+
+config STATIC
+       bool "Build BusyBox as a static binary (no shared libs)"
+       default n
+       help
+         If you want to build a static BusyBox binary, which does not
+         use or require any shared libraries, then enable this option.
+         This can cause BusyBox to be considerably larger, so you should
+         leave this option false unless you have a good reason (i.e.
+         your target platform does not support shared libraries, or
+         you are building an initrd which doesn't need anything but
+         BusyBox, etc).
+
+         Most people will leave this set to 'N'.
+
+config NOMMU
+       bool "Force NOMMU build"
+       default n
+       help
+         Busybox tries to detect whether architecture it is being
+         built against supports MMU or not. If this detection fails,
+         or if you want to build NOMMU version of busybox for testing,
+         you may force NOMMU build here.
+
+         Most people will leave this set to 'N'.
+
+config BUILD_LIBBUSYBOX
+       bool "Build shared libbusybox"
+       default n
+       depends on !FEATURE_PREFER_APPLETS
+       help
+         Build a shared library libbusybox.so.N.N.N which contains all
+         busybox code.
+
+         This feature allows every applet to be built as a tiny
+         separate executable.  Enabling it for "one big busybox binary"
+         approach serves no purpose and increases code size.
+         You should almost certainly say "no" to this.
+
+### config FEATURE_FULL_LIBBUSYBOX
+###    bool "Feature-complete libbusybox"
+###    default n if !FEATURE_SHARED_BUSYBOX
+###    depends on BUILD_LIBBUSYBOX
+###    help
+###      Build a libbusybox with the complete feature-set, disregarding
+###      the actually selected config.
+###
+###      Normally, libbusybox will only contain the features which are
+###      used by busybox itself. If you plan to write a separate
+###      standalone application which uses libbusybox say 'Y'.
+###
+###      Note: libbusybox is GPL, not LGPL, and exports no stable API that
+###      might act as a copyright barrier.  We can and will modify the
+###      exported function set between releases (even minor version number
+###      changes), and happily break out-of-tree features.
+###
+###      Say 'N' if in doubt.
+
+config FEATURE_INDIVIDUAL
+       bool "Produce a binary for each applet, linked against libbusybox"
+       default y
+       depends on !STATIC && BUILD_LIBBUSYBOX
+       help
+         If your CPU architecture doesn't allow for sharing text/rodata
+         sections of running binaries, but allows for runtime dynamic
+         libraries, this option will allow you to reduce memory footprint
+         when you have many different applets running at once.
+
+         If your CPU architecture allows for sharing text/rodata,
+         having single binary is more optimal.
+
+         Each applet will be a tiny program, dynamically linked
+         against libbusybox.so.N.N.N.
+
+         You need to have a working dynamic linker.
+
+config FEATURE_SHARED_BUSYBOX
+       bool "Produce additional busybox binary linked against libbusybox"
+       default y
+       depends on !STATIC && BUILD_LIBBUSYBOX
+       help
+         Build busybox, dynamically linked against libbusybox.so.N.N.N.
+
+         You need to have a working dynamic linker.
+
+### config BUILD_AT_ONCE
+###    bool "Compile all sources at once"
+###    default n
+###    help
+###      Normally each source-file is compiled with one invocation of
+###      the compiler.
+###      If you set this option, all sources are compiled at once.
+###      This gives the compiler more opportunities to optimize which can
+###      result in smaller and/or faster binaries.
+###
+###      Setting this option will consume alot of memory, e.g. if you
+###      enable all applets with all features, gcc uses more than 300MB
+###      RAM during compilation of busybox.
+###
+###      This option is most likely only beneficial for newer compilers
+###      such as gcc-4.1 and above.
+###
+###      Say 'N' unless you know what you are doing.
+
+config LFS
+       bool "Build with Large File Support (for accessing files > 2 GB)"
+       default n
+       select FDISK_SUPPORT_LARGE_DISKS
+       help
+         If you want to build BusyBox with large file support, then enable
+         this option.  This will have no effect if your kernel or your C
+         library lacks large file support for large files.  Some of the
+         programs that can benefit from large file support include dd, gzip,
+         cp, mount, tar, and many others.  If you want to access files larger
+         than 2 Gigabytes, enable this option.  Otherwise, leave it set to 'N'.
+
+endmenu
+
+menu 'Debugging Options'
+
+config DEBUG
+       bool "Build BusyBox with extra Debugging symbols"
+       default n
+       help
+         Say Y here if you wish to examine BusyBox internals while applets are
+         running.  This increases the size of the binary considerably, and
+         should only be used when doing development.  If you are doing
+         development and want to debug BusyBox, answer Y.
+
+         Most people should answer N.
+
+config WERROR
+       bool "Abort compilation on any warning"
+       default n
+       help
+         Selecting this will add -Werror to gcc command line.
+
+         Most people should answer N.
+
+# Seems to be unused
+#config DEBUG_PESSIMIZE
+#      bool "Disable compiler optimizations."
+#      default n
+#      depends on DEBUG
+#      help
+#        The compiler's optimization of source code can eliminate and reorder
+#        code, resulting in an executable that's hard to understand when
+#        stepping through it with a debugger.  This switches it off, resulting
+#        in a much bigger executable that more closely matches the source
+#        code.
+
+choice
+       prompt "Additional debugging library"
+       default NO_DEBUG_LIB
+       help
+         Using an additional debugging library will make BusyBox become
+         considerable larger and will cause it to run more slowly.  You
+         should always leave this option disabled for production use.
+
+         dmalloc support:
+         ----------------
+         This enables compiling with dmalloc ( http://dmalloc.com/ )
+         which is an excellent public domain mem leak and malloc problem
+         detector.  To enable dmalloc, before running busybox you will
+         want to properly set your environment, for example:
+           export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
+         The 'debug=' value is generated using the following command
+           dmalloc -p log-stats -p log-non-free -p log-bad-space -p log-elapsed-time \
+              -p check-fence -p check-heap -p check-lists -p check-blank \
+              -p check-funcs -p realloc-copy -p allow-free-null
+
+         Electric-fence support:
+         -----------------------
+         This enables compiling with Electric-fence support.  Electric
+         fence is another very useful malloc debugging library which uses
+         your computer's virtual memory hardware to detect illegal memory
+         accesses.  This support will make BusyBox be considerable larger
+         and run slower, so you should leave this option disabled unless
+         you are hunting a hard to find memory problem.
+
+
+config NO_DEBUG_LIB
+       bool "None"
+
+config DMALLOC
+       bool "Dmalloc"
+
+config EFENCE
+       bool "Electric-fence"
+
+endchoice
+
+config INCLUDE_SUSv2
+       bool "Enable obsolete features removed before SUSv3?"
+       default y
+       help
+         This option will enable backwards compatibility with SuSv2,
+         specifically, old-style numeric options ('command -1 <file>')
+         will be supported in head, tail, and fold.  (Note: should
+         affect renice too.)
+
+endmenu
+
+menu 'Installation Options'
+
+config INSTALL_NO_USR
+       bool "Don't use /usr"
+       default n
+       help
+         Disable use of /usr. Don't activate this option if you don't know
+         that you really want this behaviour.
+
+choice
+       prompt "Applets links"
+       default INSTALL_APPLET_SYMLINKS
+       help
+         Choose how you install applets links.
+
+config INSTALL_APPLET_SYMLINKS
+       bool "as soft-links"
+       help
+         Install applets as soft-links to the busybox binary. This needs some
+         free inodes on the filesystem, but might help with filesystem
+         generators that can't cope with hard-links.
+
+config INSTALL_APPLET_HARDLINKS
+       bool "as hard-links"
+       help
+         Install applets as hard-links to the busybox binary. This might count
+         on a filesystem with few inodes.
+
+config INSTALL_APPLET_SCRIPT_WRAPPERS
+       bool "as script wrappers"
+       help
+         Install applets as script wrappers that call the busybox binary.
+
+config INSTALL_APPLET_DONT
+       bool "not installed"
+       depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE || FEATURE_PREFER_APPLETS
+       help
+         Do not install applet links. Useful when using the -install feature
+         or a standalone shell for rescue purposes.
+
+endchoice
+
+choice
+       prompt "/bin/sh applet link"
+       default INSTALL_SH_APPLET_SYMLINK
+       depends on INSTALL_APPLET_SCRIPT_WRAPPERS
+       help
+         Choose how you install /bin/sh applet link.
+
+config INSTALL_SH_APPLET_SYMLINK
+       bool "as soft-link"
+       help
+         Install /bin/sh applet as soft-link to the busybox binary.
+
+config INSTALL_SH_APPLET_HARDLINK
+       bool "as hard-link"
+       help
+         Install /bin/sh applet as hard-link to the busybox binary.
+
+config INSTALL_SH_APPLET_SCRIPT_WRAPPER
+       bool "as script wrapper"
+       help
+         Install /bin/sh applet as script wrapper that call the busybox binary.
+
+endchoice
+
+config PREFIX
+       string "BusyBox installation prefix"
+       default "./_install"
+       help
+         Define your directory to install BusyBox files/subdirs in.
+
+endmenu
+
+source libbb/Config.in
+
+endmenu
+
+comment "Applets"
+
+source archival/Config.in
+source coreutils/Config.in
+source console-tools/Config.in
+source debianutils/Config.in
+source editors/Config.in
+source findutils/Config.in
+source init/Config.in
+source loginutils/Config.in
+source e2fsprogs/Config.in
+source modutils/Config.in
+source util-linux/Config.in
+source miscutils/Config.in
+source networking/Config.in
+source procps/Config.in
+source shell/Config.in
+source sysklogd/Config.in
+source runit/Config.in
+source selinux/Config.in
+source printutils/Config.in
diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..a7902ab
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,125 @@
+Building:
+=========
+
+The BusyBox build process is similar to the Linux kernel build:
+
+  make menuconfig     # This creates a file called ".config"
+  make                # This creates the "busybox" executable
+  make install        # or make CONFIG_PREFIX=/path/from/root install
+
+The full list of configuration and install options is available by typing:
+
+  make help
+
+Quick Start:
+============
+
+The easy way to try out BusyBox for the first time, without having to install
+it, is to enable all features and then use "standalone shell" mode with a
+blank command $PATH.
+
+To enable all features, use "make defconfig", which produces the largest
+general-purpose configuration.  (It's allyesconfig minus debugging options,
+optional packaging choices, and a few special-purpose features requiring
+extra configuration to use.)
+
+  make defconfig
+  make
+  PATH= ./busybox ash
+
+Standalone shell mode causes busybox's built-in command shell to run
+any built-in busybox applets directly, without looking for external
+programs by that name.  Supplying an empty command path (as above) means
+the only commands busybox can find are the built-in ones.
+
+Note that the standalone shell requires CONFIG_BUSYBOX_EXEC_PATH
+to be set appropriately, depending on whether or not /proc/self/exe is
+available or not. If you do not have /proc, then point that config option
+to the location of your busybox binary, usually /bin/busybox.
+
+Configuring Busybox:
+====================
+
+Busybox is optimized for size, but enabling the full set of functionality
+still results in a fairly large executable -- more than 1 megabyte when
+statically linked.  To save space, busybox can be configured with only the
+set of applets needed for each environment.  The minimal configuration, with
+all applets disabled, produces a 4k executable.  (It's useless, but very small.)
+
+The manual configurator "make menuconfig" modifies the existing configuration.
+(For systems without ncurses, try "make config" instead.) The two most
+interesting starting configurations are "make allnoconfig" (to start with
+everything disabled and add just what you need), and "make defconfig" (to
+start with everything enabled and remove what you don't need).  If menuconfig
+is run without an existing configuration, make defconfig will run first to
+create a known starting point.
+
+Other starting configurations (mostly used for testing purposes) include
+"make allbareconfig" (enables all applets but disables all optional features),
+"make allyesconfig" (enables absolutely everything including debug features),
+and "make randconfig" (produce a random configuration).
+
+Configuring BusyBox produces a file ".config", which can be saved for future
+use.  Run "make oldconfig" to bring a .config file from an older version of
+busybox up to date.
+
+Installing Busybox:
+===================
+
+Busybox is a single executable that can behave like many different commands,
+and BusyBox uses the name it was invoked under to determine the desired
+behavior.  (Try "mv busybox ls" and then "./ls -l".)
+
+Installing busybox consists of creating symlinks (or hardlinks) to the busybox
+binary for each applet enabled in busybox, and making sure these symlinks are
+in the shell's command $PATH.  Running "make install" creates these symlinks,
+or "make install-hardlinks" creates hardlinks instead (useful on systems with
+a limited number of inodes).  This install process uses the file
+"busybox.links" (created by make), which contains the list of enabled applets
+and the path at which to install them.
+
+Installing links to busybox is not always necessary.  The special applet name
+"busybox" (or with any optional suffix, such as "busybox-static") uses the
+first argument to determine which applet to behave as, for example
+"./busybox cat LICENSE".  (Running the busybox applet with no arguments gives
+a list of all enabled applets.) The standalone shell can also call busybox
+applets without links to busybox under other names in the filesystem.  You can
+also configure a standaone install capability into the busybox base applet,
+and then install such links at runtime with one of "busybox --install" (for
+hardlinks) or "busybox --install -s" (for symlinks).
+
+If you enabled the busybox shared library feature (libbusybox.so) and want
+to run tests without installing, set your LD_LIBRARY_PATH accordingly when
+running the executable:
+
+  LD_LIBRARY_PATH=`pwd` ./busybox
+
+Building out-of-tree:
+=====================
+
+By default, the BusyBox build puts its temporary files in the source tree.
+Building from a read-only source tree, or building multiple configurations from
+the same source directory, requires the ability to put the temporary files
+somewhere else.
+
+To build out of tree, cd to an empty directory and configure busybox from there:
+
+  make -f /path/to/source/Makefile defconfig
+  make
+  make install
+
+Alternately, use the O=$BUILDPATH option (with an absolute path) during the
+configuration step, as in:
+
+  make O=/some/empty/directory allyesconfig
+  cd /some/empty/directory
+  make
+  make CONFIG_PREFIX=. install
+
+More Information:
+=================
+
+Se also the busybox FAQ, under the questions "How can I get started using
+BusyBox" and "How do I build a BusyBox-based system?"  The BusyBox FAQ is
+available from http://www.busybox.net/FAQ.html or as the file
+docs/busybox.net/FAQ.html in this tarball.
diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..8bb7fd8
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,860 @@
+--- A note on GPL versions
+
+BusyBox is distributed under version 2 of the General Public License (included
+in its entirety, below).  Version 2 is the only version of this license which
+this version of BusyBox (or modified versions derived from this one) may be
+distributed under.
+
+------------------------------------------------------------------------
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations
+below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+\f
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it
+becomes a de-facto standard.  To achieve this, non-free programs must
+be allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+\f
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control
+compilation and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+\f
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+\f
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+\f
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at least
+    three years, to give the same user the materials specified in
+    Subsection 6a, above, for a charge no more than the cost of
+    performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+\f
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+\f
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply, and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License
+may add an explicit geographical distribution limitation excluding those
+countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+\f
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms
+of the ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.
+It is safest to attach them to the start of each source file to most
+effectively convey the exclusion of warranty; and each file should
+have at least the "copyright" line and a pointer to where the full
+notice is found.
+
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or
+your school, if any, to sign a "copyright disclaimer" for the library,
+if necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James
+  Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..4feab0e
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,1297 @@
+VERSION = 1
+PATCHLEVEL = 10
+SUBLEVEL = 2
+EXTRAVERSION =
+NAME = Unnamed
+
+# *DOCUMENTATION*
+# To see a list of typical targets execute "make help"
+# More info can be located in ./README
+# Comments in this file are targeted only to the developer, do not
+# expect to learn how to build the kernel reading this file.
+
+# Do not print "Entering directory ..."
+MAKEFLAGS += --no-print-directory
+
+# We are using a recursive build, so we need to do a little thinking
+# to get the ordering right.
+#
+# Most importantly: sub-Makefiles should only ever modify files in
+# their own directory. If in some directory we have a dependency on
+# a file in another dir (which doesn't happen often, but it's often
+# unavoidable when linking the built-in.o targets which finally
+# turn into busybox), we will call a sub make in that other dir, and
+# after that we are sure that everything which is in that other dir
+# is now up to date.
+#
+# The only cases where we need to modify files which have global
+# effects are thus separated out and done before the recursive
+# descending is started. They are now explicitly listed as the
+# prepare rule.
+
+# To put more focus on warnings, be less verbose as default
+# Use 'make V=1' to see the full commands
+
+ifdef V
+  ifeq ("$(origin V)", "command line")
+    KBUILD_VERBOSE = $(V)
+  endif
+endif
+ifndef KBUILD_VERBOSE
+  KBUILD_VERBOSE = 0
+endif
+
+# Call sparse as part of compilation of C files
+# Use 'make C=1' to enable sparse checking
+
+ifdef C
+  ifeq ("$(origin C)", "command line")
+    KBUILD_CHECKSRC = $(C)
+  endif
+endif
+ifndef KBUILD_CHECKSRC
+  KBUILD_CHECKSRC = 0
+endif
+
+# Use make M=dir to specify directory of external module to build
+# Old syntax make ... SUBDIRS=$PWD is still supported
+# Setting the environment variable KBUILD_EXTMOD take precedence
+ifdef SUBDIRS
+  KBUILD_EXTMOD ?= $(SUBDIRS)
+endif
+ifdef M
+  ifeq ("$(origin M)", "command line")
+    KBUILD_EXTMOD := $(M)
+  endif
+endif
+
+
+# kbuild supports saving output files in a separate directory.
+# To locate output files in a separate directory two syntaxes are supported.
+# In both cases the working directory must be the root of the kernel src.
+# 1) O=
+# Use "make O=dir/to/store/output/files/"
+#
+# 2) Set KBUILD_OUTPUT
+# Set the environment variable KBUILD_OUTPUT to point to the directory
+# where the output files shall be placed.
+# export KBUILD_OUTPUT=dir/to/store/output/files/
+# make
+#
+# The O= assignment takes precedence over the KBUILD_OUTPUT environment
+# variable.
+
+
+# KBUILD_SRC is set on invocation of make in OBJ directory
+# KBUILD_SRC is not intended to be used by the regular user (for now)
+ifeq ($(KBUILD_SRC),)
+
+# OK, Make called in directory where kernel src resides
+# Do we want to locate output files in a separate directory?
+ifdef O
+  ifeq ("$(origin O)", "command line")
+    KBUILD_OUTPUT := $(O)
+  endif
+endif
+
+# That's our default target when none is given on the command line
+PHONY := _all
+_all:
+
+ifneq ($(KBUILD_OUTPUT),)
+# Invoke a second make in the output directory, passing relevant variables
+# check that the output directory actually exists
+saved-output := $(KBUILD_OUTPUT)
+KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd)
+$(if $(KBUILD_OUTPUT),, \
+     $(error output directory "$(saved-output)" does not exist))
+
+PHONY += $(MAKECMDGOALS)
+
+$(filter-out _all,$(MAKECMDGOALS)) _all:
+       $(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
+       KBUILD_SRC=$(CURDIR) \
+       KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile $@
+
+# Leave processing to above invocation of make
+skip-makefile := 1
+endif # ifneq ($(KBUILD_OUTPUT),)
+endif # ifeq ($(KBUILD_SRC),)
+
+# We process the rest of the Makefile if this is the final invocation of make
+ifeq ($(skip-makefile),)
+
+# If building an external module we do not care about the all: rule
+# but instead _all depend on modules
+PHONY += all
+ifeq ($(KBUILD_EXTMOD),)
+_all: all
+else
+_all: modules
+endif
+
+srctree                := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))
+TOPDIR         := $(srctree)
+# FIXME - TOPDIR is obsolete, use srctree/objtree
+objtree                := $(CURDIR)
+src            := $(srctree)
+obj            := $(objtree)
+
+VPATH          := $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD))
+
+export srctree objtree VPATH TOPDIR
+
+
+# SUBARCH tells the usermode build what the underlying arch is.  That is set
+# first, and if a usermode build is happening, the "ARCH=um" on the command
+# line overrides the setting of ARCH below.  If a native build is happening,
+# then ARCH is assigned, getting whatever value it gets normally, and
+# SUBARCH is subsequently ignored.
+
+SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
+                                 -e s/arm.*/arm/ -e s/sa110/arm/ \
+                                 -e s/s390x/s390/ -e s/parisc64/parisc/ \
+                                 -e s/ppc.*/powerpc/ -e s/mips.*/mips/ )
+
+# Cross compiling and selecting different set of gcc/bin-utils
+# ---------------------------------------------------------------------------
+#
+# When performing cross compilation for other architectures ARCH shall be set
+# to the target architecture. (See arch/* for the possibilities).
+# ARCH can be set during invocation of make:
+# make ARCH=ia64
+# Another way is to have ARCH set in the environment.
+# The default ARCH is the host where make is executed.
+
+# CROSS_COMPILE specify the prefix used for all executables used
+# during compilation. Only gcc and related bin-utils executables
+# are prefixed with $(CROSS_COMPILE).
+# CROSS_COMPILE can be set on the command line
+# make CROSS_COMPILE=ia64-linux-
+# Alternatively CROSS_COMPILE can be set in the environment.
+# Default value for CROSS_COMPILE is not to prefix executables
+# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
+
+ARCH           ?= $(SUBARCH)
+CROSS_COMPILE  ?=
+
+# Architecture as present in compile.h
+UTS_MACHINE := $(ARCH)
+
+# SHELL used by kbuild
+CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
+         else if [ -x /bin/bash ]; then echo /bin/bash; \
+         else echo sh; fi ; fi)
+
+#      Decide whether to build built-in, modular, or both.
+#      Normally, just do built-in.
+
+KBUILD_MODULES :=
+KBUILD_BUILTIN := 1
+
+#      If we have only "make modules", don't compile built-in objects.
+#      When we're building modules with modversions, we need to consider
+#      the built-in objects during the descend as well, in order to
+#      make sure the checksums are uptodate before we record them.
+
+ifeq ($(MAKECMDGOALS),modules)
+  KBUILD_BUILTIN := $(if $(CONFIG_MODVERSIONS),1)
+endif
+
+#      If we have "make <whatever> modules", compile modules
+#      in addition to whatever we do anyway.
+#      Just "make" or "make all" shall build modules as well
+
+ifneq ($(filter all _all modules,$(MAKECMDGOALS)),)
+  KBUILD_MODULES := 1
+endif
+
+ifeq ($(MAKECMDGOALS),)
+  KBUILD_MODULES := 1
+endif
+
+export KBUILD_MODULES KBUILD_BUILTIN
+export KBUILD_CHECKSRC KBUILD_SRC KBUILD_EXTMOD
+
+# Beautify output
+# ---------------------------------------------------------------------------
+#
+# Normally, we echo the whole command before executing it. By making
+# that echo $($(quiet)$(cmd)), we now have the possibility to set
+# $(quiet) to choose other forms of output instead, e.g.
+#
+#         quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
+#         cmd_cc_o_c       = $(CC) $(c_flags) -c -o $@ $<
+#
+# If $(quiet) is empty, the whole command will be printed.
+# If it is set to "quiet_", only the short version will be printed.
+# If it is set to "silent_", nothing wil be printed at all, since
+# the variable $(silent_cmd_cc_o_c) doesn't exist.
+#
+# A simple variant is to prefix commands with $(Q) - that's useful
+# for commands that shall be hidden in non-verbose mode.
+#
+#      $(Q)ln $@ :<
+#
+# If KBUILD_VERBOSE equals 0 then the above command will be hidden.
+# If KBUILD_VERBOSE equals 1 then the above command is displayed.
+
+ifeq ($(KBUILD_VERBOSE),1)
+  quiet =
+  Q =
+else
+  quiet=quiet_
+  Q = @
+endif
+
+# If the user is running make -s (silent mode), suppress echoing of
+# commands
+
+ifneq ($(findstring s,$(MAKEFLAGS)),)
+  quiet=silent_
+endif
+
+export quiet Q KBUILD_VERBOSE
+
+
+# Look for make include files relative to root of kernel src
+MAKEFLAGS += --include-dir=$(srctree)
+
+HOSTCC         = gcc
+HOSTCXX        = g++
+HOSTCFLAGS     :=
+HOSTCXXFLAGS   :=
+# We need some generic definitions
+include $(srctree)/scripts/Kbuild.include
+
+HOSTCFLAGS     += $(call hostcc-option,-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer,)
+HOSTCXXFLAGS   += -O2
+
+# For maximum performance (+ possibly random breakage, uncomment
+# the following)
+
+MAKEFLAGS += -rR
+
+# Make variables (CC, etc...)
+
+AS             = $(CROSS_COMPILE)as
+CC             = $(CROSS_COMPILE)gcc
+LD             = $(CC) -nostdlib
+CPP            = $(CC) -E
+AR             = $(CROSS_COMPILE)ar
+NM             = $(CROSS_COMPILE)nm
+STRIP          = $(CROSS_COMPILE)strip
+OBJCOPY                = $(CROSS_COMPILE)objcopy
+OBJDUMP                = $(CROSS_COMPILE)objdump
+AWK            = awk
+GENKSYMS       = scripts/genksyms/genksyms
+DEPMOD         = /sbin/depmod
+KALLSYMS       = scripts/kallsyms
+PERL           = perl
+CHECK          = sparse
+
+CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise $(CF)
+MODFLAGS       = -DMODULE
+CFLAGS_MODULE   = $(MODFLAGS)
+AFLAGS_MODULE   = $(MODFLAGS)
+LDFLAGS_MODULE  = -r
+CFLAGS_KERNEL  =
+AFLAGS_KERNEL  =
+
+
+# Use LINUXINCLUDE when you must reference the include/ directory.
+# Needed to be compatible with the O= option
+CFLAGS         := $(CFLAGS)
+CPPFLAGS       := $(CPPFLAGS)
+AFLAGS         := $(AFLAGS)
+LDFLAGS                := $(LDFLAGS)
+LDLIBS         :=
+
+# Read KERNELRELEASE from .kernelrelease (if it exists)
+KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null)
+KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
+
+export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \
+       ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
+       CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
+       HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
+
+export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
+export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
+export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
+export FLTFLAGS
+
+# When compiling out-of-tree modules, put MODVERDIR in the module
+# tree rather than in the kernel tree. The kernel tree might
+# even be read-only.
+export MODVERDIR := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/).tmp_versions
+
+# Files to ignore in find ... statements
+
+RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS -o -name .pc -o -name .hg -o -name .git \) -prune -o
+export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg --exclude .git
+
+# ===========================================================================
+# Rules shared between *config targets and build targets
+
+# Basic helpers built in scripts/
+PHONY += scripts_basic
+scripts_basic:
+       $(Q)$(MAKE) $(build)=scripts/basic
+
+# To avoid any implicit rule to kick in, define an empty command.
+scripts/basic/%: scripts_basic ;
+
+PHONY += outputmakefile
+# outputmakefile generates a Makefile in the output directory, if using a
+# separate output directory. This allows convenient use of make in the
+# output directory.
+outputmakefile:
+ifneq ($(KBUILD_SRC),)
+       $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \
+           $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL)
+endif
+
+# To make sure we do not include .config for any of the *config targets
+# catch them early, and hand them over to scripts/kconfig/Makefile
+# It is allowed to specify more targets when calling make, including
+# mixing *config targets and build targets.
+# For example 'make oldconfig all'.
+# Detect when mixed targets is specified, and make a second invocation
+# of make so .config is not included in this case either (for *config).
+
+no-dot-config-targets := clean mrproper distclean \
+                        cscope TAGS tags help %docs check%
+
+config-targets := 0
+mixed-targets  := 0
+dot-config     := 1
+
+ifneq ($(filter $(no-dot-config-targets), $(MAKECMDGOALS)),)
+       ifeq ($(filter-out $(no-dot-config-targets), $(MAKECMDGOALS)),)
+               dot-config := 0
+       endif
+endif
+
+ifeq ($(KBUILD_EXTMOD),)
+        ifneq ($(filter config %config,$(MAKECMDGOALS)),)
+                config-targets := 1
+                ifneq ($(filter-out config %config,$(MAKECMDGOALS)),)
+                        mixed-targets := 1
+                endif
+        endif
+endif
+
+ifeq ($(mixed-targets),1)
+# ===========================================================================
+# We're called with mixed targets (*config and build targets).
+# Handle them one by one.
+
+%:: FORCE
+       $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= $@
+
+else
+ifeq ($(config-targets),1)
+# ===========================================================================
+# *config targets only - make sure prerequisites are updated, and descend
+# in scripts/kconfig to make the *config target
+
+# Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
+# KBUILD_DEFCONFIG may point out an alternative default configuration
+# used for 'make defconfig'
+-include $(srctree)/arch/$(ARCH)/Makefile
+export KBUILD_DEFCONFIG
+
+config %config: scripts_basic outputmakefile FORCE
+       $(Q)mkdir -p include
+       $(Q)$(MAKE) $(build)=scripts/kconfig $@
+       $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease
+
+else
+# ===========================================================================
+# Build targets only - this includes busybox, arch specific targets, clean
+# targets and others. In general all targets except *config targets.
+
+ifeq ($(KBUILD_EXTMOD),)
+# Additional helpers built in scripts/
+# Carefully list dependencies so we do not try to build scripts twice
+# in parrallel
+PHONY += scripts
+scripts: scripts_basic include/config/MARKER
+       $(Q)$(MAKE) $(build)=$(@)
+
+scripts_basic: include/autoconf.h
+
+# Objects we will link into busybox / subdirs we need to visit
+core-y         := \
+               applets/ \
+
+libs-y         := \
+               archival/ \
+               archival/libunarchive/ \
+               console-tools/ \
+               coreutils/ \
+               coreutils/libcoreutils/ \
+               debianutils/ \
+               e2fsprogs/ \
+               editors/ \
+               findutils/ \
+               init/ \
+               libbb/ \
+               libpwdgrp/ \
+               loginutils/ \
+               miscutils/ \
+               modutils/ \
+               networking/ \
+               networking/libiproute/ \
+               networking/udhcp/ \
+               printutils/ \
+               procps/ \
+               runit/ \
+               selinux/ \
+               shell/ \
+               sysklogd/ \
+               util-linux/ \
+               util-linux/volume_id/ \
+
+endif # KBUILD_EXTMOD
+
+ifeq ($(dot-config),1)
+# In this section, we need .config
+
+# Read in dependencies to all Kconfig* files, make sure to run
+# oldconfig if changes are detected.
+-include .kconfig.d
+
+-include .config
+
+# If .config needs to be updated, it will be done via the dependency
+# that autoconf has on .config.
+# To avoid any implicit rule to kick in, define an empty command
+.config .kconfig.d: ;
+
+# Now we can define CFLAGS etc according to .config
+include $(srctree)/Makefile.flags
+
+# If .config is newer than include/autoconf.h, someone tinkered
+# with it and forgot to run make oldconfig.
+# If kconfig.d is missing then we are probarly in a cleaned tree so
+# we execute the config step to be sure to catch updated Kconfig files
+include/autoconf.h: .kconfig.d .config
+       $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
+
+else
+# Dummy target needed, because used as prerequisite
+include/autoconf.h: ;
+endif
+
+# The all: target is the default when no target is given on the
+# command line.
+# This allow a user to issue only 'make' to build a kernel including modules
+# Defaults busybox but it is usually overridden in the arch makefile
+all: busybox
+
+-include $(srctree)/arch/$(ARCH)/Makefile
+
+# arch Makefile may override CC so keep this after arch Makefile is included
+#bbox# NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
+CHECKFLAGS += $(NOSTDINC_FLAGS)
+
+# warn about C99 declaration after statement
+CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
+
+# disable pointer signedness warnings in gcc 4.0
+CFLAGS += $(call cc-option,-Wno-pointer-sign,)
+
+# Default kernel image to build when no specific target is given.
+# KBUILD_IMAGE may be overruled on the commandline or
+# set in the environment
+# Also any assignments in arch/$(ARCH)/Makefile take precedence over
+# this default value
+export KBUILD_IMAGE ?= busybox
+
+#
+# INSTALL_PATH specifies where to place the updated kernel and system map
+# images. Default is /boot, but you can set it to other values
+export INSTALL_PATH ?= /boot
+
+#
+# INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
+# relocations required by build roots.  This is not defined in the
+# makefile but the arguement can be passed to make if needed.
+#
+
+MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
+export MODLIB
+
+
+ifeq ($(KBUILD_EXTMOD),)
+busybox-dirs   := $(patsubst %/,%,$(filter %/, $(core-y) $(core-m) $(libs-y) $(libs-m)))
+
+busybox-alldirs        := $(sort $(busybox-dirs) $(patsubst %/,%,$(filter %/, \
+                    $(core-n) $(core-) $(libs-n) $(libs-) \
+               )))
+
+core-y         := $(patsubst %/, %/built-in.o, $(core-y))
+libs-y1                := $(patsubst %/, %/lib.a, $(libs-y))
+libs-y2                := $(patsubst %/, %/built-in.o, $(libs-y))
+libs-y         := $(libs-y1) $(libs-y2)
+
+# Build busybox
+# ---------------------------------------------------------------------------
+# busybox is build from the objects selected by $(busybox-init) and
+# $(busybox-main). Most are built-in.o files from top-level directories
+# in the kernel tree, others are specified in arch/$(ARCH)Makefile.
+# Ordering when linking is important, and $(busybox-init) must be first.
+#
+# busybox
+#   ^
+#   |
+#   +-< $(busybox-init)
+#   |   +--< init/version.o + more
+#   |
+#   +--< $(busybox-main)
+#   |    +--< driver/built-in.o mm/built-in.o + more
+#   |
+#   +-< kallsyms.o (see description in CONFIG_KALLSYMS section)
+#
+# busybox version (uname -v) cannot be updated during normal
+# descending-into-subdirs phase since we do not yet know if we need to
+# update busybox.
+# Therefore this step is delayed until just before final link of busybox -
+# except in the kallsyms case where it is done just before adding the
+# symbols to the kernel.
+#
+# System.map is generated to document addresses of all kernel symbols
+
+busybox-all  := $(core-y) $(libs-y)
+
+# Rule to link busybox - also used during CONFIG_KALLSYMS
+# May be overridden by arch/$(ARCH)/Makefile
+quiet_cmd_busybox__ ?= LINK    $@
+      cmd_busybox__ ?= $(srctree)/scripts/trylink \
+      "$@" \
+      "$(CC)" \
+      "$(CFLAGS)" \
+      "$(LDFLAGS) $(EXTRA_LDFLAGS)" \
+      "$(core-y)" \
+      "$(libs-y)" \
+      "$(LDLIBS)"
+
+# Generate System.map
+quiet_cmd_sysmap = SYSMAP
+      cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap
+
+# Link of busybox
+# If CONFIG_KALLSYMS is set .version is already updated
+# Generate System.map and verify that the content is consistent
+# Use + in front of the busybox_version rule to silent warning with make -j2
+# First command is ':' to allow us to use + in front of the rule
+define rule_busybox__
+       :
+       $(call cmd,busybox__)
+       $(Q)echo 'cmd_$@ := $(cmd_busybox__)' > $(@D)/.$(@F).cmd
+endef
+
+
+ifdef CONFIG_KALLSYMS
+# Generate section listing all symbols and add it into busybox $(kallsyms.o)
+# It's a three stage process:
+# o .tmp_busybox1 has all symbols and sections, but __kallsyms is
+#   empty
+#   Running kallsyms on that gives us .tmp_kallsyms1.o with
+#   the right size - busybox version (uname -v) is updated during this step
+# o .tmp_busybox2 now has a __kallsyms section of the right size,
+#   but due to the added section, some addresses have shifted.
+#   From here, we generate a correct .tmp_kallsyms2.o
+# o The correct .tmp_kallsyms2.o is linked into the final busybox.
+# o Verify that the System.map from busybox matches the map from
+#   .tmp_busybox2, just in case we did not generate kallsyms correctly.
+# o If CONFIG_KALLSYMS_EXTRA_PASS is set, do an extra pass using
+#   .tmp_busybox3 and .tmp_kallsyms3.o.  This is only meant as a
+#   temporary bypass to allow the kernel to be built while the
+#   maintainers work out what went wrong with kallsyms.
+
+ifdef CONFIG_KALLSYMS_EXTRA_PASS
+last_kallsyms := 3
+else
+last_kallsyms := 2
+endif
+
+kallsyms.o := .tmp_kallsyms$(last_kallsyms).o
+
+define verify_kallsyms
+       $(Q)$(if $($(quiet)cmd_sysmap),                       \
+         echo '  $($(quiet)cmd_sysmap) .tmp_System.map' &&)  \
+         $(cmd_sysmap) .tmp_busybox$(last_kallsyms) .tmp_System.map
+       $(Q)cmp -s System.map .tmp_System.map ||              \
+               (echo Inconsistent kallsyms data;             \
+                echo Try setting CONFIG_KALLSYMS_EXTRA_PASS; \
+                rm .tmp_kallsyms* ; /bin/false )
+endef
+
+# Update busybox version before link
+# Use + in front of this rule to silent warning about make -j1
+# First command is ':' to allow us to use + in front of this rule
+cmd_ksym_ld = $(cmd_busybox__)
+define rule_ksym_ld
+       :
+       +$(call cmd,busybox_version)
+       $(call cmd,busybox__)
+       $(Q)echo 'cmd_$@ := $(cmd_busybox__)' > $(@D)/.$(@F).cmd
+endef
+
+# Generate .S file with all kernel symbols
+quiet_cmd_kallsyms = KSYM    $@
+      cmd_kallsyms = $(NM) -n $< | $(KALLSYMS) \
+                     $(if $(CONFIG_KALLSYMS_ALL),--all-symbols) > $@
+
+.tmp_kallsyms1.o .tmp_kallsyms2.o .tmp_kallsyms3.o: %.o: %.S scripts FORCE
+       $(call if_changed_dep,as_o_S)
+
+.tmp_kallsyms%.S: .tmp_busybox% $(KALLSYMS)
+       $(call cmd,kallsyms)
+
+# .tmp_busybox1 must be complete except kallsyms, so update busybox version
+.tmp_busybox1: $(busybox-lds) $(busybox-all) FORCE
+       $(call if_changed_rule,ksym_ld)
+
+.tmp_busybox2: $(busybox-lds) $(busybox-all) .tmp_kallsyms1.o FORCE
+       $(call if_changed,busybox__)
+
+.tmp_busybox3: $(busybox-lds) $(busybox-all) .tmp_kallsyms2.o FORCE
+       $(call if_changed,busybox__)
+
+# Needs to visit scripts/ before $(KALLSYMS) can be used.
+$(KALLSYMS): scripts ;
+
+# Generate some data for debugging strange kallsyms problems
+debug_kallsyms: .tmp_map$(last_kallsyms)
+
+.tmp_map%: .tmp_busybox% FORCE
+       ($(OBJDUMP) -h $< | $(AWK) '/^ +[0-9]/{print $$4 " 0 " $$2}'; $(NM) $<) | sort > $@
+
+.tmp_map3: .tmp_map2
+
+.tmp_map2: .tmp_map1
+
+endif # ifdef CONFIG_KALLSYMS
+
+# busybox image - including updated kernel symbols
+busybox_unstripped: $(busybox-all) FORCE
+       $(call if_changed_rule,busybox__)
+       $(Q)rm -f .old_version
+
+busybox: busybox_unstripped
+ifeq ($(SKIP_STRIP),y)
+       $(Q)cp $< $@
+else
+       $(Q)$(STRIP) -s --remove-section=.note --remove-section=.comment \
+               busybox_unstripped -o $@
+endif
+
+# The actual objects are generated when descending,
+# make sure no implicit rule kicks in
+$(sort $(busybox-all)): $(busybox-dirs) ;
+
+# Handle descending into subdirectories listed in $(busybox-dirs)
+# Preset locale variables to speed up the build process. Limit locale
+# tweaks to this spot to avoid wrong language settings when running
+# make menuconfig etc.
+# Error messages still appears in the original language
+
+PHONY += $(busybox-dirs)
+$(busybox-dirs): prepare scripts
+       $(Q)$(MAKE) $(build)=$@
+
+# Build the kernel release string
+# The KERNELRELEASE is stored in a file named .kernelrelease
+# to be used when executing for example make install or make modules_install
+#
+# Take the contents of any files called localversion* and the config
+# variable CONFIG_LOCALVERSION and append them to KERNELRELEASE.
+# LOCALVERSION from the command line override all of this
+
+nullstring :=
+space      := $(nullstring) # end of line
+
+___localver = $(objtree)/localversion* $(srctree)/localversion*
+__localver  = $(sort $(wildcard $(___localver)))
+# skip backup files (containing '~')
+_localver = $(foreach f, $(__localver), $(if $(findstring ~, $(f)),,$(f)))
+
+localver = $(subst $(space),, \
+          $(shell cat /dev/null $(_localver)) \
+          $(patsubst "%",%,$(CONFIG_LOCALVERSION)))
+
+# If CONFIG_LOCALVERSION_AUTO is set scripts/setlocalversion is called
+# and if the SCM is know a tag from the SCM is appended.
+# The appended tag is determinded by the SCM used.
+#
+# Currently, only git is supported.
+# Other SCMs can edit scripts/setlocalversion and add the appropriate
+# checks as needed.
+ifdef _BB_DISABLED_CONFIG_LOCALVERSION_AUTO
+       _localver-auto = $(shell $(CONFIG_SHELL) \
+                         $(srctree)/scripts/setlocalversion $(srctree))
+       localver-auto  = $(LOCALVERSION)$(_localver-auto)
+endif
+
+localver-full = $(localver)$(localver-auto)
+
+# Store (new) KERNELRELASE string in .kernelrelease
+kernelrelease = $(KERNELVERSION)$(localver-full)
+.kernelrelease: FORCE
+       $(Q)rm -f $@
+       $(Q)echo $(kernelrelease) > $@
+
+
+# Things we need to do before we recursively start building the kernel
+# or the modules are listed in "prepare".
+# A multi level approach is used. prepareN is processed before prepareN-1.
+# archprepare is used in arch Makefiles and when processed asm symlink,
+# version.h and scripts_basic is processed / created.
+
+# Listed in dependency order
+PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3
+
+# prepare-all is deprecated, use prepare as valid replacement
+PHONY += prepare-all
+
+# prepare3 is used to check if we are building in a separate output directory,
+# and if so do:
+# 1) Check that make has not been executed in the kernel src $(srctree)
+# 2) Create the include2 directory, used for the second asm symlink
+prepare3: .kernelrelease
+ifneq ($(KBUILD_SRC),)
+       @echo '  Using $(srctree) as source for busybox'
+       $(Q)if [ -f $(srctree)/.config ]; then \
+               echo "  $(srctree) is not clean, please run 'make mrproper'";\
+               echo "  in the '$(srctree)' directory.";\
+               /bin/false; \
+       fi;
+       $(Q)if [ ! -d include2 ]; then mkdir -p include2; fi;
+       $(Q)ln -fsn $(srctree)/include/asm-$(ARCH) include2/asm
+endif
+
+# prepare2 creates a makefile if using a separate output directory
+prepare2: prepare3 outputmakefile
+
+prepare1: prepare2 include/config/MARKER
+ifneq ($(KBUILD_MODULES),)
+       $(Q)mkdir -p $(MODVERDIR)
+       $(Q)rm -f $(MODVERDIR)/*
+endif
+
+archprepare: prepare1 scripts_basic
+
+prepare0: archprepare FORCE
+       $(Q)$(MAKE) $(build)=.
+
+# All the preparing..
+prepare prepare-all: prepare0
+
+#      Leave this as default for preprocessing busybox.lds.S, which is now
+#      done in arch/$(ARCH)/kernel/Makefile
+
+export CPPFLAGS_busybox.lds += -P -C -U$(ARCH)
+
+#      FIXME: The asm symlink changes when $(ARCH) changes. That's
+#      hard to detect, but I suppose "make mrproper" is a good idea
+#      before switching between archs anyway.
+
+#bbox# include/asm:
+#bbox#         @echo '  SYMLINK $@ -> include/asm-$(ARCH)'
+#bbox#         $(Q)if [ ! -d include ]; then mkdir -p include; fi;
+#bbox#         @ln -fsn asm-$(ARCH) $@
+
+#      Split autoconf.h into include/linux/config/*
+quiet_cmd_gen_bbconfigopts = GEN     include/bbconfigopts.h
+      cmd_gen_bbconfigopts = $(srctree)/scripts/mkconfigs > include/bbconfigopts.h
+quiet_cmd_split_autoconf   = SPLIT   include/autoconf.h -> include/config/*
+      cmd_split_autoconf   = scripts/basic/split-include include/autoconf.h include/config
+#bbox# piggybacked generation of few .h files
+include/config/MARKER: scripts/basic/split-include include/autoconf.h
+       $(call cmd,split_autoconf)
+       $(call cmd,gen_bbconfigopts)
+       @touch $@
+
+# Generate some files
+# ---------------------------------------------------------------------------
+
+# KERNELRELEASE can change from a few different places, meaning version.h
+# needs to be updated, so this check is forced on all builds
+
+uts_len := 64
+
+define filechk_version.h
+       if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \
+         echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
+         exit 1; \
+       fi; \
+       (echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \
+         echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \
+        echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \
+       )
+endef
+
+# ---------------------------------------------------------------------------
+
+PHONY += depend dep
+depend dep:
+       @echo '*** Warning: make $@ is unnecessary now.'
+
+# ---------------------------------------------------------------------------
+# Modules
+
+ifdef _BB_DISABLED_CONFIG_MODULES
+
+#      By default, build modules as well
+
+all: modules
+
+#      Build modules
+
+PHONY += modules
+modules: $(busybox-dirs) $(if $(KBUILD_BUILTIN),busybox)
+       @echo '  Building modules, stage 2.';
+       $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost
+
+
+# Target to prepare building external modules
+PHONY += modules_prepare
+modules_prepare: prepare scripts
+
+# Target to install modules
+PHONY += modules_install
+modules_install: _modinst_ _modinst_post
+
+PHONY += _modinst_
+_modinst_:
+       @if [ -z "`$(DEPMOD) -V 2>/dev/null | grep module-init-tools`" ]; then \
+               echo "Warning: you may need to install module-init-tools"; \
+               echo "See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt";\
+               sleep 1; \
+       fi
+       @rm -rf $(MODLIB)/kernel
+       @rm -f $(MODLIB)/source
+       @mkdir -p $(MODLIB)/kernel
+       @ln -s $(srctree) $(MODLIB)/source
+       @if [ ! $(objtree) -ef  $(MODLIB)/build ]; then \
+               rm -f $(MODLIB)/build ; \
+               ln -s $(objtree) $(MODLIB)/build ; \
+       fi
+       $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modinst
+
+# If System.map exists, run depmod.  This deliberately does not have a
+# dependency on System.map since that would run the dependency tree on
+# busybox.  This depmod is only for convenience to give the initial
+# boot a modules.dep even before / is mounted read-write.  However the
+# boot script depmod is the master version.
+ifeq "$(strip $(INSTALL_MOD_PATH))" ""
+depmod_opts    :=
+else
+depmod_opts    := -b $(INSTALL_MOD_PATH) -r
+endif
+PHONY += _modinst_post
+_modinst_post: _modinst_
+       if [ -r System.map -a -x $(DEPMOD) ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi
+
+else # CONFIG_MODULES
+
+# Modules not configured
+# ---------------------------------------------------------------------------
+
+modules modules_install: FORCE
+       @echo
+       @echo "The present busybox configuration has modules disabled."
+       @echo "Type 'make config' and enable loadable module support."
+       @echo "Then build a kernel with module support enabled."
+       @echo
+       @exit 1
+
+endif # CONFIG_MODULES
+
+###
+# Cleaning is done on three levels.
+# make clean     Delete most generated files
+#                Leave enough to build external modules
+# make mrproper  Delete the current configuration, and all generated files
+# make distclean Remove editor backup files, patch leftover files and the like
+
+# Directories & files removed with 'make clean'
+CLEAN_DIRS  += $(MODVERDIR)
+CLEAN_FILES += busybox* System.map .kernelrelease \
+                .tmp_kallsyms* .tmp_version .tmp_busybox* .tmp_System.map
+
+# Directories & files removed with 'make mrproper'
+MRPROPER_DIRS  += include/config include2
+MRPROPER_FILES += .config .config.old include/asm .version .old_version \
+                 include/autoconf.h \
+                 include/bbconfigopts.h \
+                 include/usage_compressed.h \
+                 include/applet_tables.h \
+                 applets/usage \
+                 .kernelrelease Module.symvers tags TAGS cscope*
+
+# clean - Delete most, but leave enough to build external modules
+#
+clean: rm-dirs  := $(CLEAN_DIRS)
+clean: rm-files := $(CLEAN_FILES)
+clean-dirs      := $(addprefix _clean_,$(srctree) $(busybox-alldirs))
+
+PHONY += $(clean-dirs) clean archclean
+$(clean-dirs):
+       $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
+
+clean: archclean $(clean-dirs)
+       $(call cmd,rmdirs)
+       $(call cmd,rmfiles)
+       @find . $(RCS_FIND_IGNORE) \
+               \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
+               -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \
+               -type f -print | xargs rm -f
+
+# mrproper - Delete all generated files, including .config
+#
+mrproper: rm-dirs  := $(wildcard $(MRPROPER_DIRS))
+mrproper: rm-files := $(wildcard $(MRPROPER_FILES))
+mrproper-dirs      := $(addprefix _mrproper_,scripts)
+
+PHONY += $(mrproper-dirs) mrproper archmrproper
+$(mrproper-dirs):
+       $(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
+
+mrproper: clean archmrproper $(mrproper-dirs)
+       $(call cmd,rmdirs)
+       $(call cmd,rmfiles)
+
+# distclean
+#
+PHONY += distclean
+
+distclean: mrproper
+       @find $(srctree) $(RCS_FIND_IGNORE) \
+               \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
+               -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
+               -o -name '.*.rej' -o -name '*.tmp' -o -size 0 \
+               -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
+               -type f -print | xargs rm -f
+
+
+# Packaging of the kernel to various formats
+# ---------------------------------------------------------------------------
+# rpm target kept for backward compatibility
+package-dir    := $(srctree)/scripts/package
+
+%pkg: FORCE
+       $(Q)$(MAKE) $(build)=$(package-dir) $@
+rpm: FORCE
+       $(Q)$(MAKE) $(build)=$(package-dir) $@
+
+
+# Brief documentation of the typical targets used
+# ---------------------------------------------------------------------------
+
+boards := $(wildcard $(srctree)/arch/$(ARCH)/configs/*_defconfig)
+boards := $(notdir $(boards))
+
+-include $(srctree)/Makefile.help
+
+# Documentation targets
+# ---------------------------------------------------------------------------
+%docs: scripts_basic FORCE
+       $(Q)$(MAKE) $(build)=Documentation/DocBook $@
+
+else # KBUILD_EXTMOD
+
+###
+# External module support.
+# When building external modules the kernel used as basis is considered
+# read-only, and no consistency checks are made and the make
+# system is not used on the basis kernel. If updates are required
+# in the basis kernel ordinary make commands (without M=...) must
+# be used.
+#
+# The following are the only valid targets when building external
+# modules.
+# make M=dir clean     Delete all automatically generated files
+# make M=dir modules   Make all modules in specified dir
+# make M=dir          Same as 'make M=dir modules'
+# make M=dir modules_install
+#                      Install the modules build in the module directory
+#                      Assumes install directory is already created
+
+# We are always building modules
+KBUILD_MODULES := 1
+PHONY += crmodverdir
+crmodverdir:
+       $(Q)mkdir -p $(MODVERDIR)
+       $(Q)rm -f $(MODVERDIR)/*
+
+PHONY += $(objtree)/Module.symvers
+$(objtree)/Module.symvers:
+       @test -e $(objtree)/Module.symvers || ( \
+       echo; \
+       echo "  WARNING: Symbol version dump $(objtree)/Module.symvers"; \
+       echo "           is missing; modules will have no dependencies and modversions."; \
+       echo )
+
+module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD))
+PHONY += $(module-dirs) modules
+$(module-dirs): crmodverdir $(objtree)/Module.symvers
+       $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
+
+modules: $(module-dirs)
+       @echo '  Building modules, stage 2.';
+       $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost
+
+PHONY += modules_install
+modules_install: _emodinst_ _emodinst_post
+
+install-dir := $(if $(INSTALL_MOD_DIR),$(INSTALL_MOD_DIR),extra)
+PHONY += _emodinst_
+_emodinst_:
+       $(Q)mkdir -p $(MODLIB)/$(install-dir)
+       $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modinst
+
+# Run depmod only is we have System.map and depmod is executable
+quiet_cmd_depmod = DEPMOD  $(KERNELRELEASE)
+      cmd_depmod = if [ -r System.map -a -x $(DEPMOD) ]; then \
+                      $(DEPMOD) -ae -F System.map             \
+                      $(if $(strip $(INSTALL_MOD_PATH)),      \
+                     -b $(INSTALL_MOD_PATH) -r)              \
+                     $(KERNELRELEASE);                       \
+                   fi
+
+PHONY += _emodinst_post
+_emodinst_post: _emodinst_
+       $(call cmd,depmod)
+
+clean-dirs := $(addprefix _clean_,$(KBUILD_EXTMOD))
+
+PHONY += $(clean-dirs) clean
+$(clean-dirs):
+       $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
+
+clean: rm-dirs := $(MODVERDIR)
+clean: $(clean-dirs)
+       $(call cmd,rmdirs)
+       @find $(KBUILD_EXTMOD) $(RCS_FIND_IGNORE) \
+               \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
+               -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \
+               -type f -print | xargs rm -f
+
+help:
+       @echo  '  Building external modules.'
+       @echo  '  Syntax: make -C path/to/kernel/src M=$$PWD target'
+       @echo  ''
+       @echo  '  modules         - default target, build the module(s)'
+       @echo  '  modules_install - install the module'
+       @echo  '  clean           - remove generated files in module directory only'
+       @echo  ''
+
+# Dummies...
+PHONY += prepare scripts
+prepare: ;
+scripts: ;
+endif # KBUILD_EXTMOD
+
+# Generate tags for editors
+# ---------------------------------------------------------------------------
+
+#We want __srctree to totally vanish out when KBUILD_OUTPUT is not set
+#(which is the most common case IMHO) to avoid unneeded clutter in the big tags file.
+#Adding $(srctree) adds about 20M on i386 to the size of the output file!
+
+ifeq ($(src),$(obj))
+__srctree =
+else
+__srctree = $(srctree)/
+endif
+
+ifeq ($(ALLSOURCE_ARCHS),)
+ifeq ($(ARCH),um)
+ALLINCLUDE_ARCHS := $(ARCH) $(SUBARCH)
+else
+ALLINCLUDE_ARCHS := $(ARCH)
+endif
+else
+#Allow user to specify only ALLSOURCE_PATHS on the command line, keeping existing behaviour.
+ALLINCLUDE_ARCHS := $(ALLSOURCE_ARCHS)
+endif
+
+ALLSOURCE_ARCHS := $(ARCH)
+
+define all-sources
+       ( find $(__srctree) $(RCS_FIND_IGNORE) \
+              \( -name include -o -name arch \) -prune -o \
+              -name '*.[chS]' -print; \
+         for ARCH in $(ALLSOURCE_ARCHS) ; do \
+              find $(__srctree)arch/$${ARCH} $(RCS_FIND_IGNORE) \
+                   -name '*.[chS]' -print; \
+         done ; \
+         find $(__srctree)security/selinux/include $(RCS_FIND_IGNORE) \
+              -name '*.[chS]' -print; \
+         find $(__srctree)include $(RCS_FIND_IGNORE) \
+              \( -name config -o -name 'asm-*' \) -prune \
+              -o -name '*.[chS]' -print; \
+         for ARCH in $(ALLINCLUDE_ARCHS) ; do \
+              find $(__srctree)include/asm-$${ARCH} $(RCS_FIND_IGNORE) \
+                   -name '*.[chS]' -print; \
+         done ; \
+         find $(__srctree)include/asm-generic $(RCS_FIND_IGNORE) \
+              -name '*.[chS]' -print )
+endef
+
+quiet_cmd_cscope-file = FILELST cscope.files
+      cmd_cscope-file = (echo \-k; echo \-q; $(all-sources)) > cscope.files
+
+quiet_cmd_cscope = MAKE    cscope.out
+      cmd_cscope = cscope -b
+
+cscope: FORCE
+       $(call cmd,cscope-file)
+       $(call cmd,cscope)
+
+quiet_cmd_TAGS = MAKE   $@
+define cmd_TAGS
+       rm -f $@; \
+       ETAGSF=`etags --version | grep -i exuberant >/dev/null &&     \
+                echo "-I __initdata,__exitdata,__acquires,__releases  \
+                      -I EXPORT_SYMBOL,EXPORT_SYMBOL_GPL              \
+                      --extra=+f --c-kinds=+px"`;                     \
+                $(all-sources) | xargs etags $$ETAGSF -a
+endef
+
+TAGS: FORCE
+       $(call cmd,TAGS)
+
+
+quiet_cmd_tags = MAKE   $@
+define cmd_tags
+       rm -f $@; \
+       CTAGSF=`ctags --version | grep -i exuberant >/dev/null &&     \
+                echo "-I __initdata,__exitdata,__acquires,__releases  \
+                      -I EXPORT_SYMBOL,EXPORT_SYMBOL_GPL              \
+                      --extra=+f --c-kinds=+px"`;                     \
+                $(all-sources) | xargs ctags $$CTAGSF -a
+endef
+
+tags: FORCE
+       $(call cmd,tags)
+
+
+# Scripts to check various things for consistency
+# ---------------------------------------------------------------------------
+
+includecheck:
+       find * $(RCS_FIND_IGNORE) \
+               -name '*.[hcS]' -type f -print | sort \
+               | xargs $(PERL) -w scripts/checkincludes.pl
+
+versioncheck:
+       find * $(RCS_FIND_IGNORE) \
+               -name '*.[hcS]' -type f -print | sort \
+               | xargs $(PERL) -w scripts/checkversion.pl
+
+namespacecheck:
+       $(PERL) $(srctree)/scripts/namespace.pl
+
+endif #ifeq ($(config-targets),1)
+endif #ifeq ($(mixed-targets),1)
+
+PHONY += checkstack
+checkstack:
+       $(OBJDUMP) -d busybox $$(find . -name '*.ko') | \
+       $(PERL) $(src)/scripts/checkstack.pl $(ARCH)
+
+kernelrelease:
+       $(if $(wildcard .kernelrelease), $(Q)echo $(KERNELRELEASE), \
+       $(error kernelrelease not valid - run 'make *config' to update it))
+kernelversion:
+       @echo $(KERNELVERSION)
+
+# Single targets
+# ---------------------------------------------------------------------------
+# Single targets are compatible with:
+# - build whith mixed source and output
+# - build with separate output dir 'make O=...'
+# - external modules
+#
+#  target-dir => where to store outputfile
+#  build-dir  => directory in kernel source tree to use
+
+ifeq ($(KBUILD_EXTMOD),)
+        build-dir  = $(patsubst %/,%,$(dir $@))
+        target-dir = $(dir $@)
+else
+        zap-slash=$(filter-out .,$(patsubst %/,%,$(dir $@)))
+        build-dir  = $(KBUILD_EXTMOD)$(if $(zap-slash),/$(zap-slash))
+        target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
+endif
+
+%.s: %.c prepare scripts FORCE
+       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+%.i: %.c prepare scripts FORCE
+       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+%.o: %.c prepare scripts FORCE
+       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+%.lst: %.c prepare scripts FORCE
+       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+%.s: %.S prepare scripts FORCE
+       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+%.o: %.S prepare scripts FORCE
+       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+
+# Modules
+/ %/: prepare scripts FORCE
+       $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
+       $(build)=$(build-dir)
+%.ko: prepare scripts FORCE
+       $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1)   \
+       $(build)=$(build-dir) $(@:.ko=.o)
+       $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost
+
+# FIXME Should go into a make.lib or something
+# ===========================================================================
+
+quiet_cmd_rmdirs = $(if $(wildcard $(rm-dirs)),CLEAN   $(wildcard $(rm-dirs)))
+      cmd_rmdirs = rm -rf $(rm-dirs)
+
+quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN   $(wildcard $(rm-files)))
+      cmd_rmfiles = rm -f $(rm-files)
+
+
+a_flags = -Wp,-MD,$(depfile) $(AFLAGS) $(AFLAGS_KERNEL) \
+         $(NOSTDINC_FLAGS) $(CPPFLAGS) \
+         $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o)
+
+quiet_cmd_as_o_S = AS      $@
+cmd_as_o_S       = $(CC) $(a_flags) -c -o $@ $<
+
+# read all saved command lines
+
+targets := $(wildcard $(sort $(targets)))
+cmd_files := $(wildcard .*.cmd $(foreach f,$(targets),$(dir $(f)).$(notdir $(f)).cmd))
+
+ifneq ($(cmd_files),)
+  $(cmd_files): ;      # Do not try to update included dependency files
+  include $(cmd_files)
+endif
+
+# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.clean obj=dir
+# Usage:
+# $(Q)$(MAKE) $(clean)=dir
+clean := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.clean obj
+
+endif  # skip-makefile
+
+PHONY += FORCE
+FORCE:
+
+-include $(srctree)/Makefile.custom
+
+# Declare the contents of the .PHONY variable as phony.  We keep that
+# information in a variable se we can use it in if_changed and friends.
+.PHONY: $(PHONY)
diff --git a/Makefile.custom b/Makefile.custom
new file mode 100644 (file)
index 0000000..a4db141
--- /dev/null
@@ -0,0 +1,160 @@
+# ==========================================================================
+# Build system
+# ==========================================================================
+
+busybox.links: $(srctree)/applets/busybox.mkll $(objtree)/include/autoconf.h $(srctree)/include/applets.h
+       $(Q)-$(SHELL) $^ >$@
+
+.PHONY: install
+ifeq ($(CONFIG_INSTALL_APPLET_SYMLINKS),y)
+INSTALL_OPTS:= --symlinks
+endif
+ifeq ($(CONFIG_INSTALL_APPLET_HARDLINKS),y)
+INSTALL_OPTS:= --hardlinks
+endif
+ifeq ($(CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS),y)
+ifeq ($(CONFIG_INSTALL_SH_APPLET_SYMLINK),y)
+INSTALL_OPTS:= --sw-sh-sym
+endif
+ifeq ($(CONFIG_INSTALL_SH_APPLET_HARDLINK),y)
+INSTALL_OPTS:= --sw-sh-hard
+endif
+ifeq ($(CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER),y)
+INSTALL_OPTS:= --scriptwrapper
+endif
+endif
+install: $(srctree)/applets/install.sh busybox busybox.links
+       $(Q)DO_INSTALL_LIBS="$(strip $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS))" \
+               $(SHELL) $< $(CONFIG_PREFIX) $(INSTALL_OPTS)
+ifeq ($(strip $(CONFIG_FEATURE_SUID)),y)
+       @echo
+       @echo
+       @echo --------------------------------------------------
+       @echo You will probably need to make your busybox binary
+       @echo setuid root to ensure all configured applets will
+       @echo work properly.
+       @echo --------------------------------------------------
+       @echo
+endif
+
+uninstall: busybox.links
+       rm -f $(CONFIG_PREFIX)/bin/busybox
+       for i in `cat busybox.links` ; do rm -f $(CONFIG_PREFIX)$$i; done
+ifneq ($(strip $(DO_INSTALL_LIBS)),n)
+       for i in $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS); do \
+               rm -f $(CONFIG_PREFIX)$$i; \
+       done
+endif
+
+check test: busybox busybox.links
+       bindir=$(objtree) srcdir=$(srctree)/testsuite SED="$(SED)" \
+       $(SHELL) $(srctree)/testsuite/runtest $(if $(KBUILD_VERBOSE:0=),-v)
+
+.PHONY: release
+release: distclean
+       cd ..; \
+       rm -r -f busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION); \
+       cp -a busybox busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) && { \
+       find busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)/ -type d \
+               -name .svn \
+               -print \
+               -exec rm -r -f {} \; ; \
+       find busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)/ -type f \
+               -name .\#* \
+               -print \
+               -exec rm -f {} \; ; \
+       tar -czf busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION).tar.gz \
+               busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)/ ; }
+
+.PHONY: checkhelp
+checkhelp:
+       $(Q)$(srctree)/scripts/checkhelp.awk \
+               $(patsubst %,$(srctree)/%,$(wildcard $(patsubst %,%/Config.in,$(busybox-dirs) ./)))
+
+.PHONY: sizes
+sizes: busybox_unstripped
+       $(NM) --size-sort $(<)
+
+.PHONY: bloatcheck
+bloatcheck: busybox_old busybox_unstripped
+       @$(srctree)/scripts/bloat-o-meter busybox_old busybox_unstripped
+       @$(CROSS_COMPILE)size busybox_old busybox_unstripped
+
+.PHONY: baseline
+baseline: busybox_unstripped
+       @mv busybox_unstripped busybox_old
+
+.PHONY: objsizes
+objsizes: busybox_unstripped
+       $(srctree)/scripts/objsizes
+
+.PHONY: stksizes
+stksizes: busybox_unstripped
+       $(CROSS_COMPILE)objdump -d busybox_unstripped | $(srctree)/scripts/checkstack.pl $(ARCH) | uniq
+
+.PHONY: bigdata
+bigdata: busybox_unstripped
+       $(CROSS_COMPILE)nm --size-sort busybox_unstripped | grep -vi ' [tr] '
+
+# Documentation Targets
+.PHONY: doc
+doc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html
+
+docs/busybox.pod: $(srctree)/docs/busybox_header.pod \
+               $(srctree)/include/usage.h \
+               $(srctree)/docs/busybox_footer.pod \
+               $(srctree)/docs/autodocifier.pl
+       $(disp_doc)
+       $(Q)-mkdir -p docs
+       $(Q)-( cat $(srctree)/docs/busybox_header.pod ; \
+           $(srctree)/docs/autodocifier.pl $(srctree)/include/usage.h ; \
+           cat $(srctree)/docs/busybox_footer.pod ; ) > docs/busybox.pod
+
+docs/BusyBox.txt: docs/busybox.pod
+       $(disp_doc)
+       $(Q)-mkdir -p docs
+       $(Q)-pod2text $< > $@
+
+docs/BusyBox.1: docs/busybox.pod
+       $(disp_doc)
+       $(Q)-mkdir -p docs
+       $(Q)-pod2man --center=BusyBox --release="version $(VERSIO