[OpenAFS] AFS on Apple G5 running Yellow Dog 4.1

Timothy Gee timmygee@us.ibm.com
Sun, 5 Feb 2006 10:46:19 -0500


--0__=0ABBFB9FDFC67EA78f9e8a93df938690918c0ABBFB9FDFC67EA7
Content-type: text/plain; charset=US-ASCII





To Any interested parties:

Our lab needed a superior native PPC64 development platform and decided
upon Apple G5 (dual processor) hardware loaded with the Yellow Dog
distribution 4.1.

We are an AFS centric culture, and so the ability to attach this platform
to our file system was critical to our efforts. Since no binary RPMs were
yet available, we downloaded openafs-1.4.1-rc6 and attempted to compile.
The failures were most tragic. After exhaustive net searches we were
able to get up and running. We are posting this "cheat sheet" for
the use of others that follow. We are posting also in hope that those
writing the configure scripts will use this info to gracefully support the
G5/Yellow Dog combo . . .

1)   After downloading and extracting the source. CD to the head of the
     openafs-1.4.1-rc6 directory tree and run configure. Our incantation
     was:

./configure --disable-afsdb --enable-transarc-paths
--with-afs-sysname=ppc64_linux26

2)   AFTER the configure. Apply the patch listed below to
     openafs-1.4.1-rc6/src/config/afsconfig.h. This patch was posted to
     this list by Christof Hanke  hanke@rzg.mpg.de on Thu, 26 Jan 2006
     08:57:51

3)   run "make"

4)   After make completes, run "make install." However this results in an
     incomplete install. Manually perform the mkdir and move operations
     listed below. These were mentioned in a posting by Atro Tossavainen
     to the yellowdog-general@lists.terrasoftsolutions.com Wed Feb 19
     00:29:01 2003

Tossavainen's manual install instructions:
mkdir /afs /usr/vice /usr/vice/etc /usr/vice/etc/modload /usr/vice/cache
cp src/afsd/afsd /usr/vice/etc
cp src/afsd/afs.conf.linux /etc/sysconfig/afs
cp src/libafs/MODLOAD-*/libafs-*.o /usr/vice/etc/modload
cp src/pam/pam_afs.*so.1 /lib/security
cp src/afsd/afs.rc.linux /etc/init.d/afs
chmod a+rx /etc/init.d/afs
pushd /etc/rc3.d; ln -s ../init.d/afs S99afs; popd
pushd /etc/rc5.d; ln -s ../init.d/afs S99afs; popd
pushd /etc/rc0.d; ln -s ../init.d/afs K66afs; popd
pushd /etc/rc6.d; ln -s ../init.d/afs K66afs; popd
pushd /lib/security
ln -s pam_afs.so.1 pam_afs.so
ln -s pam_afs.krb.so.1 pam_afs.krb.so
popd

5)   Setup the ThisCell and CellServDB files in the standard /usr/vice/etc
     directories.

6)   Fire up the deamons by executing - as root
     /etc/init.d/afs start

Thanks to all that have trodden this path before me, and here's to those
that follow - may this post make your way smoother still.

-Tim-

Keywords:
Yellow Dog YelloDog AFS rlim openafs G5

#*** afsconfig.h patch ****
# Christof Hanke  hanke@rzg.mpg.de
# Thu, 26 Jan 2006 08:57:51 +0100

--- afsconfig.h.orig    2006-01-26 08:47:52.000000000 +0100
+++ afsconfig.h   2006-01-26 08:42:36.000000000 +0100
@@ -283,7 +283,7 @@
 /* #undef AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL */

 /* define if your refrigerator takes PF_FREEZE */
-/* #undef LINUX_REFRIGERATOR_TAKES_PF_FREEZE */
+#define LINUX_REFRIGERATOR_TAKES_PF_FREEZE 1

 /* define if you have in_systm.h header file */
 /* #undef HAVE_IN_SYSTM_H */
