Sparc/Netboot/ko

이 글은 젠투/SPARC netboot 설치 이미지 활용을 위해 네트워크 부팅 서버 설정을 안내합니다.

도입부
이 문서는 썬 마이크로 시스템즈 SPARC 또는 울트라 스팍 기반 컴퓨터용 네트워크 부팅 환경 설정 방법을 설명합니다. 이 문서는 여러분이 네트워크 부팅 서버로 가동할 젠투 리눅스 컴퓨터를 이미 갖추고 있다고 가정합니다.

넷부트 서버와 클라이언트는 동일한 서브넷에 있어야 하는데 ARP 프로토콜이 보통 다른 네트워크 서브넷으로 전달하지 못하기 때문입니다.

네트워크 부팅 과정에서 일어나는 일의 대략적인 내용은 다음과 같습니다:


 * 1) 클라이언트 머신은 IP 주소를 요청하기 위해 역방향 ARP(RARP) 요청을 보냅니다.
 * 2) 서버 머신은 IP 주소를 클라이언트에 응답으로 반환합니다.
 * 3) 클라이언트에서 TFTP 프로토콜을 이용하여 RARP 서버에서 부팅 이미지 다운로드를 시도합니다.
 * 4) 이미지를 다운로드하고 나면 네트워크 부팅 클라이언트에서 이미지로 부팅합니다.

이 개요 내용에 따라 역방향 ARP 데몬과 TFTP 데몬 프로그램을 설치해야합니다.

역방향 ARP 데몬
역방향 ARP 데몬은 이미 시스템에 설치되어 있습니다. 꾸러미의 일부입니다.

rarpd 일반 요소 설정 :

파일을 설정해야합니다. 이 파일에는 어떤 호스트가 요청했을 경우 에서 응답해야 하는지, 어떤 주소로 응답해야 하는지 나타냅니다.

형식읜 NIC의 MAC 주소이며 머신은 네트워크 부팅을 수행하고 이 언급한 호스트 이름을 부여받습니다. 공백은 MAC 주소를 호스트 이름과 구분하며 각 항목은 한 줄에 기입합니다. 다음은 sparc-netboot.gentoo.org 이름을 가진 호스트에 대한 예제입니다:

에 호스트를 추가하려 한다면, 요청을 받을 때마다 파일을 점검하므로 서비스를 다시 시작할 필요가 없습니다.

호스트 이름 해석 :

에 있는 각 항목에 호스트 이름이 붙어있다면 네트워크 부팅 서버에서는 각 호스트 이름을 IP 주소로 해석할 수 있어야합니다. 두가지 방법으로 해결할 수 있는데, 파일을 쓰거나 네트워크 부팅 서버에서 사용하는 이름 서버를 활용하는 방법입니다.

호스트 이름을 해석하는 항목은 네트워크 부팅 서버에 젠투를 설치했을때 이미 본 것과 매우 유사해보입니다. 우리 예제에서는 sparc-netboot.gentoo.org 호스트의 IP 주소가 10.0.1.15라고 가정하며 항목의 모습은 다음과 같습니다:

이름 서버를 활용한다면 DNS 서버 관리자는 호스트 이름에 대한 레코드를 등록해야합니다. sparc-netboot.gentoo.org의 경우 적당한 IP 주소를 가리키려면 DNS 서버 관리자에게 문의하거나 DNS 서버의 DNS 프로그램 문서를 찾아 엔트리에 추가하는 방법을 알아보십시오.

rarpd 설정

우선 에 사용할 옵션을 결정해야합니다. 우리가 다룰 옵션 외에 다른 옵션도 있지만, 에 대한  스크립트가 현재 없으면  서비스를 부팅할 때마다 활성화하려는 경우 에 추가해야 하기 때문에, 여기서 다룰 옵션으로 시작합니다. 예제 설정 항목은 다음과 같습니다:

위의  옵션에 대한 설명은 다음과 같습니다(맨 페이지에서 가져온 그대로입니다):


 * 자세하게 뿌림.
 * 부팅 이미지가 있는지 여부는 확인하지 말고 데이터베이스와 DNS를 활용하여 MAC 주소를 유효한 IP 주소로 변환할 경우에 응답할 것.
 * eth0은 에서 바인딩해야 할 인더페이스를 나타냄.

더 많은 옵션은 를 참고하십시오.

tftpd 데몬
TFTP 데몬에 대해 두 가지 선택지가 있는데, 하나는, 다른 하나는 입니다. 제대로 된 기능을 사용하려면 이 중 하나를 설치해야합니다.

tftpd 일반 요소 설정

Each TFTP daemon will need a directory from which to serve files to tftp clients. The directory we will use for this howto will be. This will appear as the root directory to the clients when requests are received. Additionally, we'll setup the system to run the TFTP daemon with the user and group nobody.

현재 없는 디렉터리를 선택했다면 명령으로 디렉터리를 만들어야 합니다. 디렉터리를 만드는 예제 명령은:

다음 의 소유주를 바꾸어 소유 사용자와 소유 그룹을 nobody로 설정해야합니다:

