UBUNTU: SAUCE: (no-up) version: Implement version_signature proc file.

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Acked-by: Tim Gardener <tim.gardner@canonical.com>
This commit is contained in:
Andy Whitcroft
2008-11-27 19:12:07 +00:00
committed by Mauro (mdrjr) Ribeiro
parent a70c05715a
commit ecc0f802a7
4 changed files with 46 additions and 1 deletions

View File

@@ -33,3 +33,4 @@ proc-$(CONFIG_PROC_KCORE) += kcore.o
proc-$(CONFIG_PROC_VMCORE) += vmcore.o
proc-$(CONFIG_PRINTK) += kmsg.o
proc-$(CONFIG_PROC_PAGE_MONITOR) += page.o
proc-y += version_signature.o

View File

@@ -0,0 +1,31 @@
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/utsname.h>
static int version_signature_proc_show(struct seq_file *m, void *v)
{
seq_printf(m, "%s\n", CONFIG_VERSION_SIGNATURE);
return 0;
}
static int version_signature_proc_open(struct inode *inode, struct file *file)
{
return single_open(file, version_signature_proc_show, NULL);
}
static const struct file_operations version_signature_proc_fops = {
.open = version_signature_proc_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};
static int __init proc_version_signature_init(void)
{
proc_create("version_signature", 0, NULL, &version_signature_proc_fops);
return 0;
}
module_init(proc_version_signature_init);

View File

@@ -281,6 +281,15 @@ config DEFAULT_HOSTNAME
config ARCH_NO_SWAP
bool
config VERSION_SIGNATURE
string "Arbitrary version signature"
help
This string will be created in a file, /proc/version_signature. It
is useful in determining arbitrary data about your kernel. For instance,
if you have several kernels of the same version, but need to keep track
of a revision of the same kernel, but not affect it's ability to load
compatible modules, this is the easiest way to do that.
config SWAP
bool "Support for paging of anonymous memory (swap)"
depends on MMU && BLOCK && !ARCH_NO_SWAP

View File

@@ -45,7 +45,11 @@ EXPORT_SYMBOL_GPL(init_uts_ns);
/* FIXED STRINGS! Don't touch! */
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
#ifdef CONFIG_VERSION_SIGNATURE
" (" CONFIG_VERSION_SIGNATURE ")"
#endif
"\n";
const char linux_proc_banner[] =
"%s version %s"