Subject: Re: sysinst via PXE on i386?
To: Jeremy C. Reed <reed@reedmedia.net>
From: Perry E. Metzger <perry@piermont.com>
List: netbsd-help
Date: 07/05/2005 20:26:23
"Jeremy C. Reed" <reed@reedmedia.net> writes:
> On Tue, 5 Jul 2005, Perry E. Metzger wrote:
>>> As for the NFS part, I wish our bootblocks were actually able to fetch
>>> the kernel through TFTP.
>>
>> They can. I do it all the time. I just TFTP down kernels with RAMDISK
>> roots and then I can install without ever needing NFS at all.
>
> How do you do this?
>
> I am using PXE. It uses TFTP for the pxeboot_ia32.bin, but if I
> attempt to load a kernel instead it fails (too large I think).

You TFTP load the boot loader, of course. It doesn't care how large
the kernel is. You need one small trick, which Jason Thorpe taught me.

$ ls /tftpboot/
netbsd              pxeboot_ia32.bin
$ tail -17 /etc/dhcpd.conf
host install {
       hardware ethernet 0:11:43:cd:bb:ca;
       fixed-address 10.0.0.15;

       # This section allows dhcpd to respond with different answers
       # for the two tftp requests for the bootloader and kernel.

       if substring (option vendor-class-identifier, 0, 20) =
       "PXEClient:Arch:00000" {

               # This bootloader sets video console
               filename "pxeboot_ia32.bin";

       } else {
               # This is the name of the kernel image to load:
               filename "tftp:netbsd";
       }
}
$