いくつかの並列計算実験に使用することを目的として、計算クラスタをセットアップしている最中です。このクラスターで実行したい実行可能ファイルが1つあります。
上記のクラスターの運用上の制約により、この実行可能ファイルは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