Embedded-Linux

從 Linux 中引導新的 Linux 核心?

  • March 23, 2011

任何人都知道從 Linux 中“啟動”另一個 Linux 核心的方法,丟棄原來的核心/initrd?我的想法是,我可以從一個小的 Linux 只讀副本啟動我的伺服器,該副本執行一些內務/數據收集任務,然後與管理伺服器簽入以確定如何處理伺服器。大多數情況下,只是從本地硬碟驅動器啟動 Linux/Windows 或對盒子進行映像。

基本上,我想要一個 Linux 的小副本作為引導載入程序,而不是專門的(並且不太靈活)引導載入程序包。Linux 的微小副本可能位於 USB 密鑰上,或由 PXE 提供。

Loadlin 曾經為 Windows 做這個,所以我可以在 DOS 中創建這個環境……但是網路可能很棘手,我失去了很多工具。

其他選項是虛擬化。上述所有自動化都是主機作業系統的一部分,它與管理伺服器簽入以找出要啟動的來賓等。雲伺服器是如何做到的。或者我可以在 PXE 方面做一些魔術:PXE 首先啟動 Linux 的數據收集副本,對 PXE 伺服器進行更改,然後在第二次 PXE 啟動遠端核心但本地作業系統驅動器時重新啟動它。

好吧,在純 Linux 設置中,您有 kexec 可用於“重新啟動”核心/作業系統,而無需重置硬體/再次通過 BIOS 載入。這適用於沒有核心恐慌的所有事情。

但在混合環境中,我認為 Eater 有一個解決方案。基本上你會啟動到你的 linux,執行你需要的任何腳本/做任何需要的家務,然後重新啟動到你選擇的作業系統。

但是請注意,這會導致載入速度異常緩慢。當然,您可以將 linux 啟動時間優化到可能需要幾秒鐘的時間,但您仍然需要處理兩次載入 BIOS。所有這些對使用者來說都是可見的,然後他們可能會決定發瘋。

引用自:https://serverfault.com/questions/250598