ubuntu10.10 tftpインストール、構成、テスト

3114 ワード

ubuntu10.10 tftpインストール、構成、テスト


堅持することになり,立ち止まることに負ける
ubuntu/centos/redhatはlinuxですが、カーネルには一定の変更があるため、tftpサーバのインストールには異なるコマンドがあります.
ここでは自分でubuntuをインストールしているので(redhatはrpm方式でインストールされています)
tftp-hpa tftpd-hpa xinetdのインストール
sudo apt-get install tftp-hpa tftpd-hpa xinetd
ルートディレクトリの下にフォルダ/tftpbootを作成します.私のルートディレクトリは/rootです.
ディレクトリ権限chmod-R 777/root/tftpbootの変更
1、tftpプロファイルを修正し、なければ作成する
vim/etc/xinetd.d/tftp
service tftp

{

	disable = no

	socket_type = dgram

	protocol = udp

	wait = yes

	user = root

	server = /usr/sbin/in.tftpd

	server_args = -s /root/tftpboot

	source = 11

	cps = 100 2

	flags =IPv4

}

2、inetdを修正する.confファイル
vim/etc/inetd.conf
tftp dgram udp wait nobody /usr/sbin/tcpd

/usr/sbin/in.tftpd /root/tftpboot

ここで/root/tftpbootはtftp共有ディレクトリ
3、tftpd-hpaファイルの修正
vim/etc/default/tftpd-hpa
#RUN_DAEMON="no"

#OPTIONS="-s /tftpboot/root -c -p -U tftpd"



TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/root/tftpboot"

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"

4./tftpboot/rootでテストファイルfileを作成する
テストの前にサーバを起動します.
方法は2つあります.
1.service xinetd restart
2./etc/init.d/xinetd restart
#cd/tftpboot/root
#touch file
#chmod 777 file
tftpサービスをテストします.
#cd/
#tftp 127.0.0.1
tftp>get file
tftp>q
#ls
現在のディレクトリを表示すると、xxxファイルが現在のディレクトリにあることがわかります.
上記の設定がまだできない場合は、selinuxを無効にします.
vim/etc/selinux/config//selinux/configというファイルがない場合は作成
# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=enforcing

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.

SELINUXTYPE=targeted

上のSELINUX=enforcingを:SELINUX=disable SeLinuxを無効にし、rebootでPCを再起動する
再起動してからtftpテストを行います.
5、開発ボードのテスト:
/tftpbootディレクトリが存在し、アクセス権があることを確認します(少なくとも「dr-xr-xr-x」が必要です).
あるいはdisable=yesをdisable=noに変更します
これにより、ホストlinuxのtftpサービスが開きます.次にubootのtftpコマンドを使用して、ターゲットボードのramにファイルを転送して実行できます.
ターゲットボードでipアドレスをコマンドprintenvで表示します.
serverip 192.168.2.1//ホストip、すなわちeth 0は、pcと開発ボードの接続がデフォルトでイーサネットであるため
ipaddr 192.168.2.10//ターゲットマシンつまり開発ボードのip
setenvコマンドは、ホストとターゲットのipアドレスを変更できます.
#setenv serverip 192.168.2.1//このコマンドはホストipを設定することができ、このコマンドは設定をramに保存するだけで、再起動すると設定は元の設定に戻ります.このときsaveenvコマンドで設定をflashに保存します.
#saveenv
各パラメータを構成した後、ubootコマンドウィンドウでtftpコマンドを使用してカーネル、ファイルシステムをramにコピーします.
まずping 192.168.2.1は成功すればダウンロードしますが、ping以前に端末設定番号eth 0:sudo ifconfig eth 0 192.168.2.1 netmask 255.255.255.255.255.0 up
#tftp 30008000 zImage_W 35//ホスト/tftpbootディレクトリのzImageファイルをターゲットボードメモリの300000,000アドレスにダウンロードします.
続きます....