SLESを起動して、RAMディスクから実行したいと思います。 PXEブートを開始し、PXEブートプロセスの一部として、ルートファイルシステムであるイメージをプルしてからこれをブートするようにマシンをセットアップしたいと思います。
誰かがこれまたは同様のことをもうしましたか?
私の考えでは、initrd
はほとんど私が欲しいものですが、機能が小さすぎて不足しています。したがって、最小限のインストールを実行してから、これをcpioして、独自のカスタムinitd
を作成しました。 (これは約350Mですが、この目的には大きいので問題ありません)。
fsck
/dev/shm/root
を試行した時点で起動に問題があります。これを防ぐ正しい方法は何ですか(/etc/fstab
で設定してみましたが、うまくいきません)。次のオプションとして、sysconfigファイルを設定してREADONLYROOTを強制します。これにより、初期化プロセスが/etc/init.d/rc3.d
に切り替わるところまで起動しましたが、それ以上進むことができません。
アドバイスやアイデア、または他の誰かがこれを行った場合、それはすべて素晴らしいことです。
PS。セットアップは1TBの大きなノードですRAM OS用のローカルファイルシステムは必要ありません。代わりに、NFSサーバーをルートファイルシステムにしますが、NFSトラフィックは必要ありません。 RAMディスクは良いオプションのようです。
私は順調に進歩しました。
ファイル/etc/init.d/boot.d/boot.rootfsckを編集して、ファイルシステムタイプの例外としてramfsをfsckプロセスに追加しました。 (79行目)。
aufs|tmpfs|afs|cifs|nfs|novell|smb|ramfs|UNKNOWN*) MAY_FSCK=0 ;;
これを行った後、READONLYROOTを使用してsysconfigを作成する必要はなくなりました。
これを行った後、次のようにブート行を持つようにpxelinux.cfgを設定します。
LABEL SLES11 InMemory OS
KERNEL suseBig/vmlinuz-3.0.74-0.6.8-default
APPEND initrd=suseBig/suseImage rdinit=/sbin/init
TIMEOUT 100
ファイルsuseImageは、SLESの稼働中のインストールのルートファイルシステム全体のcpioアーカイブですが、ルートの/ etc/fstab行が変更されています。 ((別のディスク上の)別の動作中のOSからこの動作中のSLES環境にアクセスしてCPIOアーカイブを構築する必要がありました)
rootfs / rootfs defaults 0 0
これがすべて完了すると、ノードは正常に起動し、PXEを介してネットワーク全体で起動するSLESの動作中のRAMディスクバージョンができました。 (したがって、起動には時間がかかりますが、その後はOSのネットワークトラフィックがなくなります)。永続性はありませんが、アプリケーション層で私の場合はそれを解決します。