Unsuccessful attempts to recompile Rocks

From BeSTGRID

Jump to: navigation, search

Contents

[edit] Attempt to recompile Rocks on a naked CentOS 4

[edit] 1. Set up a build environment:

# cd /opt
# cvs -d:pserver:anonymous@src.rocksclusters.org:/export/cvs checkout rocks-4.3

[edit] 2. Go to the directory which holds the device driver code:

# cd /opt/rocks-4.3/rocks/src/roll/kernel/src/rocks-boot/enterprise/4/images/drivers

[edit] 3. Create a new directory and populate it with appropriate files

# mkdir igb
# cd igb
# cp ../e1000/modinfo .
# cp ../e1000/Makefile* .
# cp ../e1000/modules.dep .
# cp ../e1000/pcitable .

[edit] 4. Download the latest drivers for 82575 controller from Intel website:

Intel Download Center
igb-1.2.22.tar.gz

[edit] 5. Unpack source code files of drivers and copy them into driver directory:

# ls -1 /opt/rocks-4.3/rocks/src/roll/kernel/src/rocks-boot/enterprise/4/images/drivers/igb
 e1000_82575.c
 e1000_82575.h
 e1000_api.c
 e1000_api.h
 e1000_defines.h
 e1000_hw.h
 e1000_mac.c
 e1000_mac.h
 e1000_manage.c
 e1000_manage.h
 e1000_nvm.c
 e1000_nvm.h
 e1000_osdep.h
 e1000_phy.c
 e1000_phy.h
 e1000_regs.h
 igb_ethtool.c
 igb.h
 igb_main.c
 igb_param.c
 igb_regtest.h
 kcompat.c
 kcompat_ethtool.c
 kcompat.h
 

[edit] 6. Edit files modinfo, modules.dep, pcitable and Makefile:

modinfo

  igb
     net
     "Intel igb gigabit ethernet driver for 82575 controller"
 

modules.dep

 Empty

pcitable Three lines has been added. Hexadecimal codes have been found in e1000_hw.h, lines 37-39

0x8086 0x10a7 "e1000" "Intel|82575EB Gigabit Ethernet Controller (Copper)
0x8086 0x10a9 "e1000" "Intel|82575EB Gigabit Ethernet Controller (Fiber)
0x8086 0x10d6 "e1000" "Intel|82575GB Gigabit Ethernet Controller (Quad Copper)

Makefile

MODULES := igb

 SOURCES := \
        igb_ethtool.c \
        e1000_82575.c \
        e1000_api.c \
        e1000_mac.c\
        e1000_manage.c \
        e1000_nvm.c \
        e1000_phy.c \
        igb_main.c \
        igb_param.c \
        kcompat.c \
        kcompat_ethtool.c

 HEADERS := \
        igb.h \
        igb_regtest.h \
        e1000_82575.h \
        e1000_api.h \
        e1000_defines.h \
        e1000_hw.h \
        e1000_mac \
        e1000_manage.h \
        e1000_nvm.h \
        e1000_osdep.h \
        e1000_phy.h \
        e1000_regs.h \
        kcompat.h

[edit] 7. Edit subdirs file

# cd ..
# vi subdirs

First section of the file should be like the following lines:

#
# put a list of all the driver directories that you'd like to build.
#
# for example, to build the 'e1000' driver, uncomment the line below:
#e1000
igb

[edit] 8. Install packages which are required to compile Rocks Distribution

# yum install syslinux pump pump-devel bogl-bterm bogl-devel elfutils-devel elfutils-libelf-devel beecrypt-devel \
  gtk+ gtk+-devel gdk-pixbuf-devel gdk2-devel gtk2-devel

[edit] 9. Full stop. Compilation of Rocks should be run on Rocks Frontend node.

 ../../../../prep-initrd.py
 Traceback (most recent call last):
   File "../../../../prep-initrd.py", line 207, in ?
     import rocks.kickstart
 ImportError: No module named rocks.kickstart

There is a responce from Rocks mailing list:

Q: Can I build x86_64 Rocks under i386 one?
A: sorry but no, you can't. you can only build x86_64 rocks on a x86_64 rocks frontend.

[edit] Attempt to install Rocks on a VMWare vitual machine

Started an attempt to build 64 bits VM under VMWare on my desktop.

It seems that 64 bits VM works under VMWare on a 32 bits desktop. Unfortunately Rocks didn't recognize virtual hard drive and rebooted itself. The attempt has been stopped.

A decision to install Rocks5.0 Beta has been admitted.