@@ -352,7 +352,7 @@
 /* #undef STRUCT_INODE_HAS_INOTIFY_SEM */

 /* define if your recalc_sigpending takes void */
-/* #undef RECALC_SIGPENDING_TAKES_VOID */
+#define RECALC_SIGPENDING_TAKES_VOID

 /* define if your linux kernel uses SELinux features */
 #define LINUX_KERNEL_IS_SELINUX 1
@@ -388,10 +388,10 @@
 /* #undef STRUCT_TASK_STRUCT_HAS_RLIM */

 /* define if your struct task_struct has signal->rlim */
-/* #undef STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM */
+#define STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM

 /* define if your struct task_struct has exit_state */
-/* #undef STRUCT_TASK_STRUCT_HAS_EXIT_STATE */
+#define STRUCT_TASK_STRUCT_HAS_EXIT_STATE 1

 /* define if you have a struct buf */
 /* #undef HAVE_STRUCT_BUF */
@@ -477,7 +477,7 @@
 /* #undef FAST_RESTART */
 #define FULL_LISTVOL_SWITCH 1
 /* #undef COMPLETION_H_EXISTS */
-/* #undef DEFINED_FOR_EACH_PROCESS */
+#define DEFINED_FOR_EACH_PROCESS  1
 /* #undef DEFINED_PREV_TASK */
 /* #undef EXPORTED_KALLSYMS_ADDRESS */
 /* #undef EXPORTED_KALLSYMS_SYMBOL */
@@ -495,9 +495,9 @@
 /* #undef STRUCT_INODE_HAS_I_ALLOC_SEM */
 /* #undef STRUCT_INODE_HAS_I_TRUNCATE_SEM */
 /* #undef STRUCT_TASK_STRUCT_HAS_PARENT */
-/* #undef STRUCT_TASK_STRUCT_HAS_REAL_PARENT */
+#define STRUCT_TASK_STRUCT_HAS_REAL_PARENT
 /* #undef STRUCT_TASK_STRUCT_HAS_SIG */
-/* #undef STRUCT_TASK_STRUCT_HAS_SIGHAND */
+#define STRUCT_TASK_STRUCT_HAS_SIGHAND 1
 /* #undef STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK */
 /* #undef ssize_t */
 #define SIZEOF_TIME_T 8


Atro Tossavainen  yellowdog-general@lists.terrasoftsolutions.com
Wed Feb 19 00:29:01 2003
. . .
mkdir /afs /usr/vice /usr/vice/etc /usr/vice/etc/modload /usr/vice/cache
cp src/afsd/afsd /usr/vice/etc
cp src/afsd/afs.conf.linux /etc/sysconfig/afs
cp src/libafs/MODLOAD-*/libafs-*.o /usr/vice/etc/modload
cp src/pam/pam_afs.*so.1 /lib/security
cp src/afsd/afs.rc.linux /etc/init.d/afs
chmod a+rx /etc/init.d/afs
pushd /etc/rc3.d; ln -s ../init.d/afs S99afs; popd
pushd /etc/rc5.d; ln -s ../init.d/afs S99afs; popd
pushd /etc/rc0.d; ln -s ../init.d/afs K66afs; popd
pushd /etc/rc6.d; ln -s ../init.d/afs K66afs; popd
pushd /lib/security
ln -s pam_afs.so.1 pam_afs.so
ln -s pam_afs.krb.so.1 pam_afs.krb.so
popd
--0__=0ABBFB9FDFC67EA78f9e8a93df938690918c0ABBFB9FDFC67EA7
Content-type: text/html; charset=US-ASCII
Content-Disposition: inline