atftp 데몬
우선 다음과 같이 꾸러미를 설치하십시오;

After the atftp has been installed, it will need to be configured. If tftpd services are desired at boot time, an entry to will need to be added as  has no, , or  scripts of its own. If you want to use or  for controlling the tftpd service, please see their respective man pages.

하단 내용은 에 있는 atftpd의 항목 예제입니다.

위에 대한 설명은 다음과 같습니다(맨 페이지에서 가져온 그대로입니다):


 * 는 로깅 수준을 설정하거나 끌어올립니다. 인자를 붙이지 않으면 현지 값을 1로 증가합니다. 기본은 LOG_NOTICE입니다. 로그 레벨 옵션은 syslog(3)을 참고하십시오 현재 값 범위는 0 (LOG_EMERG) 부터 7 (LOG_DEBUG)까지입니다.
 * 은 데몬으로 실행하도록 하는 옵션입니다. atftpd를 inetd 기반으로 실행하는 경우에는 이 옵션을 사용하지 마십시오.

더 많은 옵션은 를 참고하십시오.

tftp-hpa 데몬
우선 꾸러미를 설치하십시오:

tftp-hpa comes with an and the accompanying  configuration file. Check to make sure that INTFTPD_PATH and INTFTP_OPTS variables in match the values below:

TFTP 데몬은 스크립트로 시작할 수 있습니다:

더 많은 옵션은 를 참고하십시오.

클라이언트에서 활용할 tftpboot 이미지 준비
Make sure you have an image you want to use for netbooting. Please check the local Gentoo distfiles mirror for the appropriate image. We'll assume you are planning to boot using the image.

이미지를 취득했다면 에 복사하십시오:

Now, when the netboot client makes a TFTP request, it looks for a file that is the hexadecimal number of its current IP address, and on some platforms an suffix. The hexadecimal number should use capital characters.

So for our example IP address, 10.0.1.15, let's look at its hexadecimal equivalent:

So for the example netboot client, it would look for a file named when it tftpboots.

Iif you are really, really lazy (like me), you can netboot the host to get the filename the client is looking for from the netboot server logs.

Make sure that both the and TFTP daemon you've chosen are currently running, then boot the host as described below in.

The client will appear to hang after the boot net command is issued. Then on the netboot server, check the system logs for an entry for.

An example entry from a netboot server running and  looks like:

The filename is shown above after "filename" in the log entry, which in this case is.

As a way to keep track of what netboot image you are using, and to allow multiple machines to use the same netboot image, you can use a soft link to create the file with the hexadecimal value. To create this using our sample sparc64 host and the, use the following command:

이제 네트워크 부팅 준비가 다 되었습니다!

클라이언트 넷부팅
SPARC의 OpenBoot PROM(OBP)에서 다음 명령을 입력하십시오:

이런 머신에서 다른 방법이 있다면:

This will initiate the networking booting process. A constantly changing string of hexadecimal digits should appear. When the image has finished loading, the kernel will take over and start the OS booting process. In the case of our sparc64 install image, you will be left at a shell prompt from which you can begin the install process.

문제 해결
Building the prerequisite software

If the netboot server is a Gentoo Linux system and experiences problems after installing the rarpd and tftpd packages, please search the Gentoo Forums and Gentoo Bugzilla to see if this problem has been encountered by anyone else. If it has not, or the solutions found do not work, then please open a new bug.

I've issued the boot net command but it appears to hang.

This is presumably because the file your system is trying to load from the tftpboot server is not available. On a SPARC system, you would probably see the following:

Double check that the file the client needs does exist in. You can confirm the filename it is requesting by looking in the system logs. Also, once this file exists, the client will try to load it. Sometimes, when the file is missing originally, it will freeze downloading the file once it appears. To resolve this, just get back to an OBP prompt, and issue the "boot net" command again. The host should then start downloading the tftpboot image and boot the OS.

I'm trying to netboot, but all I see are "Timeout waiting for ARP/RARP packet" messages.

This could be due to a few different problems:


 * 1) Make sure the entry in  exists for the client in question. If the MAC address is incorrect and/or the netboot server cannot resolve the hostname for the client, it cannot respond with the needed information.
 * 2) Verify that the network hub or switch the netboot server and client are connected to allow RARP traffic to flow freely. If the client's request cannot reach the server, or vice versa, the host will be unable to continue.
 * 3) No one is responding to the RARPD request because no services are listening. Verify that the  service is up and running.
 * 4) The client does not think its NIC has a link to the network hub/switch it is plugged into. Check to see if the NIC and the port on the network hub or switch has a link light. If the link light is on, check to see what the setting of tpe-link-test? is in OBP with the command;  . You should receive something like . The first column represents the parameter name, the second column shows the current value for the the parameter, and the third column shows the default value for the parameter. In the example above, we can see that the current value is false, which means that the client is not checking to see if the client and network hub or switch can establish a link before issuing its RARP request. Often times this can cause the problem.

To change the value of tpe-link-test? from an OBP prompt, issue the following command:

This shows the value of tpe-link-test? is now true. Try netbooting the client again.