This was a straightforward copy the 22 stuff patch, with one minor exception.
I added a 'typedef unsigned int uint32_t;' to one of the new param header
files for i386_linux3 to fix a problem with building kdump.c.
I have not tested running the kernel module/cache manager for this,
however, it compiled fine, and the user space stuff works. (I might be
able to test it next week some time when I can reboot one of these
machines, can't do that at the moment though.)
-- Nathan
------------------------------------------------------------
Nathan Neulinger EMail: [EMAIL PROTECTED]
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
Index: BUILDNOTES
===================================================================
RCS file: /cvs/openafs/src/BUILDNOTES,v
retrieving revision 1.1
diff -u -r1.1 BUILDNOTES
--- BUILDNOTES 2000/12/02 18:17:50 1.1
+++ BUILDNOTES 2000/12/14 15:47:01
@@ -1,5 +1,10 @@
In this file you'll find notes to help you build OpenAFS on various platforms.
+Redhat 5.2 (i386_linux3):
+ Transarc AFS used i386_linux22 for this, if you're going to build
+ OpenAFS using the @sys links, you need to change the sysname to
+ i386_linux3 first using the 'fs sysname' command.
+
Redhat 7.0 (i386_linux22):
src/venus/kdump.c may fail to compile with the gcc included with
RedHat 7.0; You'll need to use kgcc to compile it. You should
Index: README
===================================================================
RCS file: /cvs/openafs/src/README,v
retrieving revision 1.4
diff -u -r1.4 README
--- README 2000/12/02 18:06:26 1.4
+++ README 2000/12/14 15:47:01
@@ -20,6 +20,8 @@
alpha_dux40/
i386_linux22/
+ i386_linux3/
+ i386_linux24/
rs_aix42/
sun4x_56/
sun4x_57/
@@ -33,6 +35,10 @@
hp_ux110/
sgi_65/
+
+ NOTE: i386_linux22 is 2.2.x kernel with glibc 2.0.x, transarc used
+ i386_linux22 for this, so if building on AFS, you'll need to change
+ your sysname first.
2. Within each of those directories, create a dest/ and obj/ directory.
Index: WINNT/doc/install/Documentation/en_US/html/SysAdminGd/auagd016.htm
===================================================================
RCS file:
/cvs/openafs/src/WINNT/doc/install/Documentation/en_US/html/SysAdminGd/auagd016.htm,v
retrieving revision 1.1
diff -u -r1.1 auagd016.htm
--- WINNT/doc/install/Documentation/en_US/html/SysAdminGd/auagd016.htm 2000/11/04
02:18:58 1.1
+++ WINNT/doc/install/Documentation/en_US/html/SysAdminGd/auagd016.htm 2000/12/14
+15:47:04
@@ -753,6 +753,8 @@
.proto \
.sun4x_56 \
.i386_linux22 \
+ .i386_linux3 \
+ .i386_linux24 \
.hp_ux110
</PRE>
<P><H3><A NAME="HDRWQ596" HREF="auagd002.htm#ToC_523">The Makefile Instructions
Section</A></H3>
Index: WINNT/doc/install/Documentation/ja_JP/html/SysAdminGd/auagd016.htm
===================================================================
RCS file:
/cvs/openafs/src/WINNT/doc/install/Documentation/ja_JP/html/SysAdminGd/auagd016.htm,v
retrieving revision 1.1
diff -u -r1.1 auagd016.htm
--- WINNT/doc/install/Documentation/ja_JP/html/SysAdminGd/auagd016.htm 2000/11/04
02:20:29 1.1
+++ WINNT/doc/install/Documentation/ja_JP/html/SysAdminGd/auagd016.htm 2000/12/14
+15:47:04
@@ -524,6 +524,8 @@
.proto \
.sun4x_56 \
.i386_linux22 \
+ .i386_linux3 \
+ .i386_linux24 \
.hp_ux110
</PRE>
<P><H3><A NAME="HDRWQ597" HREF="auagd002.htm#ToC_523">MAKE
�t�@�C���̖��ߋ@�\�O���[�v</A></H3>
Index: WINNT/doc/install/Documentation/ko_KR/html/SysAdminGd/auagd016.htm
===================================================================
RCS file:
/cvs/openafs/src/WINNT/doc/install/Documentation/ko_KR/html/SysAdminGd/auagd016.htm,v
retrieving revision 1.1
diff -u -r1.1 auagd016.htm
--- WINNT/doc/install/Documentation/ko_KR/html/SysAdminGd/auagd016.htm 2000/11/04
02:20:50 1.1
+++ WINNT/doc/install/Documentation/ko_KR/html/SysAdminGd/auagd016.htm 2000/12/14
+15:47:06
@@ -702,6 +702,8 @@
.proto \
.sun4x_56 \
.i386_linux22 \
+ .i386_linux3 \
+ .i386_linux24 \
.hp_ux110
</PRE>
<P><H3><A NAME="HDRWQ444" HREF="auagd002.htm#ToC_523">Makefile ���� ����</A></H3>
Index: config/afs_sysnames.h
===================================================================
RCS file: /cvs/openafs/src/config/afs_sysnames.h,v
retrieving revision 1.4
diff -u -r1.4 afs_sysnames.h
--- config/afs_sysnames.h 2000/11/06 04:24:47 1.4
+++ config/afs_sysnames.h 2000/12/14 15:47:07
@@ -109,6 +109,7 @@
#define SYS_NAME_ID_i386_linux2 1500
#define SYS_NAME_ID_i386_linux22 1501
#define SYS_NAME_ID_i386_linux24 1502
+#define SYS_NAME_ID_i386_linux3 1503
#define SYS_NAME_ID_ppc_linux2 1600
#define SYS_NAME_ID_ppc_linux22 1601
Index: libafs/MakefileProto.LINUX
===================================================================
RCS file: /cvs/openafs/src/libafs/MakefileProto.LINUX,v
retrieving revision 1.3
diff -u -r1.3 MakefileProto.LINUX
--- libafs/MakefileProto.LINUX 2000/11/05 20:02:57 1.3
+++ libafs/MakefileProto.LINUX 2000/12/14 15:47:08
@@ -36,7 +36,7 @@
CC = gcc
LD = ld
# -Wall
-<i386_linux22 i386_linux24>
+<i386_linux3 i386_linux22 i386_linux24>
CCFLAGS = -O2 -fomit-frame-pointer \
-fno-strength-reduce -pipe -m486 -malign-loops=2 -malign-jumps=2 \
-malign-functions=2
@@ -91,7 +91,7 @@
rm -f sys; \
ln -s $${IDIR} sys; \
rm -f asm; \
-<i386_linux22 i386_linux24>
+<i386_linux3 i386_linux22 i386_linux24>
ln -s ${LINUX_SRCDIR}$$v/include/asm-i386 asm ; \
<ppc_linux22 ppc_linux24>
ln -s ${LINUX_SRCDIR}$$v/include/asm-ppc asm ; \
# Copyright 2000, International Business Machines Corporation and others.
# All Rights Reserved.
#
# This software has been released under the terms of the IBM Public
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
# Keep macros within each section in sorted order for clean diff displays.
#
# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
AFS_OSTYPE = LINUX
# Base directory for linux kernel source. Actually a prefix which is complete
# when LINUX_VERS is appended to it.
LINUX_SRCDIR = /usr/src/linux-
# Default list of Linux kernels to build. Build will run only if all
# can be built. To build a different set, specify LINUX_VERS to make.
LINUX_VERS = 2.2.5-15 2.2.10 2.2.12 2.2.12-20 2.2.13 2.2.14
#
# compilation and link editor flags
DBG=-g
OPTMZ=-O2
PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
# Put -O2 here to _ensure_ all Makefiles pick it up.
XCFLAGS= -O2
MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
XLDFLAGS=
SHARE_LDFLAGS = -shared -Xlinker -x
SHLIB_SUFFIX=so
SHLIB_CFLAGS=
#
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
#
# programs
AR=ar
AS=as
CP=cp
INSTALL=${SRCDIR}bin/install
LD=ld
MT_CC=cc
MV=mv
RANLIB=ranlib
RM=rm
WASHTOOL=${SRCDIR}bin/washtool
#
# Other OS specific requirements
#
YACC = bison -y
LEX = flex -l
# Used in des library.
CRYPT_OBJ = crypt.o
/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
*
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
*/
#ifndef _PARAM_I386_LINUX3_H_
#define _PARAM_I386_LINUX3_H_
/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
* it's a judgment call. If something is obviously i386 specific, use that
* #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
* in the sysname is the current version of the client. This takes into
* account the perferred OS user space configuration as well as the kernel.
*/
#define AFS_LINUX20_ENV 1
#define AFS_LINUX22_ENV 1
#define AFS_I386_LINUX20_ENV 1
#define AFS_I386_LINUX3_ENV 1
#define AFS_I386_LINUX22_ENV 1
#define AFS_NONFSTRANS 1
#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */
#define AFS_SYSCALL 137
#define AFS_64BIT_IOPS_ENV 1
#define AFS_NAMEI_ENV 1 /* User space interface to file system */
#include <afs/afs_sysnames.h>
#define AFS_USERSPACE_IP_ADDR 1
#define RXK_LISTENER_ENV 1
#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
/* Machine / Operating system information */
#define SYS_NAME "i386_linux3"
#define SYS_NAME_ID SYS_NAME_ID_i386_linux3
#define AFSLITTLE_ENDIAN 1
#define AFS_HAVE_FFS 1 /* Use system's ffs. */
#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
#include <linux/config.h>
#ifdef CONFIG_SMP
#undef CONFIG_SMP
#endif
/* Using "AFS_SMP" to map to however many #define's are required to get
* MP to compile for Linux
*/
#ifdef AFS_SMP
#define CONFIG_SMP
#ifndef CONFIG_X86_LOCAL_APIC
#define CONFIG_X86_LOCAL_APIC
#endif
#define __SMP__
#define AFS_GLOBAL_SUNLOCK
#endif
#endif /* __KERNEL__ && !DUMP_KERNEL*/
#ifdef KERNEL
#ifndef MIN
#define MIN(A,B) ((A) < (B) ? (A) : (B))
#endif
#ifndef MAX
#define MAX(A,B) ((A) > (B) ? (A) : (B))
#endif
#endif /* KERNEL */
typedef unsigned int uint32_t;
#endif /* _PARAM_I386_LINUX3_H_ */
/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
*
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
*/
#ifndef _PARAM_USR_I386_LINUX3_H_
#define _PARAM_USR_I386_LINUX3_H_
/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
* it's a judgment call. If something is obviously i386 specific, use that
* #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
* in the sysname is the current version of the client. This takes into
* account the perferred OS user space configuration as well as the kernel.
*/
#define UKERNEL 1 /* user space kernel */
#define AFS_ENV 1
#define AFS_USR_LINUX20_ENV 1
#define AFS_USR_LINUX3_ENV 1
#define AFS_USR_LINUX22_ENV 1
#define AFS_NONFSTRANS 1
#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */
#define AFS_SYSCALL 137
#define AFS_64BIT_IOPS_ENV 1
#define AFS_NAMEI_ENV 1 /* User space interface to file system */
#include <afs/afs_sysnames.h>
#define AFS_USERSPACE_IP_ADDR 1
#define RXK_LISTENER_ENV 1
#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
/* Machine / Operating system information */
#define SYS_NAME "i386_linux3"
#define SYS_NAME_ID SYS_NAME_ID_i386_linux3
#define AFSLITTLE_ENDIAN 1
#define AFS_HAVE_FFS 1 /* Use system's ffs. */
#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
#define afsio_iov uio_iov
#define afsio_iovcnt uio_iovcnt
#define afsio_offset uio_offset
#define afsio_seg uio_segflg
#define afsio_fmode uio_fmode
#define afsio_resid uio_resid
#define AFS_UIOSYS 1
#define AFS_UIOUSER UIO_USERSPACE
#define AFS_CLBYTES MCLBYTES
#define AFS_MINCHANGE 2
#define VATTR_NULL usr_vattr_null
#define AFS_DIRENT
#ifndef CMSERVERPREF
#define CMSERVERPREF
#endif
#endif /* _PARAM_USR_I386_LINUX3_H_ */