<html><body>
<p>To Any interested parties:<br>
<br>
Our lab needed a superior native PPC64 development platform and decided <br>
upon Apple G5 (dual processor) hardware loaded with the Yellow Dog <br>
distribution 4.1.<br>
<br>
We are an AFS centric culture, and so the ability to attach this platform <br>
to our file system was critical to our efforts. Since no binary RPMs were <br>
yet available, we downloaded openafs-1.4.1-rc6 and attempted to compile. <br>
The failures were most tragic. After exhaustive net searches we were <br>
able to get up and running. We are posting this &quot;cheat sheet&quot; for <br>
the use of others that follow. We are posting also in hope that those <br>
writing the configure scripts will use this info to gracefully support the <br>
G5/Yellow Dog combo . . .<br>
<br>
1)   After downloading and extracting the source. CD to the head of the <br>
     openafs-1.4.1-rc6 directory tree and run configure. Our incantation <br>
     was:<br>
<br>
./configure --disable-afsdb --enable-transarc-paths --with-afs-sysname=ppc64_linux26<br>
<br>
2)   AFTER the configure. Apply the patch listed below to <br>
     openafs-1.4.1-rc6/src/config/afsconfig.h. This patch was posted to <br>
     this list by Christof Hanke  hanke@rzg.mpg.de on Thu, 26 Jan 2006 <br>
     08:57:51<br>
<br>
3)   run &quot;make&quot;<br>
<br>
4)   After make completes, run &quot;make install.&quot; However this results in an <br>
     incomplete install. Manually perform the mkdir and move operations <br>
     listed below. These were mentioned in a posting by Atro Tossavainen <br>
     to the yellowdog-general@lists.terrasoftsolutions.com Wed Feb 19 <br>
     00:29:01 2003<br>
<br>
Tossavainen's manual install instructions:<br>
mkdir /afs /usr/vice /usr/vice/etc /usr/vice/etc/modload /usr/vice/cache<br>
cp src/afsd/afsd /usr/vice/etc<br>
cp src/afsd/afs.conf.linux /etc/sysconfig/afs<br>
cp src/libafs/MODLOAD-*/libafs-*.o /usr/vice/etc/modload<br>
cp src/pam/pam_afs.*so.1 /lib/security<br>
cp src/afsd/afs.rc.linux /etc/init.d/afs<br>
chmod a+rx /etc/init.d/afs<br>
pushd /etc/rc3.d; ln -s ../init.d/afs S99afs; popd<br>
pushd /etc/rc5.d; ln -s ../init.d/afs S99afs; popd<br>
pushd /etc/rc0.d; ln -s ../init.d/afs K66afs; popd<br>
pushd /etc/rc6.d; ln -s ../init.d/afs K66afs; popd<br>
pushd /lib/security<br>
ln -s pam_afs.so.1 pam_afs.so<br>
ln -s pam_afs.krb.so.1 pam_afs.krb.so<br>
popd<br>
<br>
5)   Setup the ThisCell and CellServDB files in the standard /usr/vice/etc <br>
     directories.<br>
<br>
6)   Fire up the deamons by executing - as root <br>
     /etc/init.d/afs start<br>
<br>
Thanks to all that have trodden this path before me, and here's to those <br>
that follow - may this post make your way smoother still.<br>
<br>
-Tim-<br>
<br>
Keywords:<br>
Yellow Dog YelloDog AFS rlim openafs G5 <br>
<br>
#*** afsconfig.h patch ****<br>
# Christof Hanke  hanke@rzg.mpg.de<br>
# Thu, 26 Jan 2006 08:57:51 +0100<br>
<br>
--- afsconfig.h.orig	2006-01-26 08:47:52.000000000 +0100<br>
+++ afsconfig.h	2006-01-26 08:42:36.000000000 +0100<br>
@@ -283,7 +283,7 @@<br>
 /* #undef AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL */<br>
 <br>
 /* define if your refrigerator takes PF_FREEZE */<br>
-/* #undef LINUX_REFRIGERATOR_TAKES_PF_FREEZE */<br>
+#define LINUX_REFRIGERATOR_TAKES_PF_FREEZE 1<br>
 <br>
 /* define if you have in_systm.h header file */<br>
 /* #undef HAVE_IN_SYSTM_H */<br>
@@ -352,7 +352,7 @@<br>
 /* #undef STRUCT_INODE_HAS_INOTIFY_SEM */<br>
 <br>
 /* define if your recalc_sigpending takes void */<br>
