부팅 가능한 드라이버 키트가 포함된 SLES 11 SP3 - 이미지 오류를 가져올 수 없음

부팅 가능한 드라이버 키트가 포함된 SLES 11 SP3 - 이미지 오류를 가져올 수 없음

Cobbler를 사용하여 SLES 11 SP3을 설치하려고 하는데 NBP 파일을 다운로드한 후 실패했습니다. 화면에 나타나는 오류는 "TFTP 이미지를 가져올 수 없습니다"입니다.

SLES 11 SP2와 유사한 설정이 있으며 제대로 작동합니다. 이 설정과의 차이점은 IBM x3500 M5 서버에 SLES 11 SP3을 설치한다는 것입니다. 이를 위해서는 OS 자체를 설치하기 전에 부팅 가능한 드라이버 키트(BDK)를 설치해야 합니다.

내 설정은 다음과 같습니다.

/var/lib/tftpboot> tree uefisp3
uefisp3
├── biostest
├── bootx64.efi
├── elilo.conf
├── initrd
├── linux
├── memtest
├── message
└── pxelinux.0

initrd 및 linux는 SLES DVD가 아니라 BDK 이미지에서 가져온 것입니다.

에서 인용https://drivers.suse.com/doc/Usage/Driver_Kits.html: 드라이버 키트 iso 이미지의 커널 및 initrd 이미지를 tftp 부팅 서버의 적절한 위치에 복사합니다. initrd 및 커널 이미지는 /boot/x86_64/loader 디렉토리에 있습니다.

파일 이름을 uefisp3/bootx64.efi, pxelinux.0 및 uefisp3/pxelinux.0으로 지정하여 /etc/cobbler/dhcp.template을 변경하려고 시도했지만 그 중 아무 것도 작동하지 않습니다.

내 코블러 배포판 보고서:

Name                           : sles11sp3
Architecture                   : x86_64
Breed                          : suse
Comment                        :
Initrd                         : /driverkit/boot/x86_64/loader/initrd
Kernel                         : /driverkit/boot/x86_64/loader/linux
Kernel Options                 : {'install': 'http://192.168.0.10/sles/sles11sp3', 'addon': 'http://192.168.0.10/sles/driverkit'}
Kernel Options (Post Install)  : {}
Kickstart Metadata             : {}
Management Classes             : []
OS Version                     : sles10
Owners                         : ['admin']
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Template Files                 : {}

내 elilo.conf(솔직히 이 파일이 필요한지 확실하지 않지만 SLES 11 SP2에서 수행한 방법은 다음과 같습니다):

/var/lib/tftpboot> cat uefisp3/elilo.conf
prompt
timeout=100
default=linux

image=linux
    label=linux
    description = "Installation"
    initrd=initrd
    append="/images/sles11sp3/initrd textmode=1 install=http://192.168.0.10/sles/sles11sp3 autoyast=http://192.168.0.10/cblr/svc/op/ks/profile/raid1drbd_sp3i addon=http://192.168.0.10/sles/driverkit"

pxelinux.cfg/default 파일에서 발췌:

LABEL raid1drbd_sp3
        kernel /images/sles11sp3/linux
        MENU LABEL raid1drbd_sp3
        append initrd=/images/sles11sp3/initrd textmode=1 install=http://192.168.0.10/sles/sles11sp3 addon=http://192.168.0.10/sles/driverkit  autoyast=http://192.168.0.10/cblr/svc/op/ks/profile/raid1drbd_sp3
        ipappend 2

TFTP 서버에서 수동으로 일부 파일을 가져오려고 시도했기 때문에 TFTP 서버가 작동합니다. /var/log/messages에 "tftp: client does not accept options" 오류가 있습니다. 제가 읽은 내용에 따르면 현재 직면하고 있는 문제와 관련이 없을 가능성이 높습니다.

드라이버 키트와 함께 SLES 11 SP3을 성공적으로 설치한 사람이 있습니까?

업데이트:

PXE 부팅 시도 중에 다음을 캡처했습니다.

SLES 11 SP3에서 PXE 부팅

2015-05-21 16:30:52.830169 IP 192.168.0.50.fj-hdnet > spacewalk.tftp:  49 RRQ "uefisp3/bootx64.efi" octet tsize 0 blksize 1468
2015-05-21 16:30:52.839093 IP 192.168.0.50.h323gatedisc > spacewalk.tftp:  41 RRQ "uefisp3/bootx64.efi" octet blksize 1468 
2015-05-21 16:30:53.360209 IP 192.168.0.50.h323gatestat > spacewalk.tftp:  41 RRQ "uefisp3/bootx64.efi" octet blksize 1468 
2015-05-21 16:30:53.872046 IP 192.168.0.50.h323hostcall > spacewalk.tftp:  30 RRQ "/grub.efi" octet blksize 512 
2015-05-21 16:30:53.875762 IP 192.168.0.50.caicci > spacewalk.tftp:  30 RRQ "/grub.efi" octet blksize 512

시간이 부족해서 내일 추가 테스트를 해볼 예정입니다. 아이디어 주셔서 감사합니다. 멋진!

두 번째 업데이트:

현재 PXE는 자동 설치와 마찬가지로 작동합니다. 그러나 elilo.conf 오류로 인해 서버를 부팅할 수 없습니다. 설치하는 동안 현장에 없었기 때문에 무엇이 잘못되었는지 잘 모르겠습니다. 다른 설치 라운드를 수행할 기회가 없었습니다.

감사해요.

답변1

답변이 늦어서 죄송합니다. 이렇게 작동하게 되었습니다.

1 - SLES 11 SP3을 /sles11sp3에 마운트

2 - 부팅 가능한 드라이버 키트를 /bdk에 마운트합니다.

3 - grub.efi 파일을 /var/lib/tftpboot/ 디렉터리에 복사합니다.

# cp /bdk/EFI/BOOT/grub.efi /var/lib/tftpboot/

4 - bootx64.efi, 커널, initrd, grub.cfg를 /var/lib/tftpboot/uefisp3/ 디렉터리에 복사합니다.

# cp /bdk/EFI/BOOT/bootx6.efi /var/lib/tftpboot/uefisp3/
# cp /bdk/boot/x86_64/loader/linux /var/lib/tftpboot/uefisp3/
# cp /bdk/boot/x86_64/loader/initrd /var/lib/tftpboot/uefisp3/
# cp /sles11sp3/EFI/BOOT/grub.cfg /var/lib/tftpboot/uefisp3/

initrd 파일을 제외한 모든 파일은 SLES DVD 또는 드라이버 키트에서 복사할 수 있습니다. initrd 파일은 드라이버 키트에서 복사해야 합니다.

5 - grub.cfg 파일을 수정합니다. 나에게 중요한 유일한 메뉴 항목은 설치이므로 나머지 메뉴 항목은 제거했습니다.

menuentry 'Auto Installation' {
  set gfxpayload=keep
  echo 'Loading kernel ...'
  linuxefi /images/sles11sp3/linux splash=silent textmode=1 showopts install=http://192.168.0.10/sles/sles11sp3 autoyast=http://192.168.0.10/sles/autoyast/sles11sp3towerbdk.ks
  echo 'Loading initial ramdisk ...'
  initrdefi /images/sles11sp3/initrd
}

6 - autoyast 파일 내부에 다음을 추가합니다.

  <add-on>
    <add_on_products config:type="list">
      <listentry>
        <media_url><![CDATA[http://192.168.0.10:80/sles/bdk]]></media_url>
        <product>driver-kit</product>
        <product_dir>/</product_dir>
      </listentry>
    </add_on_products>
  </add-on>

7 - dhcpd.conf 파일에 uefisp3 그룹을 추가합니다.

group {
        filename "uefisp3/bootx64.efi";
        next-server 192.168.0.10;
    host test { hardware ethernet 40:F2:H9:A6:49:C7; fixed-address 192.168.0.50; option host-name test; }
}

8 - dhcp 및 tftp 서비스를 다시 시작합니다.

@Pat 일부 결과를 이끌어낸 tcpdump 아이디어에 감사드립니다.

관련 정보