Samba-JP Top Page [ News | Documentation | Knowledge Base | Project | Event | Users Group | Mailing List ]

counter

Floppy一枚でSambaサーバを立ち上げる

2000/09/26 Ver1.1
このシステムの構成
Linux(Plamo 1.44)
Kernel-2.0.36 VFAT-JP a.out形式
Samba
Samba-1.9.18p10

V1.1での特徴

起動シーケンスをliloからsyslinuxに変更。これによりFATフォーマットになった
従来のext2フォーマットがFATになり、多くの容量を確保できました
1FD Linuxとしても使える
大量のコマンドを詰め込みました。telnet,ftp,pingそしてNFS(クライアント)まで使えます
組み込まれているコマンド
/sbin
agetty bdflush cardmgr halt ifconfig init insmod reboot rmmod route shutdown update
/bin
cat cp df ftp gzip hostname kill ln login ls mkdir mknod mount mv ping rm sh sleep sync tar telnet tr umount uname
/usr/sbin
nmbd smbd
VM Ware上でも使える?
使えたという報告がありました。但しLANのドライバーを入れ替える必要あり
ダウンロードと使い方
フロッピーイメージファイル(基本的にこれだけあれば可能です)
fdsamba.img 1,474,560 Byte Note用
modules(別の構成では必要に応じて入れ替え)
modules2036.tgz702,939 Byte
modules2036の中身は ここからダウンロードする事も可能です
fdsamba.imgをフロッピーに書き込んで下さい
dd if=fdsamba.img of=/dev/fd0 bs=16k (16kは特に意味無し)
このフロッピーでマシンをブートするだけです(多分次に示す TCP/IPの設定は必要です)
成功すれば、別のWindowsパソコン(TCP/IPが動いていること)のネットワークコンピュータを開いて boot_root(デフォルトの名前)というコンピュータを探します.testというWORKGROUP名を使用しています。
※見つからない場合は「他のコンピュータの検索」でboot_rootを探してみて下さい
boot_rootをダブルクリックするとroot,mnt1,mnt2,mnt5が見えます。パスワードは 全てデフォルトでboot_rootになっています。(このパスワードを設定ファイルで変更する事は出来ません。)

カスタマイズの方法

フロッピーイメージはDOS(FAT)形式なのでWindowsパソコンでもOKです。
カスタマイズするファイルの説明
RC
起動時後に開始するスタートアップ部分です
MODULES.CFG
moduleの読み込みを指定します。NIC(LANカード類)のドライバーやSCSIカードのドライバーを指定
NETWORK.CFG
IPアドレスなどの設定とPCMCIAを使うかどうかを指定
VMLINUZ
Linux Kernel です。
ROOTFS.GZ
実際のrootファイルシステムを圧縮した物です。起動中はRAMに展開してRAMディスク上でシステムは動きます

/NETWORK.CFG 各人の環境に合わせて設定して下さい
HOSTNAMEで指定した名前が Sambaサーバでのマシン名になります
IPADDR="192.168.0.200"		# REPLACE with YOUR IP address!
NETMASK="255.255.255.0"		# REPLACE with YOUR netmask!
NETWORK="192.168.0.0"		# REPLACE with YOUR network address!
BROADCAST="192.168.0.255"	# REPLACE with YOUR broadcast address
HOSTNAME="boot_root"		# REPLACE with LIKE
PCMCIA=YES			# NO or YES
/MODULES.CFG フロッピーの関係でNIC系は4つ、SCSIは2つしか入っていません。
これ以外が必要な場合はこの後でmoduleの追加(代わりに何かを削除)方法を説明します。
insmod loop
insmod 3c59x
insmod eepro100
insmod rtl8139
insmod tulip
insmod aha152x
insmod aha1542
insmod aic7xxx
insmod sd_mod			# SCSI DISK
insmod sr_mod			# SCSI CDROM
insmod st			# SCSI TAPE
/RC 特に凝った事はしていません。ただ PCMCIA=NO(/NETWORK)では /MODULESファイルを呼びません
#!/bin/sh

. /etc/NETWORK
echo "$IPADDR	$HOSTNAME" >> /etc/hosts
hostname -S $HOSTNAME
uname -a > /etc/motd

if test "$PCMCIA" = "YES" 
then
	/etc/rc.pcmcia start
	sleep 5
else
	. /etc/MODULES
	/etc/rc.inet
fi


mount -t vfat /dev/hda1 /mnt1
mount -t vfat /dev/hda2 /mnt2
mount -t vfat /dev/hda5 /mnt5


nmbd -D -f /var/run/nmbd.pid
smbd -D -f /var/run/smbd.pid

echo "-------------------------------------------------------------------"
cat /proc/modules
echo "-------------------------------------------------------------------"
cat /proc/mounts
echo "-------------------------------------------------------------------"
ifconfig eth0

その他の使い方-1(ネットワーククライアントとして)

route add default xxx.xxx.xxx.xxx (xxxは各環境のゲートウェイアドレス)
telnet xxx.xxx.xxx.xxx(IPを直接叩いて下さい)
ftp xxx.xxx.xxx.xxx(同上)
mount -t nfs xxx.xxx.xxx.xxx:/yyy /mnt(NFSマウントする場合)

その他の使い方-2(Linuxレスキュー)

Linux-BOXのシステムディスクを入れ替えるときってありませんか?そんな時 このFD-Samba Floppyで立ちあげた後、外付けのSCSIテープ(DISKも可能)にtar を使ってセーブ&リストアすれば良いのです。

moduleの入れ代え作業

この作業にはLinuxが必要です。言葉に表すとややこしいですが、Downloadした modules2036.tgzの中に全てのmodulesがあり これを展開したROOTFS.GZ の中に追化(削除)する作業です。順を追って説明します。
先に説明した modules2036.tgzを/tmpに展開します。
cd /tmp; tar xvzf modules2036.tgz
floppy をマウントした中にある ROOTFS.GZ を取り出し、解凍、マウントする
mount -t vfat /dev/fd0 /mnt
cp /mnt/ROOTFS.GZ /tmp
gunzip /tmp/ROOTFS.GZ
mount -o loop /tmp/ROOTFS /mnt2
/mnt2/lib/modules/2.0.36/以下に先ほど展開した /tmp/lib/modules/2.0.36/xxx から追加(削除)を行う。 現在、100%の状態なので追加する為には、不要なmoduleを削除しないと元に収まりません。 SCSI関係のmoduleは大抵の場合不要だと思います。またディスクトップの機種ではPCMCIA以下 をばっさり消すと良いでしょう。
以上の作業が終わったら逆の手順で元に戻します
umount /mnt2
gzip -9 /tmp/ROOTFS
cp /tmp/ROOTFS.gz /mnt/ROOTFS.GZ
以上で終りです。unmount して起動してみて下さい
umount /mnt

最後に

このシステムを作るのにお世話になった下記メーリングリストの方々に感謝いたします。
Plamo Linuxメーリングリスト・日本Sambaユーザ会メーリングリスト・FD-Linuxメーリングリスト