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

[pbsd-mg2] Re: linux cross kit



佐野@リムネットです。

<199907191319.WAA12508@ninja.hpc.bs1.fc.nec.co.jp>の記事において
suz@d2.bs1.fc.nec.co.jpさんは書きました。

>> linux 版の crosskit を作ってみました。
>> αリリースということで、http://www.at.sakura.ne.jp/~suz/mg2 だけに
>> 置いてあります。
% uname -a
Linux kano 2.0.37 #18 Thu Jul 15 19:44:02 JST 1999 i586 unknown
において kernel のコンパイルを行ってみました。

2つ気になった点があります。
 1) make depend がエラーになりました。 -> 無視して進めました。
 2) $CRS/bin に cc がありません。 -> gcc にリンクしました。

>> linux は良く知らないので、レポートいただけると助かります。
上記の対応で kernel はコンパイルできました。実際に行った手順は最後に付けます。
できた kernel の動作確認は、まだ行っていません。

>> # 作りながら思ったのですが、どうやってインストールするんだろうか。
>> # ext2fs を rootfs にできれば、インストールも可能?
NetBSD のファイルシステムを Linux がマウントできれば良いのではないでしょうか。
# できるかどうかは、まだ調査中です。
# Linux 2.2.x であれば FreeBSD のファイルシステムはマウントできるはずです。