-/* #undef RECALC_SIGPENDING_TAKES_VOID */<br>
+#define RECALC_SIGPENDING_TAKES_VOID <br>
 <br>
 /* define if your linux kernel uses SELinux features */<br>
 #define LINUX_KERNEL_IS_SELINUX 1<br>
@@ -388,10 +388,10 @@<br>
 /* #undef STRUCT_TASK_STRUCT_HAS_RLIM */<br>
 <br>
 /* define if your struct task_struct has signal-&gt;rlim */<br>
-/* #undef STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM */<br>
+#define STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM <br>
 <br>
 /* define if your struct task_struct has exit_state */<br>
-/* #undef STRUCT_TASK_STRUCT_HAS_EXIT_STATE */<br>
+#define STRUCT_TASK_STRUCT_HAS_EXIT_STATE 1<br>
 <br>
 /* define if you have a struct buf */<br>
 /* #undef HAVE_STRUCT_BUF */<br>
@@ -477,7 +477,7 @@<br>
 /* #undef FAST_RESTART */<br>
 #define FULL_LISTVOL_SWITCH 1<br>
 /* #undef COMPLETION_H_EXISTS */<br>
-/* #undef DEFINED_FOR_EACH_PROCESS */<br>
+#define DEFINED_FOR_EACH_PROCESS  1<br>
 /* #undef DEFINED_PREV_TASK */<br>
 /* #undef EXPORTED_KALLSYMS_ADDRESS */<br>
 /* #undef EXPORTED_KALLSYMS_SYMBOL */<br>
@@ -495,9 +495,9 @@<br>
 /* #undef STRUCT_INODE_HAS_I_ALLOC_SEM */<br>
 /* #undef STRUCT_INODE_HAS_I_TRUNCATE_SEM */<br>
 /* #undef STRUCT_TASK_STRUCT_HAS_PARENT */<br>
-/* #undef STRUCT_TASK_STRUCT_HAS_REAL_PARENT */<br>
+#define STRUCT_TASK_STRUCT_HAS_REAL_PARENT <br>
 /* #undef STRUCT_TASK_STRUCT_HAS_SIG */<br>
-/* #undef STRUCT_TASK_STRUCT_HAS_SIGHAND */<br>
+#define STRUCT_TASK_STRUCT_HAS_SIGHAND 1<br>
 /* #undef STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK */<br>
 /* #undef ssize_t */<br>
 #define SIZEOF_TIME_T 8<br>
<br>
<br>
Atro Tossavainen  yellowdog-general@lists.terrasoftsolutions.com<br>
Wed Feb 19 00:29:01 2003<br>
. . .<br>
mkdir /afs /usr/vice /usr/vice/etc /usr/vice/etc/modload /usr/vice/cache<br>
cp src/afsd/afsd /usr/vice/etc<br>
cp src/afsd/afs.conf.linux /etc/sysconfig/afs<br>
cp src/libafs/MODLOAD-*/libafs-*.o /usr/vice/etc/modload<br>
cp src/pam/pam_afs.*so.1 /lib/security<br>
cp src/afsd/afs.rc.linux /etc/init.d/afs<br>
chmod a+rx /etc/init.d/afs<br>
pushd /etc/rc3.d; ln -s ../init.d/afs S99afs; popd<br>
pushd /etc/rc5.d; ln -s ../init.d/afs S99afs; popd<br>
pushd /etc/rc0.d; ln -s ../init.d/afs K66afs; popd<br>
pushd /etc/rc6.d; ln -s ../init.d/afs K66afs; popd<br>
pushd /lib/security<br>
ln -s pam_afs.so.1 pam_afs.so<br>
ln -s pam_afs.krb.so.1 pam_afs.krb.so<br>
popd<br>
</body></html>
--0__=0ABBFB9FDFC67EA78f9e8a93df938690918c0ABBFB9FDFC67EA7--