Linux
如何創建在啟動時執行單個執行檔的 PXE 啟動映像?
我正在建立一個計算集群,旨在將其用於一些並行計算實驗。我有一個我想在這個集群上執行的執行檔。
由於上述集群的操作限制,我只能將此執行檔部署為 PXE 引導映像。不幸的是,我能找到的唯一“現成”圖像是用於安裝特定發行版的安裝圖像。它們看起來並不特別容易修改。
有人可以提供一些關於如何創建載入 linux 核心並隨後執行執行檔的 pxelinux 映像的指示嗎?
使用 ubuntu-18-x86_64-initrd.gz:
wget http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz gzip -d initrd.gz mkdir image cd image cpio -idmv < ../initrd
現在將執行檔、所需的共享庫和執行檔所需的其他文件複製到
image/
. 編輯etc/inittab
. 您可能想要刪除::sysinit:
. 更改::respawn:
為對執行檔的呼叫。find . -print0 | cpio --null -ov --format=newc | gzip -9 > ../initrd-bionic-foo.gz
複製
initrd-bionic-foo.gz
到您的 tftp 伺服器。範例 pxelinux.cfg 條目:default foo label foo kernel boot/Ubuntu-18.04-x86_64-linux append initrd=boot/initrd-bionic-foo.gz