[Barrelfish-users] Need Help configuring PXE/TFTP boot

jiban sarma jj_sep at yahoo.com
Thu Sep 19 08:20:39 CEST 2013


Thank you very much for the help, I am trying to configure my systems according to your instructions. If I need further assistance 
I will get back to you.

Many Thanks,

 From: Pravin <shindep at student.ethz.ch>
To: jiban sarma <jj_sep at yahoo.com> 
Cc: "barrelfish-users at lists.inf.ethz.ch" <barrelfish-users at lists.inf.ethz.ch>; Kornilios Kourtis <kornilios.kourtis at inf.ethz.ch> 
Sent: Tuesday, 17 September 2013, 11:52
Subject: Re: [Barrelfish-users] Need Help configuring PXE/TFTP boot


To expand on Kornilios's answer, here are few configuration
details from our internal setup which might help you to use
as an example for your setup.

Directory structure ::

    ├── menu.lst. -> shindep/menu.lst
    ├── pxegrub-undi
    ├── tftpboot.nos5 -> ./pxegrub-undi
    └── shindep
       ├── menu.lst
       ├── skb_ramfs.cpio.gz
       └── x86_64
           └── sbin
               ├── NGD_mng
               ├── acpi
               ├── ahci_bench
               ├── .....
               ├── .....
               ├── .....
               ├── lot of binary images

While installing the barrelfish, you can use following prefix to get files
in proper place ::

    make install INSTALL_PREFIX=/path/to/tftpboot/shindep

What you need to note that tftp configuration will point the boot process to
``tftpboot.nos5`` file, which is essentially a symbolic link to ``pxegrub-undi``
from grub installation.  Here is a sample tftp configuration which configures
the tftp booting for the machine ``nos5`` ::

   host nos5-boot-interface {
        hardware ethernet 00:0f:53:07:4d:64;
        filename "tftpboot.nos5";

Also, the  ``menu.lst.`` is symbolic link to the ``shindep/menu.lst``
which is slightly modified version of ``menu.lst`` from your install directory.
The changes are mostly related to the paths.  Following is small part of
``menu.lst`` to give you an idea how paths should be modified
according to your directory structure (note the prefix ``/shindep/``
in each entry) ::

    title   barrelfish image
    root    (nd)
    kernel    /shindep/x86_64/sbin/elver loglevel=4
    module    /shindep/x86_64/sbin/cpu loglevel=4
    module    /shindep/x86_64/sbin/init

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

    # Special boot time domains spawned by monitor
    module  /shindep/x86_64/sbin/ramfsd boot
    module  /shindep/x86_64/sbin/skb boot

    modulenounzip /shindep/skb_ramfs.cpio.gz nospawn

    module  /shindep/x86_64/sbin/kaluga boot
    module  /shindep/x86_64/sbin/acpi boot
    module  /shindep/x86_64/sbin/spawnd boot
    module  /shindep/x86_64/sbin/startd boot
    module /shindep/x86_64/sbin/routing_setup boot

   ....  and lot of other files ....

Essentially, DHCP will instruct the tftboot loader to download and use
``tftpboot.nos5`` for booting.  This file is part of grub bootloader
``pxegrub-undi`` and will then download and use ``menu.lst`` to figure out
which other modules to download.  Once it has downloaded all files, it will
give the control to ``elver`` (it should be there after doing ``make install``
on Barrelfish).  Then elver will do rest of the loading for Barrelfish and
then pass the control to cpu driver.

I hope that all this information will be helpful to you for setting up
the infrastructure.


On Thu, Sep 5, 2013 at 7:17 AM, Kornilios Kourtis
<kornilios.kourtis at inf.ethz.ch> wrote:
> Hi Jiban,
> On Thu, Sep 05, 2013 at 03:57:41AM -0700, jiban sarma wrote:
>> Hello All,
>> Today I have got a set up to install barrelfish on real hardware. I want to
>> boot the OS via PXE/TFTP. I have configured the DHCP server and TFTP/PXE
>> configuration as well. After that I have copied all the binary files of
>> barrelfish using
>> make install INSTALL_PREFIX=/var/lib/tftpboot/barrelfish .
>> Now i have the following directory structure within /var/lib/tftpboot
>> drwxr-xr-x 3 root root 4096 Sep  5 02:08 barrelfish
>> -rwxr-xr-x 1 root root  353 Sep  5 02:15 mybootmenu.cfg
>> drwxr-xr-x 2 root root 4096 Sep  5 03:25 pxelinux.cfg
>> Now when i start my Pxe boot client its stuck in PXE-32 TFTP open timeout.
>> Is there any additional file required to boot barrelfish?
>> Please can someone help me how to resolve the issue.
> In what file transfer is PXE stuck?
> Are you using grub?
> I'm not sure how well your setup matches ours, but (unless I'm mistaken) our
> booting process is:
>  - pxe loads the grub image over tftp
>    (the image is typically specified in the dhcpd configuration file)
>  - grub fetches proper menu.lst (usually it's menu.lst.$IP) using tftp
>  - grub reads menu.lst  (see README on Barrelfish source tree for an
>    example) and fetches the necessary files from tftp
>  - grub starts elver that loads Barrelfish kernel
> A good starting point would be to look at the tftp logs and see what files are
> requested and what files are actually transfered.
> cheers,
> Kornilios.
> --
> Kornilios Kourtis
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20130918/cdc3ad91/attachment.html 

More information about the Barrelfish-users mailing list