P/ECE | CatLine

Linux 導入メモ

このページの内容は偉大な先人達が残してくれた Web 上の資料をかき集めた程度のもので、いわゆる個人的なメモというか備忘録でス。
普段は Windows を使ってるので、たまに Linux とかいじると設定方法を忘れちゃって、毎回苦労してますのでまとめてみたのでス。
…でも内容的にすぐ古くなっちゃうんでスよね(´▽`)

Sony VAIO PCG-U1 に VineLinux2.6r4 をネットワークインストールする(2004年6月)

Sony VAIO PCG-U1 に VineLinux2.6r4 をネットワークインストールする

VAIO PCG-U1, VineLinux2.6r4 と変熊

ページの先頭に戻りまス ▲

概要

(別売りの FD ドライブと CDROM ドライブが手元にあれば良いのですが)VAIO PCG-U1 には FD も CDROM も付いていませんので、PCG-U1 の内蔵NIC から PXE (Preboot eXecution Environment) でネットワークブートさせ、 FTP で VineLinux をインストールします。
PXE と FTP のためにサーバマシンが必要ですが、通常 unix 系で立てるところを(使い慣れている?) Windows で立ててみます。
また、VAIO PCG-U1 にプリインストールされている Windows XP home はそのまま残し、VineLinux とのデュアルブート環境にします。
ブートローダは lilo でもいいのですが、国産フリーソフトウェアの MBM を使ってみました。 ※ VineLinux 自体のインストールはインターネットから FTP してもかまいませんが時間がかかるかもしれません…

ページの先頭に戻りまス ▲

用意するもの

1.VineLinux2.6r4 インストール用 CDROM
Vine Linux Home Page や雑誌の付録から CDROM を入手する。
※ iso イメージ(Vine26r4-i386.iso)をダウンロードして CD-R に焼いておきました。
2.Tftpd32(tftpd - win32)
Tftpd32 という PXE に対応したものを使用する。2004年6月時点の最新バージョンは v2.73。
3.NekosogiFTPd(ftpd - win32)
既に他の ftpd を入れているならば使い易いほうで。
4.BpBatch(PXE secondary bootstrap)
多目的ブートプロセッサ。 PXE の secondary bootstrap として使う。
5.MBM (Multiple Boot Manager)
高機能でグラフィカルインターフェースも選べるブートマネージャ。
6.サーバ用 Windows マシン 1台
Windows9x でも可なはず。(未確認)
※ 手持ちの Windows2000 が動いている NEC LavieM (NotePC) をサーバマシンにしました。
写真を撮るために棚の上でちまちまとやりたかったのでクロスケーブルで直結

ページの先頭に戻りまス ▲

作業手順

サーバマシンに VineLinux2.6r4 インストール用 CDROM を入れておく。

ページの先頭に戻りまス ▲

Tftpd32 の設定

適当な場所にデータディレクトリ (例えば D:\tftpdir) を作成し、そこへ BpBatch , MBM FD イメージ , VineLinux ネットワークインストール用 FD イメージを置く。
D:\tftpdir ディレクトリの内容 Tftpd32 自体のインストール作業は特にない。 Tftp32 を動かし設定を行う。

ページの先頭に戻りまス ▲

NekosogiFTPd の設定

NekosogiFTPd 自体のインストール作業は特にない。 NekosogiFTPd を動かし設定を行う。
(この例では E: ドライブの) CDROM をホームディレクトリとした anonymous FTP の設定を行う。

ページの先頭に戻りまス ▲

PCG-U1 BIOS 設定: Network Boot を有効にする

PCG-U1 起動時に F2 キーを押すことにより BIOS 設定画面に入る。 Advanced メニューで Network Boot を Enabled にする。 BIOS - Advanced
Boot メニューで起動デバイスを有効/無効に切り替えることができる。(Shift + 1 キー)

ページの先頭に戻りまス ▲

MBM (Multiple Boot Manager) のインストール

サーバマシン上の Tftpd32 を起動する。MBM のインストール手順は以下のようになる。 PCG-U1 の電源を入れる。ネットワークブートが有効になっているので PXE が動き、 DHCP で IP アドレスが振られ、TFTP で BpBatch が送り込まれる。
BpBatch のコマンドプロンプトから以下のコマンドを入力する。

> set cachenever = "ON"
> loadramdisk "MBM038.144"
Loading ramdisk image...
1440 Kb loaded to the ramdisk
> floppyboot
Booting from floppy disk

set cachenever = "ON" で内蔵 HDD へのキャッシュが無効になる。 loadramdisk で FD イメージを読み込み、 floppyboot で読み込んだ FD イメージのブートを行う。
PXE → BpBatch コマンド入力

MBM が起動するとメニューが表示されるので 3. Install boot manager を選ぶ。

***** MBM R0.38 diskette image mode *****
1. Boot menu
2. Edit partition table.
3. Install boot manager
4. Same as 3, and store to end of the track.
5. Restart
Please choose operation(1-5)=3

MBR へ MBM のインストールが完了したら PCG-U1 を再起動し、VineLinux のインストールに移る。
MBM のインストール

ページの先頭に戻りまス ▲

VineLinux のインストール

サーバマシン上の Tftpd32, NekosogiFTPd を起動しておく。VineLinux インストーラを起動するところまでは MBM のインストール手順と同じ。
BpBatch のコマンドプロンプトが表示されたら以下のコマンドを入力する。 PXE → BpBatch コマンド入力

> set cachenever = "ON"
> loadramdisk "bootnet.img"
Loading ramdisk image...
1440 Kb loaded to the ramdisk
> floppyboot
Booting from floppy disk


以降、 VineLinux インストーラの指示に従って作業を進める。 ※ FTP で公開するディレクトリとインストーラが検索するディレクトリの関係に注意。
Vine LinuxのCD-ROM(Vine Linux 2.6)は以下のディレクトリから構成されます。

/
├Vine/
| ├RPMS/
| └base/
├dosutils/
└images/

バイナリパッケージ
RPMパッケージ
インストーラ用データ
Windows/DOS で使用するツール類 (loadlin.exe, rawrite.exeなど)
ブートフロッピーディスクのイメージ

インストーラは /Vine 以下を検索するので、 CDROM のルート(例えば E:\ 等)を FTP のホームディレクトリとして公開した場合、 FTP Setup の Vine Linux Directory には "/" (ルート) を指定することになる。

ページの先頭に戻りまス ▲

PCG-U1 BIOS 設定: Network Boot を無効にする

ネットワークブートが有効なままだと PCG-U1 再起動時に PXE が動いてしまうので、BIOS 画面でネットワークブートを無効化するかブートデバイスの検索順を変更しておく。

以上で VineLinux2.6r4 のインストールは終了。

  • MBM で起動する OS を選択します。 MBM 画面
  • X window は自動で設定されました。 VineLinux 画面
  • ページの先頭に戻りまス ▲

    Sony Wireless LAN PC Card PCWA-C150S の設定

    PCG-U1 は小さいマシンなので LAN ケーブルをつなげていると引っ掛けて机の上から落としたりと、かなり危険が危ないでス。そこで無線 LAN PC カード (PCWA-C150S) を使えるようにしました。
    VineLinux2.6r4 (kernel2.4) ではインストール直後の状態でも PCWA-C150S カード自体は認識されます。
    が、使えるようにするには無線 LAN の設定が必要です。

    ● カードを挿した後、 cardctl コマンドでカード情報を参照してみる。
    # cardctl ident
    Socket 0:
    product info: "Sony Corporation", "PCWA-C150", "Version 01.01", ""
    manfid: 0x0156, 0x0002
    function: 6 (network)


    ● /var/log/messages - Intersil PRISM2 11 Mbps Wireless Adapter として認識されているらしい。



    Jun 13 11:00:46 pcgu1 cardmgr[653]: starting, version is 3.2.5
    Jun 13 11:00:46 pcgu1 cardmgr[653]: socket 0: Intersil PRISM2 11 Mbps Wireless Adapter
    Jun 13 11:00:46 pcgu1 cardmgr[653]: executing: 'modprobe orinoco_cs'
    Jun 13 11:00:46 pcgu1 cardmgr[653]: executing: './network start eth1'




    PCMCIA ネットワークカードが挿入されると cardmgr が '/etc/pcmcia/network start eth1' を実行するので、 'start' の部分に設定用スクリプトを入れてしまう。
    なんでこうしたかというと、/etc/pcmcia/network.pcmcia-cs で、無線 LAN 設定スクリプト?の /etc/pcmcia/wireless を取り込んでたんでスよね(´▽`)
    ※ これが Vine 的に正しい設定方法なのかわかりませんが、一応、ホットスワップ(活線挿抜?)もできたみたい。

    ● /etc/pcmcia/network
    #! /bin/sh
    #
    # network.sample $Revision: 1.1 $ $Date: 1995/05/25 04:30:06 $ (David Hinds)
    #
    # Initialize or shutdown a PCMCIA ethernet adapter
    #
    # This script should be invoked with two arguments. The first is the
    # action to be taken, either "start", "stop", or "restart". The
    # second is the network interface name.

    action=$1
    device=$2

    case "${action:?}" in
    'start')
    #
    # We don't do *anything* here. We get a hotplug event when the ethX device
    # is registered, and we bring the device up there
    #
    . ./network.pcmcia-cs
    ;;
    'stop')
    #
    [ -f /etc/sysconfig/network-scripts/ifcfg-${device} ] && \
     /etc/sysconfig/network-scripts/ifdown ifcfg-${device}
    ;;
    'restart')
    /sbin/ifconfig ${device:?} down up
    ;;
    esac

    /etc/pcmcia/network.pcmcia-cs から /etc/pcmcia/network.opts を参照しに行くようになるので、とりあえず空ファイルを作成しておく。

    ● /etc/pcmcia/network.opts ファイルの作成
    # cd /etc/pcmcia
    # touch network.opts

    Wireless LAN adapter configuration ファイル (/etc/pcmcia/wireless.opts) を編集する。
    MAC アドレスを使って設定を振り分けているようなので、 PCWA-C150S の MAC アドレス値を調べておく。(cardctl コマンドで得られるカード情報でマッチさせてもいいらしい。)
    自 LAN の設定内容は /etc/pcmcia/wireless.opts の先頭部分に追加した。

    ● /etc/pcmcia/wireless.opts
    # Wireless LAN adapter configuration
    #



    # Note also that this script will work only with the original Pcmcia scripts,
    # and not with the default Red Hat scripts. Send a bug report to Red Hat ;-)
    #
    # Finally, send comments and flames to me, Jean Tourrilhes
    #

    case "$ADDRESS" in

    # Here is an example of scheme matching
    # Activate with "cardctl scheme essidany"

    # Sony Wireless LAN PC Card PCWA-S150S 2004/06
    *,*,*,00:02:2D:xx:xx:xx)
    INFO="Sony Wireless LAN PC Card PCWA-S150S"
    ESSID="hogehoge"
    MODE="Managed"
    RATE="11M"
    KEY="hogehoge"
    ;;

    # Pick up any Access Point, should work on most 802.11 cards
    essidany,*,*,*)
    INFO="Any ESSID"
    ESSID="any"
    ;;






    ☆ 内蔵 NIC と PCMCIA Card NIC 、どっちが eth0 ? eth1?
    「…MAC アドレスの最初の 24 ビットは OUI (Organizationally Unique Identifier) で、IEEEによって承認されたメーカ固有の番号である…」 とのことなので調べてみる。
    内蔵 NIC は 08:00:46 で SONY CORPORATION LTD.、PCWA-C150S は 00:02:2D で Agere Systems でした。

    IEEE OUI and Company_id Assignments
    ここの Search the public OUI listing で 080046 などと打ち込むと、どこのメーカだかわかります。


    内蔵 NIC を止めたりすると eth0 と eth1 が入れ替わったりするので 内蔵 NIC が常に eth0 になるように空の IP アドレス設定で放置プレィ状態にしておく。
    自 LAN では DHCP を使っているので PCWA-C150S (eth1) は DHCP の設定にする。

    ● /etc/sysconfig/network-scripts/ifcfg-eth0 (内蔵 NIC)
    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    BROADCAST=
    NETWORK=
    NETMASK=
    IPADDR=
    USERCTL=yes


    ● /etc/sysconfig/network-scripts/ifcfg-eth1 (PCWA-C150S)
    DEVICE=eth1
    BOOTPROTO=dhcp
    ONBOOT=yes
    USERCTL=yes

    ※ HWADDR で固定にしたり /etc/modules.conf の alias を使う手もあるらしい…


    ● PCWA-C150S が動作し、無線がつながった時の /var/log/messages



    Jun 13 13:44:30 pcgu1 cardmgr[698]: starting, version is 3.2.5
    Jun 13 13:44:30 pcgu1 cardmgr[698]: socket 0: Intersil PRISM2 11 Mbps Wireless Adapter
    Jun 13 13:44:30 pcgu1 cardmgr[698]: executing: 'modprobe orinoco_cs'
    Jun 13 13:44:30 pcgu1 cardmgr[698]: executing: './network start eth1'
    Jun 13 13:44:31 pcgu1 cardmgr[698]: + usage ()
    Jun 13 13:44:31 pcgu1 cardmgr[698]: + {
    Jun 13 13:44:31 pcgu1 cardmgr[698]: + echo "usage: $0 [action] [device name]";
    Jun 13 13:44:31 pcgu1 cardmgr[698]: + echo " actions: start check stop suspend resume";
    Jun 13 13:44:31 pcgu1 cardmgr[698]: + exit 1
    Jun 13 13:44:31 pcgu1 cardmgr[698]: + }
    Jun 13 13:44:31 pcgu1 kernel: eth1: New link status: Connected (0001)





    'Intersil PRISM2 11 Mbps Wireless Adapter' と表示されるのが気持ちわるいなら /etc/pcmcia/config.opts (Local PCMCIA Configuration File) に PCWA-C150S の情報を追加する。

    ● /etc/pcmcia/config.opts
    #
    # Local PCMCIA Configuration File
    #
    #----------------------------------------------------------------------
    #
    # System resources available for PCMCIA cards
    #





    # Options for Xircom Netwave driver...
    #module "netwave_cs" opts "domain=0x100 scramble_key=0x0"

    card "Sony Wireless LAN PC Card PCWA-C150S (^-^)"
    version "Sony Corporation", "PCWA-C150"
    manfid 0x0156, 0x0002
    bind "orinoco_cs"

    他メーカの認識されないカードだった場合も、/etc/pcmcia/config.opts にカード情報を追加すればよい。
    version, manfid の値でバインドするドライバモジュールを決定しているらしい。
    カード情報の version, manfid には cardctl コマンドの product info, manfid の値を使う。 もし、全く同じ version, manfid の場合、マッチングは後勝ちのようなので認識させたいほうの定義を後ろに持ってくる。( /etc/pcmcia/config.opts の最後に追加すればよい。)

    ● カード情報の例
    card "hogehoge PCMCIA Card (^-^;" … @
    version "hogehoge Corporation", "hogehoge" … A
    manfid 0x0000, 0x0000 … B
    bind "hogehoge_cs" … C

    @はカードを認識できた時に cardmgr が /var/log/messages に表示する文字列。実は適当でよい。
    A、Bには cardctl コマンドで表示された product info, manfid の値を指定する。
    Cはカードのドライバを指定する。メジャーなカード(チップ)なら既存の定義から推測可能だが、ドライバ自体が無い場合もありえる(´▽`)


    ● iwconfig - Wireless NIC の設定、確認
    # iwconfig
    lo

    eth0

    eth1








    no wireless extensions.

    no wireless extensions.

    IEEE 802.11-DS ESSID:"hogehoge" Nickname:"pcgu1.localdomain"
    Mode:Managed Frequency:2.457GHz Access Point: 00:90:99:xx:xx:xx
    Bit Rate=11Mb/s Tx-Power=15 dBm Sensitivity:1/3
    Retry limit:4 RTS thr:off Fragment thr:off
    Encryption key:on
    Power Management:off
    Link Quality:81/92 Signal level:-16 dBm Noise level:-97 dBm
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:0 Invalid misc:0 Missed beacon:0

    ページの先頭に戻りまス ▲

    おまけ: 他の PC で見ている Web 画像を取り出す(謎)

    Vine Linux で DriftNet を動かしてみる

    同じアクセスポイントにつながっている無線 LAN を使った2台のノート PC (左:NEC LavieM 右:VAIO PCG-U1)があって、 NEC LavieM 側でえっちな Web ページを見ているとします。その内容(画像)を VAIO 側で捕らえているところです。

    【引用】 …DriftNet (http://www.ex-parrot.com/~chris/driftnet/) はスパイウェアの最悪の類であるかのように、驚くほど多数の悪評を集めており、時には他のユーザのプライバシーを侵害するための使いやすいツールであると宣伝されています…

    面白そうだからと安易にこの手のツールを使わないほうがいいです。最近はパケット盗聴を監視していることもありますので、犯罪者扱いされる場合がありまス(´▽`)あらヤダ

    ページの先頭に戻りまス ▲

    参考サイト

    以下のサイトの情報が非常に役に立ちました♪(⌒▽⌒)

    ページの先頭に戻りまス ▲

    P/ECE | CatLine