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

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


Hi,

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,
Jiban


________________________________
 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
 

Hi,

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 ::

    tftpboot
    ├── menu.lst.10.110.4.51 -> 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;
        fixed-address 10.110.4.51;
        filename "tftpboot.nos5";
    }


Also, the  ``menu.lst.10.110.4.51`` 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.

Regards,
Pravin


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