diff --git a/coreutils/Config.in b/coreutils/Config.in
index a299506..466e8b8 100644
--- a/coreutils/Config.in
+++ b/coreutils/Config.in
@@ -164,6 +164,12 @@
 	  a command; without options it displays the current
 	  environment.
 
+config CONFIG_PRINTENV
+	bool "printenv"
+	default n
+	help
+	  printenv is used to print all or part of environment.
+
 config CONFIG_EXPR
 	bool "expr"
 	default n
diff --git a/coreutils/Makefile.in b/coreutils/Makefile.in
index 1a4872f..130bdf4 100644
--- a/coreutils/Makefile.in
+++ b/coreutils/Makefile.in
@@ -60,6 +60,7 @@
 COREUTILS-$(CONFIG_MV)      	+= mv.o
 COREUTILS-$(CONFIG_NICE)    	+= nice.o
 COREUTILS-$(CONFIG_OD)      	+= od.o
+COREUTILS-$(CONFIG_PRINTENV)	+= printenv.o
 COREUTILS-$(CONFIG_PRINTF)  	+= printf.o
 COREUTILS-$(CONFIG_PWD)     	+= pwd.o
 COREUTILS-$(CONFIG_REALPATH)	+= realpath.o
diff --git a/coreutils/printenv.c b/coreutils/printenv.c
new file mode 100644
index 0000000..10f9dd2
--- /dev/null
+++ b/coreutils/printenv.c
@@ -0,0 +1,52 @@
+/*
+ * printenv implementation for busybox
+ *
+ * Copyright (C) 2005 by Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 2005 by Mike Frysinger <vapier@gentoo.org>
+ *
+ * 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
+ *
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+int printenv_main(int argc, char **argv)
+{
+	extern char **environ;
+	int e = 0;
+
+	/* no variables specified, show whole env */
+	if (argc == 1)
+		while (environ[e])
+			puts(environ[e++]);
+
+	/* search for specified variables and print them out if found */
+	else {
+		int i;
+		size_t l;
+		char *arg, *env;
+
+		for (i=1; (arg = argv[i]); ++i)
+			for (; (env = environ[e]); ++e) {
+				l = strlen(arg);
+				if (!strncmp(env, arg, l) && env[l] == '=')
+					puts(env + l + 1);
+			}
+	}
+
+	exit(EXIT_SUCCESS);
+}
