CentOSの初期設定
カーネルをいじくりまわしていたらthriftの挙動がおかしくなり、回復しそうにないのでPCを変更した。
簡単な初期設定に必要なあれこれをまとめておく。
sudoの追加
# su # visudo
ここで
## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL
と出てくるので下に
<ユーザー名> ALL=(ALL) ALL
と追加する。
gitのクローン
これは超簡単。
$ git clone <リモートリポジトリのURL>
もしgitがなければ
$ sudo yum install git
カーネルソースのダウンロード
# yum install rpm-build $ uname -an
これで自身の環境のlinuxバージョンを確認し、kernel-<バーション>.el6.rpmをダウンロードし、解凍する。
ここでrootにはならないよう注意!
例) $ wget http://vault.centos.org/6.5/updates/Source/SPackages/kernel-2.6.32-431.23.3.el6.src.rpm $ rpm -ivh kernel-2.6.32-431.23.3.el6.src.rpm
もし、centOSのバージョンを知りたい時は、
$ cat /etc/redhat-release
で確認できる。ホームディレクトリ下にrpmbuildができるので
$ cd rpmbuild/SPECS # yum install patchutils xmlto asciidoc elfutils-libelf-devel elfutils-devel binutils-devel # yum install newt-devel audit-libs-devel 'perl(ExtUtils::Embed)' hmaccalc # rngd -r /dev/urandom
一般ユーザーにもどって
$ rpmbuild -bp kernel.spec --target=x86_64
これでrpmbuild下にカーネルソースができあがる。
ドライバのインストール
これは以前の記事にのせたのでコマンドだけのせる。
$ cd ~/rpmbuild/BUILD/kernel-2.6.32-431.23.3.el6/linux-2.6.32-431.23.3.el6.x86_64/ $ cp /usr/src/kernels/2.6.32-431.23.3.el6.x86_64/Module.symvers . $ make oldconfig $ make prepare $ make modules_prepare $ make SUBDIRS=scripts/mod $ make SUBDIRS=drivers/net/mlx4 modules
これでビルドが完了する。以降は上の一番下のコードだけやれば良い。ただ、Module.symversが無い場合があるので、その時は
# yum install kernel-devel
をすれば良い。あとは
$ cd driver/net/mlx4/ # ./unload.sh # rmmod mlx4_core.ko # insmod mlx4_core.ko # ./load.sh # sevice NetworkManager stop # ifconfig em1 192.168.50.1 up
でNICが使える。
アンマウントするには
$ sudo umount /mnt/flash