---
 1. <http://www.at.sakura.ne.jp/~suz/arc/crosskit-linux-0719.tar.bz2> を展開
    # cd /
    # bzip2 -cd /var/tmp/crosskit-linux-0719.tar.bz2 | tar xBf -

 2. 環境変数を設定
    % setenv CRS /usr/local/mipsel-netbsd
    % setenv MACHINE hpcmips
    % setenv MACHINE_ARCH mips

 3. <ftp://ftp.jp.netbsd.org/pub/NetBSD-jp/hpcmips/src/tar_files/sys.tgz> を展開
    % mkdir -p ~/NetBSD/hpcmips
    % cd ~/NetBSD/hpcmips
    % tar xzf /var/tmp/sys.tgz

 4. config を実行
    % cd ~/NetBSD/hpcmips/sys/arch/hpcmips/conf
    % $CRS/bin/config GENERIC 
    Don't forget to run "make depend"

 5. make depend を実行
    % cd ../compile/GENERIC
    % $CRS/bin/make depend
    depending the kern library objects
    mkdep -a -I/home/hiko/NetBSD/hpcmips/sys/lib/libkern/arch/mips -I../../.
    -I../../../../../../arch -I../../../../../.. -nostdinc -DMIPS3_FLUSH -DM
    IPS3 -DNKMEMCLUSTERS=1024 -DFIFO -DMULTICAST -D__NO_SOFT_SERIAL_INTERRUP
    T -DMAXUSERS=8 -D_KERNEL -Dhpcmips -D__hpcmips__  -DPIC -DABICALLS /home
    /hiko/NetBSD/hpcmips/sys/lib/libkern/arch/mips/byte_swap_2.S /home/hiko/
    NetBSD/hpcmips/sys/lib/libkern/arch/mips/byte_swap_4.S /home/hiko/NetBSD
    /hpcmips/sys/lib/libkern/arch/mips/memcpy.S /home/hiko/NetBSD/hpcmips/sy
    s/lib/libkern/arch/mips/strlen.S /home/hiko/NetBSD/hpcmips/sys/lib/libke
    rn/arch/mips/strcmp.S
    /bin/sh: mkdep: command not found
    *** Error code 1

    Stop.
    *** Error code 1

    Stop.

    [[[ mkdep が無い ]]]

 6. <ftp://ftp.jp.netbsd.org/pub/NetBSD-jp/hpcmips/src/tar_files/usr.bin.tgz>
    を展開 & コンパイル
    %cd ~/NetBSD/hpcmips
    % tar xzf /var/tmp/usr.bin.tgz
    % cd ~/NetBSD/hpcmips/usr.bin/mkdep
    % $CRS/bin/make -I $CRS/share/mk.cross
    % su
    Password: 
    # cp mkdep $CRS/bin/
    # exit

 7. mkdep で実行しているのでパスを通す
    % set path = ($CRS/bin $path)

 8. 再度 make depend を実行
    % cd ~/NetBSD/hpcmips/sys/arch/hpcmips/compile/GENERIC
    % $CRS/bin/make depend

    [[[ やはりエラーなのでとりあえず make depend は無視 ]]]    

 9. make を実行
    % $CRS/bin/make
    sh ../../../../kern/genassym.sh cc  -O2 -Wall -Werror -Wstrict-proto
    types -Wmissing-prototypes  -Wno-uninitialized -Wpointer-arith -G 0 
     -mno-abicalls -mno-half-pic -I. -I../../../../arch -I../../../.. -n
    ostdinc -DMIPS3_FLUSH -DMIPS3 -DNKMEMCLUSTERS=1024 -DFIFO -DMULTICAS
    T -D__NO_SOFT_SERIAL_INTERRUPT -DMAXUSERS=8 -D_KERNEL -Dhpcmips -D__
    hpcmips__   < ../../../../arch/mips/mips/genassym.cf > assym.h.tmp &
    &  mv -f assym.h.tmp assym.h
    cc: 0: No such file or directory
    cc: unrecognized option `-G'
    cc1: Invalid option `no-abicalls'
    cc1: Invalid option `no-half-pic'
    cc -x assembler-with-cpp -traditional-cpp -D_LOCORE -I. -I../../../..
    /arch -I../../../.. -nostdinc -DMIPS3_FLUSH -DMIPS3 -DNKMEMCLUSTERS=1
    024 -DFIFO -DMULTICAST -D__NO_SOFT_SERIAL_INTERRUPT -DMAXUSERS=8 -D_K
    ERNEL -Dhpcmips -D__hpcmips__ -c ../../../../arch/mips/mips/locore.S
    In file included from ../../../../arch/mips/mips/locore.S:73:
    mips/asm.h:90: warning: `_C_LABEL' redefined
    mips/cdefs.h:45: warning: this is the location of the previous definition
    as: unrecognized option `-Qy'
    *** Error code 1

    Stop.

    [[[ $CRS/bin 以下に cc が無いので /usr/bin/cc を使用している ]]]

10. gcc を cc にリンク
    % su
    Password: 
    # cd $CRS/bin
    # ln -s gcc cc
    # exit

11. 再度 make を実行
    % $CRS/bin/make
    [[[ うまく行ってると思ったら ]]]
    cc  -O2 -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes  -Wno
    -uninitialized -Wpointer-arith -Wno-main -G 0  -mno-abicalls -mno-ha
    lf-pic -I. -I../../../../arch -I../../../.. -nostdinc -DMIPS3_FLUSH 
    -DMIPS3 -DNKMEMCLUSTERS=1024 -DFIFO -DMULTICAST -D__NO_SOFT_SERIAL_I
    NTERRUPT -DMAXUSERS=8 -D_KERNEL -Dhpcmips -D__hpcmips__  -c ioconf.c
    ioconf.c:98: `NEC_MCR' undeclared here (not in a function)
    ioconf.c:98: initializer element for `loc[12]' is not constant
    *** Error code 1

    Stop.

    [[[ ~/NetBSD/hpcmips/sys/arch/hpcmips/conf/HOW_TO_CONF を未読 ]]]
    [[[ 反省 ]]]

12. 一度初期化
    % cd ~/NetBSD/hpcmips/sys/arch/hpcmips/compile
    % rm -r GENERIC

13. ~/NetBSD/hpcmips/sys/arch/hpcmips/conf/HOW_TO_CONF の作業を実行
    % cd ~/NetBSD/hpcmips/sys/arch/hpcmips/conf
    % mkdir ../compile/GENERIC
    % cp ./ioconf.incl.hpcmips ../compile/GENERIC/
    % $CRS/bin/config GENERIC
    Don't forget to run "make depend"

14. 再度 make を実行
    % cd ../compile/GENERIC
    % $CRS/bin/make

    [[[ 成功 ]]]

    % /bin/ls -l netbsd
    -rwxr-xr-x   1 hiko     root      1573790 Jul 28 12:18 netbsd

15. ssh をインストール (必要無い ?)
    ssh-1.2.27.tar.gz

16. cvs password 取得 ?
    % runsocks cvs -d :pserver:anoncvs@sup.jp.netbsd.org:/cvs/jproot login
    Password: anoncvs
    % /bin/ls -l ~/.cvspass
    -rw-------   1 hiko     root           56 Jul 28 14:57 /home/hiko/.cvspass

17. cvs update
    % cd ~/NetBSD
    % runsocks cvs -d :pserver:anoncvs@sup.jp.netbsd.org:/cvs/jproot update hpcmips/sys

18. 最新版を make
    % cd ~/NetBSD/hpcmips/sys/arch/hpcmips/compile
    % mv GENERIC GENERIC.OLD
    % cd ../conf
    % mkdir ../compile/GENERIC
    % cp ./ioconf.incl.hpcmips ../compile/GENERIC/
    % $CRS/bin/config GENERIC
    Don't forget to run "make depend"
    % cd ../compile/GENERIC
    % $CRS/bin/make

    [[[ 成功 ]]]

    % /bin/ls -l netbsd
    -rwxr-xr-x   1 hiko     root      1604094 Jul 28 15:32 netbsd