diff -u --recursive --new-file linux-2.0.30/init/patches/output-patch linux/init/patches/output-patch
--- linux-2.0.30/init/patches/output-patch	Thu Jan  1 01:00:00 1970
+++ linux/init/patches/output-patch	Mon Jul  7 09:06:07 1997
@@ -0,0 +1 @@
+Linux Unofficial Patch Printout (2.0.30)
diff -u --recursive --new-file linux-2.0.30/Makefile linux/Makefile
--- linux-2.0.30/Makefile	Tue May  6 20:27:40 1997
+++ linux/Makefile	Mon Jul  7 09:16:21 1997
@@ -233,7 +233,20 @@
 	@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver
 	@mv -f .ver $@
 
-init/version.o: init/version.c include/linux/compile.h
+init/patches.h: dummy
+	@rm -f init/patches.h
+	@if [ 'x"init/patches/*"' !=  "x" ]; then \
+		(echo "static const char *patches[] = {"; \
+	  	 for patch in init/patches/*; do \
+			 echo -n '    "'; tr -d '\n' < $$patch; echo '",'; \
+		 done; \
+	  	 echo "};" ) > init/patches.h ; \
+		 echo "Created Patch List" ;\
+	 else \
+		echo "const char *patches[] = {};" > init/patches.h; \
+	 fi
+
+init/version.o: init/version.c include/linux/compile.h init/patches.h
 	$(CC) $(CFLAGS) -DUTS_MACHINE='"$(ARCH)"' -c -o init/version.o init/version.c
 
 init/main.o: init/main.c
@@ -308,7 +321,7 @@
 endif
 
 clean:	archclean
-	rm -f kernel/ksyms.lst include/linux/compile.h
+	rm -f kernel/ksyms.lst include/linux/compile.h init/patches.h
 	rm -f core `find . -name '*.[oas]' ! -regex '.*lxdialog/.*' -print`
 	rm -f core `find . -type f -name 'core' -print`
 	rm -f vmlinux System.map
diff -u --recursive --new-file linux-2.0.30/init/main.c linux/init/main.c
--- linux-2.0.30/init/main.c	Tue May  6 20:27:18 1997
+++ linux/init/main.c	Mon Jul  7 08:45:56 1997
@@ -67,6 +67,7 @@
 extern void sock_init(void);
 extern unsigned long pci_init(unsigned long, unsigned long);
 extern void sysctl_init(void);
+extern void print_patches(void);
 
 extern void no_scroll(char *str, int *ints);
 extern void swap_setup(char *str, int *ints);
@@ -840,6 +841,8 @@
 	check_bugs();
 
 	printk(linux_banner);
+	print_patches();
+	
 #ifdef __SMP__
 	smp_init();
 #endif
diff -u --recursive --new-file linux-2.0.30/init/version.c linux/init/version.c
--- linux-2.0.30/init/version.c	Sun Nov 19 16:45:02 1995
+++ linux/init/version.c	Mon Jul  7 09:40:21 1997
@@ -10,6 +10,9 @@
 #include <linux/utsname.h>
 #include <linux/version.h>
 #include <linux/compile.h>
+#include <linux/kernel.h>
+
+#include "patches.h"
 
 /* make the "checkconfig" script happy: we really need to include config.h */
 #ifdef CONFIG_BOGUS
@@ -28,3 +31,18 @@
 const char *linux_banner = 
 	"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
 	LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
+
+void print_patches(void)
+{
+	int i;
+  
+	if(sizeof(patches)) {
+		printk("*** Installed patches:\n");
+
+		for(i=0; i < sizeof(patches)/sizeof(char *); i++) {
+			printk("%s\n", patches[i]);
+		}
+
+		printk("*** End of Patches\n");
+	}
+}

