netbooting an install kernel
Andrew Elmore
aelmore at interwoven.com
Fri Jun 18 17:27:31 GMT 2004
On Thu, Jun 17, 2004 at 06:39:38PM -0700, Stephen Jones wrote:
> Taking advise form another freebsder, I grabbed the boot-only ISO,
> copied the
> 'kernel' file and the 'netboot' file, thinking that was all I needed.
> When that
> didn't work, I cp -Rp'ed the mounted ISO into my tftpboot (bootp's dir)
> and
> tried that.
>
> So, netboot gets loaded, but it can not find a kernel unless I either
> do a
> boot kernel/kernel or boot ./kernel (if I place the kernel file in the
> current
> directory and rename the kernel directory).
>
> $ file boot
> boot: data
> $ ls -lad boot
> -r-xr-xr-x 1 root wheel 7484 Feb 24 02:32 boot
I suppose I'm that "another freebsder". :)
Let me describe the configuration that works for me a little more.
On host 10.0.0.1, which acts as the router, firewall, and general
server, I've set up dhcp to do bootp. Add the line "allow bootp;" to
/etc/dhcpd.conf, and add a section like the following:
group {
option broadcast-address 10.0.0.255;
option domain-name "example.com";
option domain-name-servers 10.0.0.15, 10.0.0.16;
option routers 10.0.0.1;
option subnet-mask 255.255.255.0;
host hostname.example.com {
hardware ethernet 00:00:F8:f3:3F:88;
fixed-address 10.0.0.46;
option host-name "hostname";
filename "netboot";
option root-path "/local/freebsd-5.2-alpha-install";
next-server 10.0.0.1;
}
}
Note that "next-server" parameter indicates the nfs server the client
will contact to mount the filesystem.
Make sure that the nfs server is enabled and /local is exported on host
10.0.0.1; to /etc/exports, add a line like:
/local -alldirs -network 10.0.0.0/24
and in /local/freebsd-5.2-alpha-install, put the contacts of the
boot-only iso.
# ls /local/freebsd-5.2-alpha-install
boot
# ls /local/freebsd-5.2-alpha-install/boot
boot defaults loader loader.help modules
boot1 device.hints loader.4th loader.rc netboot
cdboot kernel loader.conf mfsroot.gz support.4th
Enable tftpd; uncomment the line for tftp in /etc/inetd.conf, and
modify the directory specified, for example:
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /local/tftpboot
Copy the netboot file to the tftp directory.
At this point, you should be ready to boot the alpha.
Hope this gets you up and running.
regards,
Andrew
More information about the freebsd-alpha
mailing list