MyLinuxの開発環境を準備する
MyLinuxの開発環境を構築します。開発マシンのOSとしてVine Linux3.1を利用します。
Vine Linux3.1のインストール
開発マシンにVine Linux3.1をインストールします。
▽「インストールオプション」画面で「カスタム」を選択します。
▽「パーティション分割方法の選択」画面で「Disk Druidを使用して手動でパーティションを設定」を選択し、
次のようにパーティションを作成します。
- ・スワップはメモリの約2倍を確保します。(/dev/hda5)
- ・/bootディレクトリは約100Mバイトを確保します。(/dev/hda1)
- ・/usr/local/src/origlinuxディレクトリとして約1024Mバイトを確保します。 (/dev/hda3)
- ・残りすべてを、/(ルート)ディレクトリに割り当てます。(/dev/hda2)
▽「パッケージグループの選択」画面で「基本開発ソフトウエア」をチェックします。
bisonとflexの追加インストール
bisonとflexは、Vine Linuxの追加パッケージ集「VinePlus」から入手してインストールします。
ダウンロードサイト
ftp://ring.gr.jp/pub/linux/Vine/VinePlus/3.1/i386/RPMS.plus/
/usr/local/src/bison_flexディレクトリを作成し、
# mkdir /usr/lcoal/src/bison_flex
bison-1.875-6vl1.i386.rpm
flex-2.5.4a-30vl1.i386.rpm
をダウンロードして、/usr/local/src/bison_flexに格納します。
# rpm -ivh /usr/local/src/bison_flex/bison-1.875-6vl1.i386.rpm
# rpm -ivh /usr/local/src/bison_flex/flex-2.5.4a-30vl1.i386.rpm
を実行してインストールします。
MyLinux開発に用いるディレクトリ
/usr/local/src/origsoft MyLinuxに必要なソフトウェアアーカイブを格納するディレクトリ
/usr/local/src/origdev MyLinux構築作業用ディレクトリ
/usr/local/src/origlinux 作成したMyLinuxの格納ディレクトリ
/mnt/fm フラッシュメモリのマウントポイント
/mnt/ram RAMディスク用ディレクトリ
/mnt/loop0 ループバックデバイスのマウントポイント
▼ディレクトリの作成
ディレクトリを作成します。
# mkdir -p /usr/local/src/origsoft
# mkdir -p /usr/local/src/origdev
# mkdir -p /mnt/fm
# mkdir -p /mnt/ram
# mkdir -p /mnt/loop0
MyLinuxのソフトウエアのコピー
ダウンロードしたMyLinuxのソフトウエアを/usr/local/src/origsoftディレクトリにコピーします。
[コピーするファイル]
- bash-3.0.tar.gz
- fileutils-4.1.11.tar.gz
- glibc-2.3.4.tar.bz2
- glibc-linuxthreads-2.3.4.tar.bz2
- grub-0.96.tar.gz
- linux-2.4.29.tar.bz2
- makedev_2.3.1.orig.tar.gz
- modutils-2.4.27.tar.gz
- ncurses-5.4.tar.gz
- net-tools-1.60.tar.bz2
- procps-3.2.5.tar.gz
- rsync-2.6.3.tar.gz
- sh-utils-2.0.15.tar.gz
- sysklogd-1.4.1.tar.gz
- sysvinit-2.86.tar.gz
- util-linux-2.12q.tar.gz
- httpd-2.0.53.tar.gz
- samba-3.0.11.tar.gz
<確認>
[root@localhost origsoft]# ls -l
-rwxr-xr-x 1 root root 2418293 Oct 23 22:42 bash-3.0.tar.gz*
-rwxr-xr-x 1 root root 2563888 Oct 23 22:42 fileutils-4.1.11.tar.gz*
-rwxr-xr-x 1 root root 13213560 Oct 23 22:42 glibc-2.3.4.tar.bz2*
-rwxr-xr-x 1 root root 236183 Oct 23 22:42 glibc-linuxthreads-2.3.4.tar.bz2*
-rwxr-xr-x 1 root root 985761 Oct 23 22:42 grub-0.96.tar.gz*
-rwxr-xr-x 1 root root 6946727 Oct 23 22:42 httpd-2.0.53.tar.gz*
-rwxr-xr-x 1 root root 31124710 Oct 23 22:42 linux-2.4.29.tar.bz2*
-rwxr-xr-x 1 root root 9924 Oct 23 22:42 makedev_2.3.1.orig.tar.gz*
-rwxr-xr-x 1 root root 292426 Oct 23 22:42 modutils-2.4.27.tar.gz*
-rwxr-xr-x 1 root root 2154022 Oct 25 07:08 ncurses-5.4.tar.gz*
-rwxr-xr-x 1 root root 198520 Oct 23 22:42 net-tools-1.60.tar.bz2*
-rwxr-xr-x 1 root root 277365 Oct 23 22:42 procps-3.2.5.tar.gz*
-rwxr-xr-x 1 root root 583453 Oct 23 22:42 rsync-2.6.3.tar.gz*
-rwxr-xr-x 1 root root 9832909 Oct 24 10:51 samba-3.1.0.tar.gz*
-rwxr-xr-x 1 root root 2136810 Oct 23 22:42 sh-utils-2.0.15.tar.gz*
-rwxr-xr-x 1 root root 81784 Oct 23 22:42 sysklogd-1.4.1.tar.gz*
-rwxr-xr-x 1 root root 99009 Oct 23 22:42 sysvinit-2.86.tar.gz*
-rwxr-xr-x 1 root root 1992810 Oct 23 22:42 util-linux-2.12q.tar.gz*
[root@localhost origsoft]#
MyLinuxのファイルシステム
<MyLinuxのファイル構成>
/boot カーネルイメージやinitrdファイルを格納するディレクトリ /bin 基本コマンドを格納するディレクトリ /sbin システム管理コマンドを格納するディレクトリ /usr システム管理以外のユーティリティやアプリケーションを格納するディレクトリ /lib プログラム実行に必要な共有ライブラリを格納するディレクトリ /etc システム設定ファイル群を格納するディレクトリ /dev デバイスファイル群を格納するディレクトリ /proc カーネルやプロセス情報用の仮想ファイルシステム /root rootユーザのホームディレクトリ /home 一般ユーザのホームディレクトリ /mnt デバイスのマウントポイント /var ログなどの保管場所 /tmp 一時作成ファイルの格納場所
<MyLinuxのディレクトリ構成>
/ | +- /bin | +- /var-----+-- /lock | | +- /home +-- /log | | +- /lib +-- /run | | +- /mnt +-- /spool | +- /proc | +- /sbin | +- /usr-----+-- /bin | | +- /boot +-- /include | | +- /etc +-- /lib | | +- /root +-- /local | | +- /tmp +-- /share------ man----+-- /man1 | | | ・ +- /dev +-- /src +-- ・ | | ・ +-- /sbin +-- /man9 | +-- /man <-- /share/manのシンボリックリンク
ファイルシステムの作成操作
ディレクトリをMyLinux作業用ディレクトリ(/usr/local/src/origdev)内に作成します。
# cd /usr/local/src/origdev
# mkdir -p boot bin sbin usr lib etc dev proc root home mnt var tmp
各ディレクトリ内に必要なサブディレクトリを作成します。
# cd var
# mkdir -p lock log run spool
# cd ../usr
# mkdir -p bin include lib local sbin share src
# cd share
# mkdir -p man
# cd man
# mkdir -p man1 man2 man3 man4 man5 man6 man7 man8 man9
# cd ../..
# ln -s share/man man
デバイスファイルの作成
デバイスファイルを用意 します。/devディレクトリ内にデバイスファイルを作成するには「MAKEDEV」というスクリプトを使用します。このスクリプトは、MAKEDEVのソースアーカイブ(makedev_2.3.1.orig.tar.gz)に含まれています。
MAKEDEVのインストール
MAKEDEVのソースアーカイブ /usr/local/src/origsoft/makedev_2.3.1.orig.tar.gz を展開して導入します。
導入先は、MyLinux構築作業用ディレクトリです。
ROOT変数の引数に、このディレクトリ名を指定し、make installコマンドを実行します。
# cd /usr/local/src/origsoft
# tar -xzvf makedev_2.3.1.orig.tar.gz
# cd makedev-2.3.1.orig
# ROOT=/usr/local/src/origdev make install
/usr/local/src/origdev/devディレクトリにMAKEDEVスクリプトが、/usr/local/src/origdev/usr/man/man8ディレクトリにMAKEDEVスクリプトのドキュメントがインストールされます。
MAKEDEVスクリプトの実行
MAKEDEVスクリプトを実行し、/usr/local/src/origdev/devディレクトリ内にデバイスファイルを作成します。
# cd /usr/local/src/origdev/dev
# ./MAKEDEV generic
MAKEDEVスクリプトにgenericというオプションを付けると、一般的なデバイスのデバイスファイルが作成されます。
[エラー発生]
[root@localhost dev]# ./MAKEDEV generic
./MAKEDEV: line 1: device: unknown major number for lp
./MAKEDEV: line 1: device: unknown major number for lp
[root@localhost dev]# ls
[正常処理]
[root@localhost dev]# ./MAKEDEV lp
[root@localhost dev]# ls
<確認>
lsコマンドで、/usr/local/src/origdev/devディレクトリ以下に作成されたデバイスファイルを確認します。
2008.07.01