From: Jan T. <ja...@ce...> - 2007-04-26 14:00:08
|
Hello all together, I have just one "hypothetical" question about possibility to load a kernel via PXE BIOS directly, i.e. without two-stage approach (as it's described on http://wiki.ltsp.org/twiki/bin/view/Ltsp/PXE): - at first a small image called a Network Bootstrap Program (in case of LTSP it is pxelinux.0) is loaded - second step: pxelinux.0 is responsible to load target kernel. I know about 32kB limitation of NBP image but according to the PXE specification this limitation is not "must" but "should" ("The initial Network Bootstrap Program (NBP) size should not exceed 32KB "). I'm already a little bit experienced with grub bootloader (it works similarly like pxelinux.0) - its size is larger than 32kB, therefore I suppose 32kB is not a real limit. So, is there a real chance to load a small kernel (expanded about "boot track") directly via PXE ? Just for your information: I need to prepare a system (which supports only PXE BIOS) which has a critical start-up time - so any delay during the booting is undesirable. I need to load at first a "small" kernel which would be able to retrieve a "configuration" info via TCP/NFS and afterwards start "final" kernel. TFTP is not sufficient in my "start-up" case. Finally, I've read about LinuxBIOS/Etherboot project but I'm not able to change the BIOS chip - I'm looking for pure SW solution - no HW modification allowed. Thanks for any help/discussion and ideas. Cheers, Jan. |
From: Scott B. <sba...@le...> - 2007-04-27 18:25:39
|
On Thu, Apr 26, 2007 at 03:09:39PM +0200, Jan Trembulak wrote: > Just for your information: > I need to prepare a system (which supports only PXE BIOS) which has a > critical start-up time - so any delay during the booting is undesirable. I > need to load at first a "small" kernel which would be able to retrieve a > "configuration" info via TCP/NFS and afterwards start "final" kernel. TFTP > is not sufficient in my "start-up" case. Finally, I've read about > LinuxBIOS/Etherboot project but I'm not able to change the BIOS chip - I'm > looking for pure SW solution - no HW modification allowed. 1) One way or the other, you're going to have to use TFTP: PXE is the name of the client side software, and it uses TFTP to download any information. So if you're looking for a way to eliminate TFTP, this isn't it. 2) For a system that startup times are so critical, I'm interested to know what advantage you're going to get with: a) Load first kernel b) intialize first kernel c) initialize devices + network d) load config file e) load second kernel f) Perform kexec g) re-initialize hardware + network h) re-load more config i) do work As opposed to: a) load full kernel b) initialze first kernel c) initialize devices + network d) load config e) do work. Short answer: Your solution is going to lie in producing a scaled down kernel with exactly what you want, and a customized initramfs. Scott -- Scott L. Balneaves | "Eternity is a very long time, Systems Department | especially towards the end." Legal Aid Manitoba | -- Woody Allen |