[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