NRIロゴ2号
| Top Page| うだうだ日記| 写真日記|
| L-Card+| パソコン研| リンク集|

L-Card+ の insmod

L-Card+上で動作するLinux-VRで動作する insmod の作成方法について説明する。 Linux-VRには、binutilが ファイルフォーマットに関する混乱 (IRIX ELFとABI ELF)という問題を持っているらしく、 そのままでは、insmodが正しく動かない。 ここでは、modutilsのソースの一部を姑息に修正することに よって、その問題を回避している。

準備するもの

  • L-Card+ kernel 2.4.0-test9
  • modutils-2.4.0.tar.gz
  • L-Card+のクロスコンパイル環境

コンパイル

  • ホスト上で modutils-2.4.0.tar.gz を展開する。

  • ソースの修正
             obj/obj_load.c:229行目
    	 
                j = f->local_symtab_size = sec->header.sh_info; j = f->local_symtab_size = nsym; 
    
            に修正。
            

  • configureとmakeを実行 (cshの場合)
            % setenv CC mipsel-linux-gcc
    	% setenv BUILDCC gcc
            % setenv AR mipsel-linux-ar
            % setenv RANLIB mipsel-linux-ranlib
            % ./configure --enable-combined --host=mipsel-linux --enable-insmod-static
            % make
    	
  • 出来上がった insmodをL-Card+にコピー

    • 出来上がった insmod/insmodを ftpなどで、 L-Card+にコピーする。 binモードで転送すること。 L-Card+上では、/sbin/insmodに置き、chmod +xしておく。

    • rmmod,lsmodなどからも シンボリックリンクしておく。
                    % ln -s /sbin/insmod /sbin/lsmod
                    % ln -s /sbin/insmod /sbin/rmmod
      	      

Linux-VRの問題点

insmodに対する修正が、あまりにも姑息なので ちゃんと直そうと思い、いろいろ調査したところ、 以下の情報にたどり着きました。

Re:problem with insmod

要は、mips用のbinutilが、ABI ELFではなく、 IRIX ELFを使っていて、いろいろと混乱しているそうです。 これを、修正するのは大変そうなので、modutilに姑息な修正を 施してしのぐことにしました。

お願い

mipsのbinutilの問題は治っているとか、 こっちのinsmodを使った方が良いとかいう情報が ありましたら教えて下さい。

履歴

  • 2002/01/29(Tue) 新規作成


NRIロゴ2号
| Top Page| うだうだ日記| 写真日記|
| L-Card+| パソコン研| リンク集|

$Id: lcard-insmod.html,v 1.60 2006/02/08 07:02:18 nari Exp $