Messages in cipher reflected in the looking glass
[ Yasuhiro Fujitsuki's Weblog ]
http://blogs.sun.com/thaniwa/date/20080523 2008年 5月 23日 金曜日

(JA) log of building nxge driver(kernel module) on Debian Linux 4.0r3

英語バージョンもほとんど何も書いていないので、日本語化する必要は無いような気がしたのですが、一応。^-^;

Sun で取り扱っている 10Gbit イーサネットの Linux 用ドライバを Debian Linux 4.0r3(AMD64) でビルドしてみたので、そのログです。
( 1027A-Z 10Gbit Ethernet Adapter )
カードが手元にないので認識テストはしてません、 ドライバのインストールまでです。^-^;

ドライバのソースコードは下記からダウンロードできます。
http://www.sun.com/download/products.xml?id=4653d592
このドライバの対応する Linux は RedHat Enterprise 4, SUSE Linux なので、 ソースコードに含まれる Makefile ではビルドはうまくいきません。

ドライバのビルドには linux-headers が必要です。

# apt-get install linux-headers-2.6-amd64

Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
  gcc-4.1 libssp0 linux-headers-2.6.18-6 linux-headers-2.6.18-6-amd64
  linux-kbuild-2.6.18
Suggested packages:
  gcc-4.1-doc gcc-4.1-locales libc6-dev-i386 lib32gcc1 lib32ssp0
Recommended packages:
  libc6-dev libmudflap0-dev
The following NEW packages will be installed:
  gcc-4.1 libssp0 linux-headers-2.6-amd64 linux-headers-2.6.18-6
  linux-headers-2.6.18-6-amd64 linux-kbuild-2.6.18
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/4169kB of archives.
After unpacking 27.6MB of additional disk space will be used.
Do you want to continue [Y/n]? y

ビルド方法は下記の通りです。
通常とはちょっとだけ手順がちがいます。

# cd 
# mkdir nxge
# cd nxge
# unzip ../ sun_10_Gigabit_Ethernet_driver_Linux_Src_update_2.zip
# make
# make -C /usr/src/linux-headers-2.6.18-6-amd64 SUBDIRS=`pwd` modules
make: Entering directory `/usr/src/linux-headers-2.6.18-6-amd64'
  CC [M]  /home/user01/nxge/nxge_main.o
  CC [M]  /home/user01/nxge/nxge_ethtool.o
  CC [M]  /home/user01/nxge/npi.o
  CC [M]  /home/user01/nxge/npi_mac.o
  CC [M]  /home/user01/nxge/npi_ipp.o
  CC [M]  /home/user01/nxge/npi_txc.o
  CC [M]  /home/user01/nxge/npi_txdma.o
  CC [M]  /home/user01/nxge/npi_rxdma.o
  CC [M]  /home/user01/nxge/npi_fflp.o
  CC [M]  /home/user01/nxge/npi_espc.o
  CC [M]  /home/user01/nxge/npi_zcp.o
  CC [M]  /home/user01/nxge/npi_vir.o
  CC [M]  /home/user01/nxge/nxge_rxport.o
  CC [M]  /home/user01/nxge/nxge_txc.o
  CC [M]  /home/user01/nxge/nxge_fflp.o
  CC [M]  /home/user01/nxge/nxge_mac.o
  CC [M]  /home/user01/nxge/nxge_fzc.o
  CC [M]  /home/user01/nxge/nxge_param.o
  CC [M]  /home/user01/nxge/nxge_espc.o
  LD [M]  /home/user01/nxge/nxge.o
  Building modules, stage 2.
  MODPOST
  CC      /home/user01/nxge/nxge.mod.o
  LD [M]  /home/user01/nxge/nxge.ko
make: Leaving directory `/usr/src/linux-headers-2.6.18-6-amd64'
debian:/home/user01/nxge#

# install -m 644 builds/2.6.18-6-amd64/nxge.ko /lib/modules/2.6.18-6/amd64/kernel/drivers/net

# insmod /lib/modules/2.6.18-6-amd64/kernel/drivers/net/nxge.ko
# lsmod | grep nxge
nxge                  405484  0


と一応認識したことを確認しました。