Installation du serveur de calcul Alteran
From NBSWiki
Contents |
Général
Ce document représente la séquence chronologique d'installation pour la machine Alteran qui est un Sun Fire X4600. Cette documentation est très télégraphique mais tout de même détaillée (toutes les commandes y sont). L'installation se base sur Gentoo Quick Install notes ainsi que Linux RAID Quickref
Préparation des HDD
Prise 1: on n'avaient que 2 disques Prise 2: avec 4 disques, donc on peut monter un RAID5
Prise 1
Partitions
Étant donné que l'on veut monter ça en RAID1, et qu'on se sert d'un des disques pour l'installation initiale, on va suivre les indications du document Linux RAID Quickref pour faire une installation en plusieurs étapes.
livecd ~ # fdisk /dev/sdc The number of cylinders for this disk is set to 8924. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/sdc: 73.4 GB, 73407865856 bytes 255 heads, 63 sectors/track, 8924 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-8924, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-8924, default 8924): +200M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (26-8924, default 26): Using default value 26 Last cylinder or +size or +sizeM or +sizeK (26-8924, default 8924): +2G Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (270-8924, default 270): Using default value 270 Last cylinder or +size or +sizeM or +sizeK (270-8924, default 8924): Using default value 8924 Command (m for help): p Disk /dev/sdc: 73.4 GB, 73407865856 bytes 255 heads, 63 sectors/track, 8924 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 1 25 200781 83 Linux /dev/sdc2 26 269 1959930 83 Linux /dev/sdc3 270 8924 69521287+ 83 Linux Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): fd Changed system type of partition 2 to fd (Linux raid autodetect) Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): fd Changed system type of partition 3 to fd (Linux raid autodetect) Command (m for help): p Disk /dev/sdc: 73.4 GB, 73407865856 bytes 255 heads, 63 sectors/track, 8924 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 1 25 200781 fd Linux raid autodetect /dev/sdc2 26 269 1959930 fd Linux raid autodetect /dev/sdc3 270 8924 69521287+ fd Linux raid autodetect Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Initialisation du RAID1
On va monter toutes les partitions en RAID1, même le SWAP pcq, même si c'est pas le plus efficace, ça empêche de tuer la machine si un des disques meurt:
livecd ~ # mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 missing /dev/sdc1 mdadm: size set to 200704K mdadm: array /dev/md0 started. livecd ~ # mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 missing /dev/sdc2 mdadm: size set to 1959808K mdadm: array /dev/md1 started. livecd ~ # mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 missing /dev/sdc3 mdadm: size set to 69521216K mdadm: array /dev/md3 started.
Formatage
Boot == Ext2
Swap == ...swap ;P
ROOT == Reiserfs
livecd ~ # mke2fs /dev/md0
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
50200 inodes, 200704 blocks
10035 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
livecd ~ # mkswap /dev/md1
Setting up swapspace version 1, size = 2006839 kB
no label, UUID=25cdc9bf-92eb-409d-9020-b7246c987783
livecd ~ # mkreiserfs /dev/md2
mkreiserfs 3.6.19 (2003 www.namesys.com)
A pair of credits:
SuSE (www.suse.com) pays for continuing work on journaling for version 3, paid
for much of the previous version 3 work, and is paying for Chris and Jeff to do
V3 maintenance. Reiserfs integration in their distro is consistently solid, and
they were key to our becoming widely used.
Elena Gryaznova performed testing and benchmarking.
Guessing about desired format.. Kernel 2.6.19-gentoo-r5 is running.
Format 3.6 with standard journal
Count of blocks on the device: 17380304
Number of blocks consumed by mkreiserfs formatting process: 8742
Blocksize: 4096
Hash function used to sort names: "r5"
Journal Size 8193 blocks (first block 18)
Journal Max transaction length 1024
inode generation number: 0
UUID: f38f7551-2692-4eb0-aba9-aa3bcc39bd4b
ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
ALL DATA WILL BE LOST ON '/dev/md2'!
Continue (y/n):y
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..ok
Tell your friends to use a kernel based on 2.4.18 or later, and especially not a
kernel based on 2.4.9, when you use reiserFS. Have fun.
ReiserFS is successfully created on /dev/md2.
Prise 2
Pasmal la même chose que Prise 1 mais en RAID 5...
Partitions
livecd ~ # fdisk -l /dev/sda Disk /dev/sda: 73.4 GB, 73407865856 bytes 255 heads, 63 sectors/track, 8924 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x000536f1 Device Boot Start End Blocks Id System /dev/sda1 1 13 104391 fd Linux raid autodetect /dev/sda2 14 1473 11727450 fd Linux raid autodetect /dev/sda3 1474 8924 59850157+ fd Linux raid autodetect
On réplique le tout sur sdd et sde, sdb est présentement le root...et utilisé:
sfdisk -d /dev/sda | sfdisk /dev/sdd sfdisk -d /dev/sda | sfdisk /dev/sde
Initialisation du RAID5
Pour le boot, on n'a le choix que de rester avec du RAID1 au plus, donc:
alteran linux # mdadm --create --verbose /dev/md3 --level=1 --raid-devices=4 /dev/sda1 missing /dev/sdd1 /dev/sde1 mdadm: size set to 104320K mdadm: array /dev/md3 started. alteran linux # mdadm --create --verbose /dev/md4 --level=5 --raid-devices=4 /dev/sda2 missing /dev/sdd2 /dev/sde2 mdadm: layout defaults to left-symmetric mdadm: chunk size defaults to 64K mdadm: size set to 11727360K mdadm: array /dev/md4 started. alteran linux # mdadm --create --verbose /dev/md5 --level=5 --raid-devices=4 /dev/sda3 missing /dev/sdd3 /dev/sde3 mdadm: layout defaults to left-symmetric mdadm: chunk size defaults to 64K mdadm: size set to 59850048K mdadm: array /dev/md5 started.
Formattage
C'est du déjà vu...
mke2fs /dev/md3 mkswap /dev/md4 mkreiserfs /dev/md5
Migration RAID1 vers RAID5
alteran linux # mkdir /mnt/newroot alteran linux # mount /dev/md3 /mnt/newroot/ alteran linux # mount /boot/ alteran linux # cp -a /boot/* /mnt/newroot/ umount /mnt/newroot/ /boot/
Montage des partitions
export HD=md
mount /dev/${HD}2 /mnt/gentoo/
mkdir /mnt/gentoo/boot
mount /dev/${HD}0 /mnt/gentoo/boot/
cd /mnt/gentoo/
Installation de Gentoo
Téléchargement
livecd gentoo # wget -c http://gentoo.mirrors.tera-byte.com/releases/amd64/2008.0_beta2/stages/stage3-amd64-2008.0_beta2.tar.bz2 \ http://gentoo.mirrors.tera-byte.com/releases/amd64/2008.0_beta2/stages/stage3-amd64-2008.0_beta2.tar.bz2.DIGESTS \ http://gentoo.mirrors.tera-byte.com/releases/snapshots/2008.0_beta2/portage-2008.0_beta2.tar.bz2 \ http://gentoo.mirrors.tera-byte.com/releases/snapshots/2008.0_beta2/portage-2008.0_beta2.tar.bz2.DIGESTS
Vérification
livecd gentoo # md5sum -c stage3-*.tar.bz2.DIGESTS ./stage3-amd64-2008.0_beta2.tar.bz2: OK livecd gentoo # md5sum -c portage-*.tar.bz2.DIGESTS ./portage-2008.0_beta2.tar.bz2: OK
Décompression
livecd gentoo # tar -xjf stage3-*.tar.bz2 -C /mnt/gentoo/ livecd gentoo # tar -xjf portage-*.tar.bz2 -C /mnt/gentoo/usr/
Chroot
mount -t proc none /mnt/gentoo/proc & mount -o bind /dev /mnt/gentoo/dev cp /etc/resolv.conf /mnt/gentoo/etc chroot /mnt/gentoo /bin/bash env-update && . /etc/profile && export PS1="(CHROOT) $PS1"
Localtime
cp /usr/share/zoneinfo/America/Montreal /etc/localtime
Logiciels communs
emerge -1vq gentoo-sources grub emerge -qv reiserfsprogs ufed screen dstat gentoolkit \ dhcpcd net-fs/nfs-utils syslog-ng vixie-cron sys-apps/pciutils \ ntp vim app-portage/eix app-portage/conf-update lshw
Configurations
Pendant que cetrtains de ces packages s'installent (ie: kernel), ouvrir une autre console et continuer tout ce qui peut se faire en parallèle (ie: éditer le fichiers de configuration)
make.conf
voici le contenu du make.conf:
(CHROOT) livecd / # cat /etc/make.conf
# Modified by Eric Thibodeau (ET) (initial install 2008-06-25)
# Please consult /etc/make.conf.example for a more detailed example.
CFLAGS="-march=opteron -O3 -pipe -ftracer -fprefetch-loop-arrays -mfpmath=sse -ftree-vectorize -floop-optimize2"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
# ET: flags will be added on an as-needed basis:
USE="mmx sse sse2 blas colordiff bzip2"
PORT_LOGDIR=/var/log/portage
MAKEOPTS="-j20"
GENTOO_MIRRORS="http://adelie.polymtl.ca/ http://mirror.datapipe.net/gentoo http://ftp.romnet.org/gentoo/ ftp://gentoo.mirrors.tds.net/gentoo"
PORTAGE_NICENESS=0
AUTOCLEAN="yes"
PORTAGE_TMPFS="/dev/shm"
FEATURES="buildpkg fixpackages sandbox ccache parallel-fetch distcc"
CCACHE_SIZE="2G"
CLEAN_DELAY=1
LINGUAS="fr en pt es"
#IWILLFIXITMYSELF=1
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="none r128"
fstab
ATTENTION: il faut que shm soit mounté avec exec (et non noexec) pour pouvoir s'en servir pour comme PORTAGE_TMPFS.
# /etc/fstab: static file system information. # # noatime turns off atimes for increased performance (atimes normally aren't # needed; notail increases performance of ReiserFS (at the expense of storage # efficiency). It's safe to drop the noatime options if you want and to # switch between notail / tail freely. # # The root filesystem should have a pass number of either 0 or 1. # All other filesystems should have a pass number of 0 or greater than 1. # # See the manpage fstab(5) for more information. # # <fs> <mountpoint> <type> <opts> <dump/pass> # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts. /dev/md0 /boot ext2 noauto,noatime 1 2 /dev/md2 / reiserfs noatime 0 1 /dev/md1 none swap sw 0 0 /dev/cdrom /mnt/cdrom auto noauto,ro 0 0 #/dev/fd0 /mnt/floppy auto noauto 0 0 # glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for # POSIX shared memory (shm_open, shm_unlink). # (tmpfs is a dynamically expandable/shrinkable ramdisk, and will # use almost no memory if not populated with files) shm /dev/shm tmpfs nodev,nosuid 0 0
Grub
Configuration
vi /boot/grub/grub.conf # Which listing to boot as default. 0 is the first, 1 the second etc. default 0 # How many seconds to wait before the default listing is booted. timeout 3 # Nice, fat splash-image to spice things up :) # Comment out if you don't have a graphics card installed splashimage=(hd0,0)/grub/splash.xpm.gz title=Gentoo root (hd0,0) kernel /vmlinuz root=/dev/md2 title=Gentoo Backup root (hd0,0) kernel /vmlinuz.old root=/dev/md2
Installation
On commence par vérifier ce que grub croit voir. Lancer grub --no-floppy une fois et quitter (quit) pour remplir le fichier /boot/grub/device.map. Ce qui nous donne:
livecd / # cat /boot/grub/device.map (hd0) /dev/sdb (hd1) /dev/sdc
Donc on doit installer dans hd1 étant donné qu'on installes sur ce disque:
livecd / # grub
Probing devices to guess BIOS drives. This may take a long time.
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> root (hd1,0)
root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd1)
setup (hd1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 16 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd1) (hd1)1+16 p (hd1,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
grub> quit
quit
kernel
config
Aller voir à la fin de ce document pour le contenu intégral du fichier '.config' pour le kernel 'sys-kernel/gentoo-sources-2.6.24-r5'.
Compilation et installation
make -j16 && make modules_install && make install
Réseau
/etc/conf.d/net
config_eth0=( "207.162.8.62 netmask 255.255.255.0" ) routes_eth0=( "default via 207.162.8.251" )
Important
Pour garder le même ordre des cartes tel que détectés au démarrage du CD:
cp /etc/udev/rules.d/70-persistent-net.rules /mnt/gentoo/etc/udev/rules.d/
Migration des comptes
Monter l'ancien système sous /mnt/oldroot/ et effectuer la séquence de commandes suivantes:
cp -a /mnt/oldroot/home/* /home cd /home ls -l | tr -s ' ' | cut -f3,4,8 -d' ' | while read UUID UGID U; do [ ! -z $U ] && echo "ADDING user: $U uid:$UUID gid:$UGID Pass:$(grep $U /mnt/oldroot/etc/shadow | cut -d: -f2 )" ; [ ! -z $U ] && useradd --uid $UUID --password $(grep $U /mnt/oldroot/etc/shadow | cut -d: -f2 ) $U; done
Les données, comptes et même mots de passe !!! sont maintenant migrés ;)
Matlab et FlexLM
Matlab
Librairies
Il faut quelques librairies graphiques pour Matlab, même si nous foncitonnons en mode console:
emerge x11-libs/libXext x11-libs/libXp x11-libs/libXt
Pour que les étudiants puissent démarrer Matlab:
alteran ~ # cat /etc/profile.d/defaults.sh alias strp="sed -e's:.*]\ \(.*\)-[0-9].*:\1:'" alias ll="ls -lh --group-directories-first" alias df='df -h -x smbfs' export GREP_COLOR="1;33" ; alias grep='grep --color=auto' export PATH=$PATH:/usr/sbin:/sbin:/opt/matlab32/bin/
FlexLM
Il faut le gestionnaire de licenses FlexLM:
Installation
echo =app-admin/flexlm-9.5-r1 '**' > /etc/portage/package.keywords/flexlm emerge flexlm
Modifier le fichier de config de FlexLM pour connaître l'existance des clefs de Matlab:
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/flexlm/files/flexlm-conf,v 1.3 2005/08/11 08:42:25 eradicator Exp $
# Logfile path: (NOTE: This must be uid/gid owned by the value of $LMUSER!)
LMLOG="/var/log/flexlm.log"
# Run the lmgrd user as:
LMUSER="flexlm"
# List all license files delimeted by a colon
LMLICENSE="/opt/matlab32/etc/license.dat"
#LMLICENSE="${LMLICENSE}:/var/flexlm/aw.dat"
#LMLICENSE="${LMLICENSE}:/opt/shake/keys/license.dat"
Tel que mentionné dans le fichier de config:
touch /var/log/flexlm.log && chown flexlm: /var/log/flexlm.log
Démarrer Flexlm et l'ajouter aux services de démarrage par défaut
/etc/init.d/flexlm start rc-update add flexlm default
MLM.opt
Il faut définit le fichier de licenses pour gérer les accès aux modules. Ce fichier est dans: /opt/matlab32/etc/MLM.opt.
Voici un exemple de fichier MLM.opt:
GROUP groupe_synchro dhenault ethibodeau mathias melkanouni mgauthier rfarahi synchro twong vdore INCLUDE MATLAB USER root INCLUDE MATLAB GROUP groupe_synchro INCLUDE MATLAB_Distrib_Comp_Engine USER root INCLUDE MATLAB_Distrib_Comp_Engine GROUP groupe_synchro
résolution de problèmes
Si l'erreur suivante apparaît:
ethibodeau@alteran ~ $ /opt/matlab32/bin/matlab Warning: Unable to open display , MATLAB is starting without a display. You will not be able to display graphics on the screen. License Manager Error -39. User/host not on INCLUDE list for feature. Feature: MATLAB License path: /opt/matlab32/etc/license.dat:/opt/matlab32/etc/*.lic FLEXnet Licensing error:-39,147 For further information, refer to the FLEXnet Licensing End User Guide, available at "www.macrovision.com". For more information, see The MathWorks Support page at http://www.mathworks.com/support and search for "license manager error -39"
S'assurer que l'utilisateur fait parti du groupe "groupe_synchro" défini dans /opt/matlab32/etc/MLM.opt. Du site de Matlab: Why do I receive "License Manager Error -39"?
Informations supplémentaires
Matériel
livecd ~ # lspci 00:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) 00:01.0 ISA bridge: nVidia Corporation CK804 ISA Bridge (rev a3) 00:01.1 SMBus: nVidia Corporation CK804 SMBus (rev a2) 00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2) 00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3) 00:06.0 IDE interface: nVidia Corporation CK804 IDE (rev f2) 00:09.0 PCI bridge: nVidia Corporation CK804 PCI Bridge (rev a2) 00:0b.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 00:0c.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 00:0d.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 00:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 00:10.0 PCI bridge: Advanced Micro Devices [AMD] AMD-8132 PCI-X Bridge (rev 12) 00:10.1 PIC: Advanced Micro Devices [AMD] AMD-8132 PCI-X IOAPIC (rev 12) 00:11.0 PCI bridge: Advanced Micro Devices [AMD] AMD-8132 PCI-X Bridge (rev 12) 00:11.1 PIC: Advanced Micro Devices [AMD] AMD-8132 PCI-X IOAPIC (rev 12) 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 00:19.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:19.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:19.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:19.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 00:1a.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:1a.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:1a.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:1a.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 00:1b.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:1b.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:1b.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:1b.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 00:1c.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:1c.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:1c.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:1c.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 00:1d.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:1d.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:1d.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:1d.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 00:1e.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:1e.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:1e.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:1e.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 00:1f.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:1f.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:1f.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:1f.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 01:06.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) 06:01.0 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 03) 06:01.1 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 03) 06:02.0 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 03) 06:02.1 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 03) 07:04.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1064 PCI-X Fusion-MPT SAS (rev 02) 80:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) 80:01.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) 80:0b.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 80:0c.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 80:0d.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 80:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
