Subject: re: TFTP'ing RAMdisk at root mount time (updated patch)
To: Emmanuel Dreyfus <manu@netbsd.org>
From: matthew green <mrg@eterna.com.au>
List: tech-kern
Date: 05/06/2007 06:28:01
   On Fri, May 04, 2007 at 04:25:16PM +0000, Emmanuel Dreyfus wrote:
   > Due to stupid limitations in the bootloader, there are issues with loading
   > a kernel with a really big RAMdisk (more than around 10 MB). Because fixing
   > the bootloader is not very appealing, I worked on another approach: the
   > kernel boots with no RAMdisk embedded, and at root mount time, it 
   > downloads the RAMdisk through TFTP.
   
   Here is an updated patch which is fully functionnal: the RAMdisk name is
   retreived from DHCP, we grab it through TFTP and we use it. 
   http://ftp.espci.fr/shadow/manu/tftproot2.diff
   
   There is work remaining to be done (Remove the nfs_boot code from NFS so
   that TFTPROOT has no dependency on NFS, load gzip'ed RAMdisk, TFTP with 
   larger block size), but I beleive the code is actually usable and useful.
   
   Any objection against the above patch beeing committed?


it seems to me that this is duplicating a lot of what is in libsa.
infact, the patch has at least comment to that effect.  i wonder if
there is a better way to share this..


it seems that you call realloc() for ever incoming packet?  that
seems suboptimal.


i believe nfs_boot.c will fail to compile (unused "out:" label)
when TFTPROOT is not defined.


.mrg.