[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:21809] Re: [Q] How to build kernel package under normal user permission ?



末廣です。potatoを使っています。

On Mon, Apr 10, 2000 at 02:01:02AM +0900, Taketoshi Sano wrote:
> 
> 例えば pcmcia-source の場合は、make-kpkg を使うためには 
> ソースを展開したディレクトリ (./modules/pcmcia-cs) が 
>  /usr/src/modules/pcmcia-cs であるか、あるいはそこからリンク
> されていないといけないみたいですね。
> 
>  make-kpkg を使わずに、"debian/rules binary-modules" を実行して
>  pcmcia-modules-<kver> を build する場合には、別にどこのディレクトリでも
> いいし、リンクも無くてもかまいませんが、 checkroot が入っているので
>  root でないと build できません。
> 
> まあ
> 
> # Genereate deb file
>         chown -R root.root debian/tmp-modules
>         chmod -R g-ws debian/tmp-modules
> 
> とかするので、root が必要なのは仕方が無いのかなという気もしますが。
> もしかして、これは fakeroot すれば別に問題無いのかな。そのうちに
> 試してみることにしよう。

/usr/share/doc/kernel-source-2.2.14/README.modules.gz によると、
make-kpkg で add on module を build するための条件は、
その module の source が、

    1. $(MODULE_LOC)/<module-name>/ の下に展開されているべし。
         (MODULE_LOC の default値は /usr/src/modules であるが、
          環境変数、/etc/kernel-pkg.conf で変更可能。)
    2. kernel-package のメカニズムに対応しているべし。

だそうです。

私は、次のような手順で、全ての source を home directory の下に展開し、
root になることなくkernel再構築しています。

    pingu$ export MODULE_LOC=/home/suehiro/src/packages/kernel/modules

    pingu$ cd /home/suehiro/src/packages/kernel
    pingu$ tar xvfI /usr/src/kernel-source-2.2.14.tar.bz2
    pingu$ ln -s kernel-source-2.2.14 linux
    pingu$ tar xvfz /usr/src/pcmcia-cs.tar.gz

    pingu$ cd linux
    pingu$ make xconfig
    pingu$ make-kpkg clean
    pingu$ fakeroot make-kpkg --zimage --revision=pingu.2 kernel_image
    pingu$ fakeroot make-kpkg modules_image

# 実際には、出来上がった kernel に root ではなく自分の名前が
# 入っている方がなんとなく嬉しいので、最後から2番目の代わりに、
# 
# 	pingu$ make-kpkg --zimage --revision=pingu.2 build
# 	pingu$ fakeroot make -f debian/rules kernel-image-deb
# 
# としています。が、これは趣味の問題ですね。


> 本題の toshutils のほうは見たこと無いのでわかりません。 _o_

ちょっと調べてみました。toshutils は 1.9.9-1 で kernel-package
に対応した様子なので、上記手順と同様にすればOKのはずです。

------
    末廣雅利 E-mail: suehiro@xxxxxxxxxxxxxxxxxxxx