|
# cd /etc |
|
# vi group |
|
追加、名称・番号は他の行と 重ならないもの |
|
# vipw |
MINE::1001:1001::0:0:NAME:/home/MINE:/bin/csh |
MINE は自分の ID 、1001 はグループや ID-NO なので適宜、
NAME は自分の名前(普通ローマ字表記)
|
# mkdir -p /home/MINE |
# cp /.cshrc /home/MINE |
# chown -R MINE:1001 /home/MINE |
# passwd MINE |
|
Retype new password: ****** |
|
自分のアカウントで root になれるように追加
やはり、root で外部からは入りたくないので、外から自分のアカウントで入って
su で必要に応じて移行できるように設定しておく
|
# cd /etc |
# vi group |
|
wheel の行に自 ID 追加 |
|
ついでに先に作ったグループに 追加 |
|
リモートでコンソールが使えるようにする
(セキュリティ的には SSH を使ったほうが望ましい)
|
# cd /etc |
# vi inetd.conf |
|
コメントアウト→動作させる |
# kill -HUP `cat /var/run/inetd.pid` |
"'" ではなく "`" に注意 バッククォート |
|
|
# cd /usr |
# ftp ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-1.5/source/sets/pkgsrc.tgz |
(ftp://ring.asahi-net.or.jp/pub/NetBSD/NetBSD-1.5/source/sets/pkgsrc.tgz) |
# tar xvzpf pkgsrc.tgz |
/usr/pkgsrc として展開 |
|
関連コマンド |
pkg_info |
インストールされてているパッケージの表示 |
pkg_admin |
管理用コマンド、通常使う場合はない |
pkg_add |
システムに追加するコマンド、バイナリファイルか URL を指定する |
pkg_delete |
パッケージを削除するコマンド |
pkglint |
パッケージのあるディレクトリを指定してパッケージがきちんと出来ているか |
port2pkg |
FreeBSD の ports から NetBSD のパッケージへ変更した後 pkglint をおこなってくれる |
url2pkg |
パッケージを作ってくれるツール |
|
|
tsch の設定
(標準の csh は、ファイル名の補完が有効になっていないようなので)
|
# cd /usr/pkgsrc/shells/tcsh |
# make |
# make install |
|
MINE::1001:1001::0:0:NAME:/home/MINE:/usr/pkg/bin/tcsh
|
自分の shell 変更 |
|
|
# cd /usr/pkgsrc/japanese/man |
# make |
# make install |
# cat /usr/pkg/share/doc/jman/README |
追加説明 |
|
|
この設定は .cshrc へ追加 |
|
この3行は特に設定しなくてもよい |
# setenv PAGER '/usr/pkg/jless -K euc' |
# setenv JLESSCHARSET jis-euc |
cd /tmp
ftp ftp://ring.asahi-net.or.jp/pub/NetBSD/packages/pkgsrc.tar.gz
(NetBSD 1.5 より新しく 1.5.1 のものだと思う。 こちらにはパッケージとして
クロス環境があるようなので更新)
cd /usr
tar xvzpf /tmp/pkgsrc.tar.gz
(/usr/pkgsrc 作成)
vi /etc/mk.conf
日本のサイト設定
cd /usr/pkgsrc/pkgtools/pkg_install
make install (パッケージ使用ツールの設定)
cd /usr/pkgsrc/cross/sh-netbsdcoff
make
make install
===> Please note the following:
=============================================================================
$NetBSD: MESSAGE,v 1.2 2001/05/14 09:08:23 wiz Exp $
This pkg DOES NOT install headers or runtime link libraries. Only the
compilers are installed.
In order to have a complete development setup, you need to install
includes and libraries in /usr/pkg/cross/sh-netbsdcoff/include and
/usr/pkg/cross/sh-netbsdcoff/lib respectively, or symlink these paths to
the appropriate places.
=============================================================================
===> Registering installation for cross-sh-netbsdcoff-1.3.0.0
cross-sh-netbsdcoff-1.3.0.0 requires installed package cross-binutils-2.9.1.2
コンパイラ等は /usr/pkg/cross にあり
/usr/arch/evbsh3/compile/ にクロス・メイク・スクリプト作成
(これは、www.jp.netbsd.org/ja/Documentation/cross/ の
NetBSD のクロス構築から拾ってきた)
build-script
#! /bin/sh
#DESTDIR= export DESTDIR
MACHINE=evbsh3 export MACHINE
MACHINE_ARCH=sh3 export MACHINE_ARCH
WHICH=sh-netbsdcoff
LOCAL=/usr/pkg
BINDIR=$LOCAL/cross/bin
PATH=$PATH:$BINDIR:$LOCAL/cross/$WHICH/bin:$PATH:$LOCAL/cross/bin export PATH
GCC_EXEC_PREFIX=$WHICH
AR=$BINDIR/$WHICH-ar export AR
AS=$BINDIR/$WHICH-as export AS
CC=$BINDIR/$WHICH-gcc export CC
CPP=`$CC -print-prog-name=cpp` export CPP
CXX=$BINDIR/$WHICH-c++ export CXX
FC=$BINDIR/$WHICH-f77 export FC
LD=$BINDIR/$WHICH-ld export LD
NM=$BINDIR/$WHICH-nm export NM
RANLIB=$BINDIR/$WHICH-ranlib export RANLIB
SIZE=$BINDIR/$WHICH-size export SIZE
ADDR2LINE=$BINDIR/$WHICH-addr2line export ADDR2LINE
GASP=$BINDIR/$WHICH-gasp export GASP
OBJCOPY=$BINDIR/$WHICH-objcopy export OBJCOPY
OBJDUMP=$BINDIR/$WHICH-objdump export OBJDUMP
STRINGS=$BINDIR/$WHICH-strings export STRINGS
STRIP=$BINDIR/$WHICH-strip export STRIP
MKPROFILE=no export MKPROFILE
#MKMAN=no export MKMAN
MKLINT=no export MKLINT
HOSTED_CC=cc export HOSTED_CC
MAKE=make export MAKE
#MAKE="make -f ${DESTDIR}/usr/share/mk/sys.mk -f Makefile"; export MAKE
#MAKEFLAGS="-I ${DESTDIR}/usr/share/mk" ; export MAKEFLAGS
set -x
exec $MAKE "$@"
sx.x.RAM の修正
MEMORY
{
ram : o = 0x88010000, l = 16M
}
(0x8c010000 → 0x88010000)
カーネルの再構築
cd /sys/arch/evbsh3
vi CQREEKSH4
修正
config CQREEKSH4 (ホスト、ターゲット関係なし)
cd ../compile/CQREEKSH4
sh ../../build-script depend
sh ../../build-script
ftp netbsd2.out PARTNER-J の RAM 環境に合わせたもの
PARTNER-J : ファイル : ロード : netbsd2.out
コンソール出力
Copyright (c) 1996, 1997, 1998, 1999, 2000
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 1.5 (CQREEKSH4) #0: Thu Jul 19 15:32:37 JST 2001
perm@mvp3nbsd.etpnet.local:/usr/src/sys/arch/evbsh3/compile/CQREEKSH4
total memory = 16384 KB
avail memory = 12988 KB
using 230 buffers containing 920 KB of memory
mainbus0 (root)
shb0 at mainbus0
scif0 at shb0 port 0xffe80000-0xffe8000f irq 12
scif0: console
biomask c0000000 netmask c0000000 ttymask e0000000
md0: internal 1440K image area
rn_init: radix functions require max_keylen be set
boot device:
root on md0a dumps on md0b
cannot mount root, error = 22
root device (default md0a):
次は、'インクルードファイルとライブラリーファイルの作成'
sys.tar.gz (これだけでカーネルの再構築はできるようだ)
cd /usr
tar xvzpf /tmp/top-level.tar.gz
etc.tar.gz
share.tar.gz
lib.tar.gz
crypto.tar.gz
include.tar.gz
bin.tar.gz
libexec.tar.gz
sbin.tar.gz
usr.sbin.tar.gz
usr.bin.tar.gz
distrib.tar.gz
gnu.tar.gz
config.tar.gz
dist.tar.gz
regress.tar.gz
cd /usr/src
make DESTDIR=/usr/obj.i386 build
クロスコンパイル環境設定
マシン依存部 MD部 Machine Dependent
非依存部 MI部 Machine Independent
1) 名前を決める
2) バイナリフォーマットを決める
3) クロスコンパイラの作成
4) メモリマップ、仮想記憶のメカニズム、ブートメカニズムの決定
5) カーネルをリンクできるところまで作成
6) 実際に動作させながらかーねるの未設計部分の設計と実装
6.0) コンソールのデバイスドライバ
6.1) 仮想記憶と例外処理
6.2) 割り込み
6.3) デバイスドライバ関連
6.4) RTC, クロック割り込み
6.5) プロセス管理部分
7) ユーザーレベルプログラム用のCのスタートアップ部分
8) ライブラリのコンパイル、 /sbin/initのコンパイル
9) ユーザープログラムのコンパイル
10) ファイルシステムの作成
cd /sys/arch/
ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.10.1.tar.gz
ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.10-2.10.1-patch.gz
ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.2.tar.gz
gzip -dc gcc-2.95.2.tar.gz | tar xvf -
cd /usr/src
gzip -dc binutils-2.10.1.tar.gz | tar xvf -
cd binutils-2.10.1
./configure --target=m68k-mac-coff
make
make install
pkg_add ftp://ftp.jp.netbsd.org/pub/NetBSD/packages/1.4.2/i386/All/gnome-1.2.1.tgz
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz
cd /usr
cp /usr/pkgsrc/mk/mk.conf.example /etc/mk.conf
vi /etc/mk.conf
(日本サイトの定義を生かす)
# Japan
#
MASTER....
MASTER_SITE_FREEBSD=yes ← 追加
make
( make DISTDIR=/cdrom/pkgsrc/distfiles ← CD-ROM からの読み込み)