4.3. TFTP 네트워크 부팅에 필요한 파일 준비하기

LAN에 연결되어 있다면, 네트워크를 통해 TFTP를 사용해서 다른 기계에서 부팅할 수도 있습니다. 다른 기계에서 설치 시스템을 부팅하려고 한다면, 부팅 파일을 특정 위치에 복사해 놓고, 해당 기계의 부팅을 지원하도록 설정해 놓아야 합니다.

TFTP 서버를 설정해야 합니다. 그리고 많은 기계에서 BOOTP 서버를 설정해야 합니다.

Sparc과 PowerPC 기계에 들어 있는 Open Firmware와는 다르게, SRM 콘솔은 IP 주소를 가져올 때 RARP를 쓰지 않습니다. 그래서 Alpha를 네트워크 부팅할 때는 BOOTP를 사용해야 합니다. [2]SRM 콘솔에서 네트워크를 위한 IP 설정을 직접 입력할 수도 있습니다.

Trivial File Transfer Protocol은 (TFTP) 부팅 이미지를 클라이언트에게 넘겨줄 때 사용합니다. 이론상 이 프로토콜을 사용한다면 어떤 플랫폼의 어떤 서버라도 사용할 수 있습니다. 여기서는 SunOS 4.x, SunOS 5.x (Solaris), 그리고 GNU/Linux에서 사용하는 명령을 예로 듭니다.

4.3.1. TFTP Server 사용하기

TFTP 서버를 준비하려면, 먼저 tftpd 서버를 사용도록 해야 합니다. 보통 다음과 같은 줄을 /etc/inetd.conf에 넣으면 됩니다:

tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot

데비안 꾸러미의 경우에는 설치만 하면 기본적으로 이런 설정이 들어갑니다.

이 파일을 보고 in.tftpd의 인자로 사용하는 디렉토리를 기억해 두십시오. 아래에서 이 디렉토리 이름이 필요합니다. in.tftpd 일부 버전에서는, -l 옵션을 쓰면 모든 요청을 시스템 로그에 기록합니다. 이 옵션은 부팅 오류의 원인을 파악하는 데 유용합니다. /etc/inetd.conf 파일을 고쳤다면, 고쳤다는 사실을 inetd 프로세스에 알려야 합니다. 데비안 기계에서는 /etc/init.d/inetd reload 명령을 실행하고, 다른 곳에서는 inetd의 프로세스 ID를 찾아서 kill -HUP inetd-pid 명령을 실행합니다.

4.3.2. TFTP 이미지를 적당한 위치에 옮기기

그 다음에, 필요한 TFTP 부팅 이미지를 4.2.1절. “설치 이미지를 찾을 위치”에 쓰여 있는 것처럼 tftpd 부팅 이미지 디렉토리에 복사해 놓으십시오. 보통 이 디렉토리는 /tftpboot입니다. 이 파일에서, tftpd가 특정 클라이언트를 부팅할 때 사용하는 특정 파일로 링크를 만들어야 할 것입니다. 불행히도 그 파일의 이름은 TFTP 클라이언트가 결정하고, 어떤 표준도 없습니다.

4.3.2.1. Alpha TFTP 부팅

Alpha에서는, SRM의 boot 명령에 -file 인자를 사용하거나, BOOT_FILE 환경 변수를 지정해 파일 이름을 지정해야 합니다. (부팅 이미지 디렉토리의 상대 경로) 아니면 다른 방법으로, BOOP를 통해 파일 이름을 넘겨줄 수 있습니다. (ISC dhcpd에서는 filename을 사용합니다) Open Firmware와는 달리, SRM에는 기본 파일 이름이 없습니다. 그래서 이러한 방법들 중의 하나를 이용해서 파일 이름을 지정해야 합니다.



[2] Alpha 시스템은 DECNet MOP(Maintenance Operations Protocol)을 사용하여 네크워크로부팅할 수 있습니다. 그러나 이 방법은 여기서 다루지 않습니다. 당신의 OpenVMS관리자는 당신이 Alpha에서 리눅스를 부팅하기 위하여 MOP를 사용하는 것에 대한 도움을 줄 것입니다