[Barrelfish-users] Booting Barrelfish using TFTP - GRUB issues

Georgios Varisteas yorgos at kth.se
Fri Jun 8 21:21:54 CEST 2012


Hi Shawn,

You need a special setup in your dhcp server to handle network booting. An alternative is to run a bootp server also. Search for 'bootp tftpd' and you'll get plenty of tutorials on both methods.

cheers,
Georgios




Sent from Samsung mobile

Shawn Furrow <sfurrow at vt.edu> wrote:
So I am still having trouble booting Barrelfish over tftp using a pxe server. I feel like I must be missing something in my understanding. My current set up is as follows:

1. I have successfully built Barrelfish and ran 'make install' to create the 'barrelfish directory with all of the binaries
2. I have successfully installed GRUB 0.97 with the patch for my e1000 network card
3. I set up a tftp server on another machine in my lab's network
4. I copied the generated 'barrelfish' directory into my /var/lib/tftpboot directory for my tftp server
5. I created a menu.lst file and placed it in the /var/lib/tftpboot folder alongside the 'barrelfish' directory (I have included this file below)
6. I started the tftp server (which I have tested and can successfully transfer files to and from the /var/lib/tftpboot folder

When I startup the computer that I want to boot barrelfish on, I tell it to boot from the network. Then, I get a DHCP...., then the PXE53-No boot filename received.

I'm not sure what is going on. Does anyone know what I could be missing? I keep seeing a lot of guides refer to specifying the boot file name in a DHCP.conf file but I don't really know much about this. Here is my menu.lst file:


/--------------------------------------------------------------------------------------------------------------------------------------------------------------------------/
timeout 0

# spawnd is used to control which cpus are booted
#
# "spawnd boot" will use the skb and pci to figure out and
#  boot all cores in the machine
#
# "spawnd boot bootapic-x86_64=1-5" will not use the skb and
# boot the list of cores passed as argument.
# The APIC id of the cores to boot should be specified.
# This list may not include the bsp core id.

title   Barrelfish
ifconfig --address=10.1.1.20 --server=10.1.1.21
root    (nd)/tftpboot/barrelfish
kernel /x86_64/sbin/elver loglevel=4
module /x86_64/sbin/cpu loglevel=4
module /x86_64/sbin/init

# Domains spawned by init
module /x86_64/sbin/mem_serv
module /x86_64/sbin/monitor

# Special boot time domains spawned by monitor
module /x86_64/sbin/ramfsd boot
module /x86_64/sbin/skb boot
modulenounzip /skb_ramfs.cpio.gz nospawn
module /x86_64/sbin/kaluga boot
module /x86_64/sbin/acpi boot
module /x86_64/sbin/spawnd boot
#bootapic-x86_64=1-15
module /x86_64/sbin/startd boot
module /x86_64/sbin/routing_setup boot

# Drivers
module /x86_64/sbin/pci auto
module /x86_64/sbin/ahcid auto
module /x86_64/sbin/rtl8029 auto
module /x86_64/sbin/e1000n auto
module /x86_64/sbin/NGD_mng auto
module /x86_64/sbin/netd auto

# General user domains
module /x86_64/sbin/serial
module /x86_64/sbin/fish
/---------------------------------------------------------------------------------------------------------------------------------------------------------------------------/

Thanks,
Shawn


On Wed, Jun 6, 2012 at 8:46 AM, Simon Peter <speter at inf.ethz.ch<mailto:speter at inf.ethz.ch>> wrote:
In fact, if you use elver, no 64-bit patch is necessary. There is a patch for GRUB to support more network cards.

Simon


On 05.06.2012 22:52, Georgios Varisteas wrote:
Hey Shawn,

Actually it is not really a patch. GRUB supports network booting,
although it is not part of its default compile configuration. You need
to run '# configure --netboot' followed by more arguments that enable
support for specific NICs. It is not recommended to just enable them all
though. More on this in the README found in the netboot subfolder of the
GRUB's tree. Also keep in mind that GRUB legacy is rather old code and
wont compile with modern versions of GCC. Version 3.x is recommended but
it might work with some early 4.x.

Apart from this you do need a patch to enable support for a 64-bit
kernel but it has nothing to do with PXE.

Hope this helps

regards,
Georgios

------------------------------------------------------------------------
*From:* Shawn Furrow [sfurrow at vt.edu<mailto:sfurrow at vt.edu>]
*Sent:* Tuesday, June 05, 2012 21:30
*To:* barrelfish-users at lists.inf.ethz.ch<mailto:barrelfish-users at lists.inf.ethz.ch>
*Subject:* [Barrelfish-users] Booting Barrelfish using TFTP - GRUB issues


Hey all,

I am trying to boot Barrelfish over a TFTP server but I am having
trouble with GRUB. From what I understand, I need GRUB Legacy (0.97)
with a patch for PXE. From here, GRUB would chain-load Elver, and then
Elver would boot Barrelfish. (Correct me if I am mistaken on this)
However, I cannot get a patched version of GRUB 0.97 to install
correctly to my hard drive. Has anyone gotten this method to work? If
so, what was your environment and GRUB patches do you use?

Thanks,
Shawn

--
Virginia Tech
Bradley Department of Electrical and Computer Engineering
B.S. Electrical Engineering
B.S. Computer Engineering



_______________________________________________
Barrelfish-users mailing list
Barrelfish-users at lists.inf.ethz.ch<mailto:Barrelfish-users at lists.inf.ethz.ch>
https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users




--
Virginia Tech
Bradley Department of Electrical and Computer Engineering
B.S. Electrical Engineering
B.S. Computer Engineering

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120608/57722a7c/attachment-0001.html 


More information about the Barrelfish-users mailing list