Messages in this thread Patch in this message | | | Date | Tue, 21 May 1996 15:52:24 -0600 (MDT) | From | Joel Maslak <> | Subject | Animal patch, Version 1.02 |
| |
Below is version 1.02 of the animal patch.
Features: 1. /proc/animal is now selectable via config scripts 2. /proc/version now displays kernel name: Linux version 1.99.6 (root@blackhole.mordor) (gcc version 2.7.2) #6-pre-2.0 Tue May 21 15:21:34 MDT 1996 <Greased Platypus on Warm Milk>
3. Help added for config selections 4. Kernel displays name durring boot:
Linux version 1.99.6 (root@blackhole.mordor) (gcc version 2.7.2) #6-pre-2.0 Tue May 21 15:21:34 MDT 1996 <Greased Platypus on Warm Milk>
Expect /proc/animal support to go away. This seems kind of redundant now that we have /proc/version support.
I *NEED* Beta testers <Grin>. Please send me info if you like this, don't like this, etc! This patch ahs been tested with pre-2.0.6.
Joel Maslak Lost in Wyoming!
Patch follows:
diff -ur --new-file linux-1.99.6.orig/Documentation/Configure.help linux/Documentation/Configure.help --- linux-1.99.6.orig/Documentation/Configure.help Sun May 19 06:29:28 1996 +++ linux/Documentation/Configure.help Tue May 21 15:31:54 1996 @@ -2774,7 +2774,17 @@ source of trouble if two devices are mistakenly configured to use the same IRQ). Several programs depend on this, so everyone should say Y here. - + +Kernel nick-name support +CONFIG_PROC_ANIMAL + By saying Y here, you will install /proc/animal. This file is used + to determine the full name of the current release. For instance, + pre2.0.5's name was "Greased Platypus on Warm Milk". Nothing bad will + happen if you say N (yet!), but this driver takes less than 1K of RAM. + Thus, you should probably say Y, unless you are running Linux in an + embedded system. Note that saying N will NOT affect the /proc/version + file (which also lists animal name). + NFS filesystem support CONFIG_NFS_FS If you are connected to some other (usually local) Unix computer diff -ur --new-file linux-1.99.6.orig/MAINTAINERS linux/MAINTAINERS --- linux-1.99.6.orig/MAINTAINERS Sun May 12 12:33:00 1996 +++ linux/MAINTAINERS Tue May 21 10:26:10 1996 @@ -311,6 +311,11 @@ W: http://www.advansys.com/linux S: Maintained +KERNEL NAMING SYSTEM (/proc/animal) SUPPORT +P: Joel Maslak +M: Joel Maslak <j@pobox.com> +S: Maintained + CREDITS FILE P: John A. Martin M: jam@acm.org diff -ur --new-file linux-1.99.6.orig/fs/Config.in linux/fs/Config.in --- linux-1.99.6.orig/fs/Config.in Sun May 19 06:22:19 1996 +++ linux/fs/Config.in Tue May 21 10:20:31 1996 @@ -18,6 +18,12 @@ dep_tristate 'umsdos: Unix like fs on top of std MSDOS FAT fs' CONFIG_UMSDOS_FS $CONFIG_MSDOS_FS bool '/proc filesystem support' CONFIG_PROC_FS +if [ "$CONFIG_PROC_FS" = "y" ]; then + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + bool ' Kernel nick-name support in /proc/animal' CONFIG_PROC_ANIMAL + fi +fi + if [ "$CONFIG_INET" = "y" ]; then tristate 'NFS filesystem support' CONFIG_NFS_FS if [ "$CONFIG_NFS_FS" = "y" ]; then diff -ur --new-file linux-1.99.6.orig/fs/proc/array.c linux/fs/proc/array.c --- linux-1.99.6.orig/fs/proc/array.c Tue Apr 30 04:09:45 1996 +++ linux/fs/proc/array.c Tue May 21 15:17:43 1996 @@ -25,6 +25,9 @@ * * Bruno Haible : remove 4K limit for the maps file * <haible@ma2s2.mathematik.uni-karlsruhe.de> + * + * Joel Maslak : Added animal extension. + * <j@pobox.com> */ #include <linux/types.h> @@ -43,6 +46,10 @@ #include <linux/mm.h> #include <linux/pagemap.h> #include <linux/swap.h> +#ifdef CONFIG_PROC_ANIMAL +# include <linux/version.h> +# include <linux/animal.h> +#endif #include <asm/segment.h> #include <asm/pgtable.h> @@ -187,6 +194,27 @@ nr_running, nr_tasks, last_pid); } +#ifdef CONFIG_PROC_ANIMAL + + +/* + * Animal Code + * + * Returns the name of the kernel + * 1.00 -- Initial Version, Joel C. Maslak <j@pobox.com> + * 1.01 -- Spelling and support for pre2.0, lilo <TaRDis@mail.utexas.edu> + * 1.02 -- Configuration choices, init.c code additions, + * Joel C. Maslak <j@pobox.com> + */ + +static int get_animal(char * buffer) +{ + return sprintf(buffer, "%s %s %s %s\n", GET_ANIMAL_VERSION, + GET_ANIMAL_PATCHLEVEL, GET_ANIMAL_SUBLEVEL0, + GET_ANIMAL_SUBLEVEL1); +} +#endif + static int get_kstat(char * buffer) { int i, len; @@ -1044,6 +1072,10 @@ #endif case PROC_LOCKS: return get_locks_status(page); +#ifdef CONFIG_PROC_ANIMAL + case PROC_ANIMAL: + return get_animal(page); +#endif } return -EBADF; } diff -ur --new-file linux-1.99.6.orig/fs/proc/root.c linux/fs/proc/root.c --- linux-1.99.6.orig/fs/proc/root.c Tue Apr 30 04:09:45 1996 +++ linux/fs/proc/root.c Tue May 21 10:34:39 1996 @@ -293,6 +293,12 @@ S_IFLNK | S_IRUGO | S_IWUGO | S_IXUGO, 1, 0, 0, 64, &proc_self_inode_operations, }); +#ifdef CONFIG_PROC_ANIMAL + proc_register(&proc_root, &(struct proc_dir_entry) { + PROC_ANIMAL, 6, "animal", + S_IFREG | S_IRUGO, 1, 0, 0, + }); +#endif proc_register(&proc_root, &proc_net); proc_register(&proc_root, &proc_scsi); proc_register(&proc_root, &proc_sys_root); diff -ur --new-file linux-1.99.6.orig/include/linux/animal.h linux/include/linux/animal.h --- linux-1.99.6.orig/include/linux/animal.h Wed Dec 31 17:00:00 1969 +++ linux/include/linux/animal.h Sun May 19 11:07:10 1996 @@ -0,0 +1,135 @@ +/* + * /proc/animal header file + * Joel C. Maslak, 1996, j@pobox.com + * + * Idea from: Andrew Esh + */ + +#define GET_ANIMAL_INTERNAL_1 ( LINUX_VERSION_CODE / 65536) +#define GET_ANIMAL_INTERNAL_2 ((LINUX_VERSION_CODE % 65536) / 256) +#define GET_ANIMAL_INTERNAL_3 ((LINUX_VERSION_CODE % 256) / 16) +#define GET_ANIMAL_INTERNAL_4 ( LINUX_VERSION_CODE % 16) + +#if GET_ANIMAL_INTERNAL_1 == 1 +# define GET_ANIMAL_VERSION "Greased" +#elif GET_ANIMAL_INTERNAL_1 == 2 +# define GET_ANIMAL_VERSION "Turbocharged" +#elif GET_ANIMAL_INTERNAL_1 == 3 +# define GET_ANIMAL_VERSION "Supercharged" +#elif GET_ANIMAL_INTERNAL_1 == 4 +# define GET_ANIMAL_VERSION "Stealthy" +#elif GET_ANIMAL_INTERNAL_1 == 5 +# define GET_ANIMAL_VERSION "Electrified" +#elif GET_ANIMAL_INTERNAL_1 == 6 +# define GET_ANIMAL_VERSION "Tired" +#elif GET_ANIMAL_INTERNAL_1 == 7 +# define GET_ANIMAL_VERSION "Crazy" +#elif GET_ANIMAL_INTERNAL_1 == 8 +# define GET_ANIMAL_VERSION "Dyslexic" +#elif GET_ANIMAL_INTERNAL_1 == 9 +# define GET_ANIMAL_VERSION "Unbeatable" +#else +# define GET_ANIMAL_VERSION "Unknown" +#endif + + +#if GET_ANIMAL_INTERNAL_2 == 0 +# define GET_ANIMAL_PATCHLEVEL "Chicken" +#elif GET_ANIMAL_INTERNAL_2 == 1 +# define GET_ANIMAL_PATCHLEVEL "GroundHog" +#elif GET_ANIMAL_INTERNAL_2 == 2 +# define GET_ANIMAL_PATCHLEVEL "Ostrich" +#elif GET_ANIMAL_INTERNAL_2 == 3 +# define GET_ANIMAL_PATCHLEVEL "HedgeHog" +#elif GET_ANIMAL_INTERNAL_2 == 4 +# define GET_ANIMAL_PATCHLEVEL "Penguin" +#elif GET_ANIMAL_INTERNAL_2 == 5 +# define GET_ANIMAL_PATCHLEVEL "Kitten" +#elif GET_ANIMAL_INTERNAL_2 == 6 +# define GET_ANIMAL_PATCHLEVEL "Owl" +#elif GET_ANIMAL_INTERNAL_2 == 7 +# define GET_ANIMAL_PATCHLEVEL "Shrew" +#elif GET_ANIMAL_INTERNAL_2 == 8 +# define GET_ANIMAL_PATCHLEVEL "Rabbit" +#elif GET_ANIMAL_INTERNAL_2 == 9 +# define GET_ANIMAL_PATCHLEVEL "Hawk" +#elif GET_ANIMAL_INTERNAL_2 == 99 +# define GET_ANIMAL_PATCHLEVEL "Platypus" +#else +# define GET_ANIMAL_PATCHLEVEL "Unknown" +#endif + + +#if GET_ANIMAL_INTERNAL_3 == 0 +# define GET_ANIMAL_SUBLEVEL0 "on" +#elif GET_ANIMAL_INTERNAL_3 == 1 +# define GET_ANIMAL_SUBLEVEL0 "selling" +#elif GET_ANIMAL_INTERNAL_3 == 2 +# define GET_ANIMAL_SUBLEVEL0 "feeling the effects of" +#elif GET_ANIMAL_INTERNAL_3 == 3 +# define GET_ANIMAL_SUBLEVEL0 "spewing" +#elif GET_ANIMAL_INTERNAL_3 == 4 +# define GET_ANIMAL_SUBLEVEL0 "needing" +#elif GET_ANIMAL_INTERNAL_3 == 5 +# define GET_ANIMAL_SUBLEVEL0 "buying" +#elif GET_ANIMAL_INTERNAL_3 == 6 +# define GET_ANIMAL_SUBLEVEL0 "handing out" +#elif GET_ANIMAL_INTERNAL_3 == 7 +# define GET_ANIMAL_SUBLEVEL0 "whining for" +#elif GET_ANIMAL_INTERNAL_3 == 8 +# define GET_ANIMAL_SUBLEVEL0 "looking for" +#elif GET_ANIMAL_INTERNAL_3 == 9 +# define GET_ANIMAL_SUBLEVEL0 "making" +#elif GET_ANIMAL_INTERNAL_3 == 10 +# define GET_ANIMAL_SUBLEVEL0 "abusing" +#elif GET_ANIMAL_INTERNAL_3 == 11 +# define GET_ANIMAL_SUBLEVEL0 "missing" +#elif GET_ANIMAL_INTERNAL_3 == 12 +# define GET_ANIMAL_SUBLEVEL0 "wanting" +#elif GET_ANIMAL_INTERNAL_3 == 13 +# define GET_ANIMAL_SUBLEVEL0 "seeing" +#elif GET_ANIMAL_INTERNAL_3 == 14 +# define GET_ANIMAL_SUBLEVEL0 "imagining" +#elif GET_ANIMAL_INTERNAL_3 == 15 +# define GET_ANIMAL_SUBLEVEL0 "remembering" +#else +# define GET_ANIMAL_SUBLEVEL0 "Unknown" +#endif + + +#if GET_ANIMAL_INTERNAL_4 == 0 +# define GET_ANIMAL_SUBLEVEL1 "LSD" +#elif GET_ANIMAL_INTERNAL_4 == 1 +# define GET_ANIMAL_SUBLEVEL1 "Quaaludes" +#elif GET_ANIMAL_INTERNAL_4 == 2 +# define GET_ANIMAL_SUBLEVEL1 "Prozac" +#elif GET_ANIMAL_INTERNAL_4 == 3 +# define GET_ANIMAL_SUBLEVEL1 "Pot" +#elif GET_ANIMAL_INTERNAL_4 == 4 +# define GET_ANIMAL_SUBLEVEL1 "Whiskey" +#elif GET_ANIMAL_INTERNAL_4 == 5 +# define GET_ANIMAL_SUBLEVEL1 "Steroids" +#elif GET_ANIMAL_INTERNAL_4 == 6 +# define GET_ANIMAL_SUBLEVEL1 "Warm Milk" +#elif GET_ANIMAL_INTERNAL_4 == 7 +# define GET_ANIMAL_SUBLEVEL1 "Hot Java" +#elif GET_ANIMAL_INTERNAL_4 == 8 +# define GET_ANIMAL_SUBLEVEL1 "Mountain Dew" +#elif GET_ANIMAL_INTERNAL_4 == 9 +# define GET_ANIMAL_SUBLEVEL1 "Jolt Cola" +#elif GET_ANIMAL_INTERNAL_4 == 10 +# define GET_ANIMAL_SUBLEVEL1 "Cocaine" +#elif GET_ANIMAL_INTERNAL_4 == 11 +# define GET_ANIMAL_SUBLEVEL1 "Dark Rum" +#elif GET_ANIMAL_INTERNAL_4 == 12 +# define GET_ANIMAL_SUBLEVEL1 "Endorphins" +#elif GET_ANIMAL_INTERNAL_4 == 13 +# define GET_ANIMAL_SUBLEVEL1 "Adrenaline" +#elif GET_ANIMAL_INTERNAL_4 == 14 +# define GET_ANIMAL_SUBLEVEL1 "Vitamins" +#elif GET_ANIMAL_INTERNAL_4 == 15 +# define GET_ANIMAL_SUBLEVEL1 "Nicotine" +#else +# define GET_ANIMAL_SUBLEVEL1 "Unknown" +#endif + diff -ur --new-file linux-1.99.6.orig/include/linux/proc_fs.h linux/include/linux/proc_fs.h --- linux-1.99.6.orig/include/linux/proc_fs.h Sun May 19 07:27:21 1996 +++ linux/include/linux/proc_fs.h Tue May 21 14:39:11 1996 @@ -43,7 +43,8 @@ PROC_MTAB, PROC_MD, PROC_RTC, - PROC_LOCKS + PROC_LOCKS, + PROC_ANIMAL }; enum pid_directory_inos { diff -ur --new-file linux-1.99.6.orig/init/version.c linux/init/version.c --- linux-1.99.6.orig/init/version.c Sun Nov 19 08:45:02 1995 +++ linux/init/version.c Tue May 21 15:21:32 1996 @@ -6,10 +6,17 @@ * May be freely distributed as part of Linux. */ +/* + * Changes: + * Joel Maslak : Added animal name to boot code + * <j@pobox.com> (animal 1.02) + */ + #include <linux/config.h> #include <linux/utsname.h> #include <linux/version.h> #include <linux/compile.h> +#include <linux/animal.h> /* make the "checkconfig" script happy: we really need to include config.h */ #ifdef CONFIG_BOGUS @@ -27,4 +34,6 @@ const char *linux_banner = "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" - LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n"; + LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION + " <" GET_ANIMAL_VERSION " " GET_ANIMAL_PATCHLEVEL " " + GET_ANIMAL_SUBLEVEL0 " " GET_ANIMAL_SUBLEVEL1 ">" "\n";
| |