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