64-bit FC5

The support for the 64bit version of FC5 is based on Inf-level headers. These provide a simplified version of the DICE environment. For instance, there are no local ldap or dns servers, also the installed software set is much smaller.

Example source profile

/* nelson */

#include <inf/os/fc5_64.h>
#include <inf/hw/dell_optiplex_gx620.h>
#include <live/wire_c.h>

dhclient.mac            00:14:22:36:89:B9

/* Inventory information */

inv.sno       643JZ1J
inv.allocated      ascobie
inv.location      JCMB-2422

/* End of file */

The main thing to notice is that the profile uses Inf level OS and hardware headers.

If you find a header is missing at the Inf level, please contact the MPU.

Installation procedures

CD images for installing an FC5 64bit machine can be found in the MPU AFS group space, /afs/inf.ed.ac.uk/group/mp-unit/cdroms. PXE booting is not supported.

Kerberos keytabs

To permit login without additional password authentication you need to add principals to the krb5 keytab (possibly having to register the machine first, if it is new).

Initially, you need to know what principal you are trying to create, and then use your /admin principal to create it, and extract it to a keytab on the machine.

Within kadmin, you want to run the following:

*) ank -randkey <principal>
*) ktadd -k /etc/krb5.keytab <principal>

For example, to create a 'host' service principal (host is the most commonly used service principal - it's used for SSH, and for local account validation), for a machine called 'example-for-squinney', you would have ...

[duffus]sxw: /usr/kerberos/sbin/kadmin
Couldn't open log file /var/lcfg/log/kerberos: Permission denied
Couldn't open log file /var/lcfg/log/kerberos: Permission denied
Authenticating as principal sxw/admin@INF.ED.AC.UK with password.
Password for sxw/admin@INF.ED.AC.UK:
kadmin:  ank -randkey host/example-for-squinney.inf.ed.ac.uk
NOTICE: no policy specified for host/example-for-squinney.inf.ed.ac.uk@INF.ED.AC.UK; assigning "default"
Principal "host/example-for-squinney.inf.ed.ac.uk@INF.ED.AC.UK" created.
kadmin:  ktadd -k /etc/krb5.keytab host/example-for-squinney.inf.ed.ac.uk
Entry for principal host/example-for-squinney.inf.ed.ac.uk with kvno  
3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab  
WRFILE:/etc/krb5.keytab.
Entry for principal host/example-for-squinney.inf.ed.ac.uk with kvno  
3, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/etc/krb5.keytab.

Package specifications

It is possible to install multiple architecture versions of the same package concurrently. Typically this occurs where an application only works in 32bit mode so you have to install all the 32bit versions of the necessary libraries. Currently the package specification parser in the LCFG server will not allow multiple conflicting specifications of a package. To get around this problem there is a new way of specifying the architecture, note that this is not intended to be a permanent solution. Here's an example:

i386/zlib-1.2.3-1.2.1
zlib-1.2.3-1.2.1
i386/zlib-devel-1.2.3-1.2.1
zlib-devel-1.2.3-1.2.1

Note that due to a change in the way updaterpms works you will need to specify noarch for all packages which are architecture-independent. This can be done in the usual way or with the new syntax. For example:

yum-2.6.0-1/noarch

noarch/yum-2.6.0-1

Seeing which architectures are installed for a package

To list all packages with their architecture using rpm, run the following command:

rpm -qa --queryformat "%{name}-%{version}-%{release}.%{arch}\n"  

You can add this to ~/.rpmmacros, it changes the default query to list the architecture:

%_query_all_fmt         %%{name}-%%{version}-%%{release}.%%{arch}

Package Lists

There are separate LCFG level package lists for the 64bit platform.

  • lcfg/lcfg_fc5_64_base.rpms
  • lcfg/lcfg_fc5_64_postship.rpms
  • lcfg/lcfg_fc5_64_updates.rpms
  • lcfg/lcfg_fc5_64_installbase.rpms
  • lcfg/lcfg_fc5_64_installroot.rpms

There are separate Inf level package lists, currently the only one used is inf/inf_fc5_env.rpms, this file must work on both i386 and x86_64 platforms.

New macros

There are now new header macros, ARCH_I386 and ARCH_X86_64 which can be used as conditionals in the headers to target packages and resources to the correct platform. Also for fc5 on x86_64 the OS_ID macro is set to fc5_64 instead of fc5.

Porting software

Some software specifies a BuildArch in the specfile. If this only contains the string i386, you will need to append x86_64 as well to allow building on 64bit machines.

Library paths

Libraries on 64bit machines are stored in /lib64, /usr/lib64, /usr/local/lib64, etc. You may well have to hack autoconf, Makefiles and such like so that include paths are correct, otherwise you may end up with a 32bit binary by mistake. Note, in particular that the PAM module directory is /lib64/security.

-- StephenQuinney - 31 Jan 2007

Topic revision: r5 - 23 Apr 2007 - 19:34:48 - StephenQuinney
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies