具有可啟動驅動程式套件的 SLES 11 SP3 - 無法取得映像錯誤

具有可啟動驅動程式套件的 SLES 11 SP3 - 無法取得映像錯誤

我嘗試使用 Cobbler 安裝 SLES 11 SP3,但下載 NBP 檔案後失敗。螢幕上的錯誤是「無法取得 TFTP 映像」。

我對 SLES 11 SP2 有類似的設置,並且運作良好。此設定的不同之處在於,我在 IBM x3500 M5 伺服器上安裝 SLES 11 SP3,這需要在安裝作業系統本身之前安裝可啟動驅動程式套件 (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:將核心和 initrd 映像從驅動程式工具包 iso 映像複製到 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:客戶端不接受選項”,從我讀到的內容來看,該錯誤很可能與我現在面臨的問題無關。

有人使用驅動程式套件成功安裝 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 的想法,它導致了一些發現。

相關內容