Reworked the source so it will compile and run under glibc 2.0.7
and linux kernel 2.0.36 (though the dubious reasons why someone
would want to do that defy imagination ;)
 -Erik
diff --git a/init/init.c b/init/init.c
index 5203713..ba65f51 100644
--- a/init/init.c
+++ b/init/init.c
@@ -41,6 +41,7 @@
 #include <linux/serial.h>	/* for serial_struct */
 #include <sys/vt.h>		/* for vt_stat */
 #include <sys/ioctl.h>
+#include <linux/version.h>
 #ifdef BB_SYSLOGD
 #include <sys/syslog.h>
 #endif
@@ -49,6 +50,10 @@
 #error Sorry, I depend on the /proc filesystem right now.
 #endif
 
+#ifndef KERNEL_VERSION
+#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
+#endif
+
 
 #define VT_PRIMARY      "/dev/tty1"	/* Primary virtual console */
 #define VT_SECONDARY    "/dev/tty2"	/* Virtual console */
@@ -418,9 +423,11 @@
 	    "The system is halted. Press CTRL-ALT-DEL or turn off power\r\n");
     sync();
 #ifndef DEBUG_INIT
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,2,0)
     if (sig == SIGUSR2)
 	reboot(RB_POWER_OFF);
     else
+#endif
 	reboot(RB_HALT_SYSTEM);
 #endif
     exit(0);