source: projects/vutils/branches/6/mkkerneldoth.sh @ 1120

Revision 1120, 1.3 KB checked in by daisuke, 14 years ago (diff)

import vutils-2.2.4 from internal cvs repository

Line 
1#!/bin/bash
2#
3# Generate a header that defines the boot kernel.
4#
5# taken from initscripts (/etc/rc.d/rc.sysinit)
6
7BOOT_KERNEL_H=/boot/kernel.h
8
9KERNEL_TYPE=`uname -r | sed 's_^[^se]*\(\|smp\|enterprise\)$_-\1_;s_^-$__'`
10KERNEL_RELEASE=`uname -r | sed 's|smp\|enterprise||g'`
11KERNEL_ARCH=`rpm -q --qf '%{ARCH}' kernel$KERNEL_TYPE-$KERNEL_RELEASE 2>/dev/null`
12if [ -z "$KERNEL_ARCH" ] ; then
13    KERNEL_ARCH=`rpm -q --qf '%{ARCH}' kernel24$KERNEL_TYPE-$KERNEL_RELEASE 2>/dev/null`
14fi
15OLD_KERNEL_ARCH_TYPE=`sed -n 's_^/\* Kernel type \(.*\) \*/_\1_p' /boot/kernel.h 2>/dev/null`
16if [ -n "$KERNEL_ARCH" -a "$KERNEL_ARCH$KERNEL_TYPE" != "$OLD_KERNEL_ARCH_TYPE" ]; then
17  ENTERPRISE='0'
18  SMP='0'
19  UP='0'
20  case "$KERNEL_TYPE" in
21  -smp) SMP='1';;
22  -enterprise) ENTERPRISE='1';;
23  *) UP='1';;
24  esac
25  cat > $BOOT_KERNEL_H << EOF
26/* This file is automatically generated at boot time. */
27#ifndef __BOOT_KERNEL_H_
28#define __BOOT_KERNEL_H_
29
30/* Kernel type $KERNEL_ARCH$KERNEL_TYPE */
31
32#ifndef __MODULE_KERNEL_$KERNEL_ARCH
33#define __MODULE_KERNEL_$KERNEL_ARCH 1
34#endif
35
36#ifndef __BOOT_KERNEL_ENTERPRISE
37#define __BOOT_KERNEL_ENTERPRISE $ENTERPRISE
38#endif
39
40#ifndef __BOOT_KERNEL_SMP
41#define __BOOT_KERNEL_SMP $SMP
42#endif
43
44#ifndef __BOOT_KERNEL_UP
45#define __BOOT_KERNEL_UP $UP
46#endif
47
48#endif
49EOF
50fi
Note: See TracBrowser for help on using the repository browser.