NTシステムデザインの技術メモ

Debainメモ

最終更新:

ntaka206

- view
管理者のみ編集可

アプリ再コンパイル用にヘッダファイル用意するには

自前でカーネルコンパイルした時に
/usr/include/linux
にカーネルコンパイル後のヘッダファイルを用意するにはどうしたらいい?

1. make headers_install
2007/12の記事
最近ではカーネルのソースコードのうち,ユーザ空間から利用してもいいヘッダファイルのみを取り出すmake headers_installという機能がカーネルのMakefileに用意され,/usr/include/linux/等にはこのコマンドで取り出されたヘッダファイルを配置するような流儀になっています。
ソースコード・リテラシーのススメ:第8回 ソースコードを追いかける|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/sc-literacy/0008?page=2

2. linux-libc-dev
Debianならばlinux-libc-devをインストールすれば良いみたい。

Debian -- squeeze の linux-libc-dev パッケージに関する詳細
http://packages.debian.org/squeeze/linux-libc-dev

しかし、カーネルにパッチを当てた場合などは、linux-libc-devにヘッダファイルが含まれないかもしれない。
make headers_installする必要があるかも。

squeezeでPPS対応カーネルコンパイル

2010/4
squeeze daily snapshot 2010/03/22
kernel-source 2.6.32
apt-get install fakeroot kernel-package
aptitude install linux-source-2.6.32
cd /usr/src
aptitude install libncurses5-dev

make menuconfig
Device drivers -> PPS support
 x x    <*> PPS support                                                  x x
 x x    [*]   PPS debugging messages                                     x x
ついでにCPUタイプ設定しておく
-> Processor type and features                                      x
 x       -> Processor family (<choice> [=y])                               x
 x
(X) Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon

fakeroot make-kpkg --initrd --revision=pps.100413 kernel_image

エラー

make[1]: ディレクトリ `/home/rio/linux-source-2.6.32' から出ます
/usr/bin/make    ARCH=i386 \
                            -C Documentation/lguest
make[1]: ディレクトリ `/home/rio/linux-source-2.6.32/Documentation/lguest' に入 ります
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include  -U_FORTIFY_SOURCE    lguest.c   -o lguest
lguest.c:21:25: error: sys/eventfd.h: そのようなファイルやディレクトリはありません
lguest.c: In function ‘create_thread’:
lguest.c:1027: warning: implicit declaration of function ‘eventfd’
make[1]: *** [lguest] エラー 1
make[1]: ディレクトリ `/home/rio/linux-source-2.6.32/Documentation/lguest' から 出ます
make: *** [debian/stamp/build/kernel] エラー 2

対策

lennyで2.6.31以降をビルドする場合のlguestでのエラー対応 - kinneko@転職先募集中の日記
http://d.hatena.ne.jp/kinneko/20100406/p9
Documentation/lguest/Makefile
all: lguest -> all:

インストール

# dpkg -i linux-image-2.6.32_pps.100413_i386.deb 

Squeezeでrootパスワード設定できない

Squeeze Daily snapshot 2010/03/22 netinst CDでインストール時に問題

セットアップ時に指定したrootのパスワードで、セットアップ終了後にログインできない
また、セットアップ時に作成したはずのユーザーアカウントも存在しない。
single user modeでログインしてもpasswdで変更できない
passwd: System error
passwd: password unchanged

ネタもと
Strange: "passwd: System error" after squeeze (testing) install - Linux Forums
http://www.linuxforums.org/forum/debian-linux-help/161898-strange-passwd-system-error-after-squeeze-testing-install.html

行った作業
aptitude reinstall libpam-modules
aptitude reinstall libpam-unix2 libpam-runtime
aptitude reinstall libpam-pwdfile libpam-cracklib

これだけだとダメで
sudo dpkg-reconfigure -plow libpam-runtime
で "Winbind NT/Active Directory authentication"をアンチェックでrootパスワード変更できた。




lennyにvncサーバー入れる

tightvncserver

起動
# vncserver :1
終了
# vncserver -kill :1

クライントの接続先は以下のようにする。Debianはマシン名とする。
Debian:1


lennyでrcairoを使う

# apt-get install libcairo2-dev
# apt-get install libcairo-ruby
# gem install cairo
目安箱バナー