TWiki> DICE Web>MPUFcFiveInfSixtyFourBit (revision 1)EditAttach

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.

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

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

Edit | Attach | Print version | History: r5 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 31 Jan 2007 - 09:49:13 - 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