Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Mar 2020 18:52:43 +0100
From:      Roger Pau =?utf-8?B?TW9ubsOp?= <royger@freebsd.org>
To:        Ayush Dwivedi <21cencturyayush@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Introduction and GSoC Project Idea Discussion
Message-ID:  <20200323175243.GO24449@Air-de-Roger.citrite.net>
In-Reply-To: <CAK7PX8m0rWH9YxO6e8mfZMRY1JntF86w1rdWB8LX9Xsx-dCEKQ@mail.gmail.com>
References:  <CAK7PX8m0rWH9YxO6e8mfZMRY1JntF86w1rdWB8LX9Xsx-dCEKQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 20, 2020 at 06:05:39PM +0530, Ayush Dwivedi wrote:
> Hello everybody,
> This is Ayush. I am currently pursuing B Tech in Computer Science and
> Engineering. I am new to the FreeBSD community. I was going through the
> main project idea list provided by the wikia and found a project related to
> freebsd boot loader there(Add support for booting Xen domain 0 from EFI). I
> have an interest in system and bare metal programming and have done some
> experimentation with EFI application development( it was an attempt to make
> my own EFI boot loader and analyzing working of UEFI and how it's
> completely different from BIOS). I am familiar with QEMU and hardware
> virtualization and have used it test modified kernels and minimal EFI
> applications. I have programmed mostly in C(have written an UNIX shell
> interpreter in it and some other projects) and experimented with x86_64
> assembly. I am familiar with Linux kernel code and currently use Arch Linux
> as my OS. The project requires me to read the FreeBSD/EFI loader code but
> how exactly should I setup my working environment and what should be my
> first in freebsd development should it be building it from source and
> testing in on QEMU(I have the freebsd-current source code in my Linux
> currently and I am trying to get familiar with svn). Need help.

Hello,

Thanks for your interest on the project. Your first steps should be
setting up a FreeBSD development environment. Initial development can
be done in QEMU, but you will also likely need a physical box with EFI
firmware and a serial port in order to test and debug if necessary.

I think your starting points should be to setup a system running
CURRENT from svn or git if you prefer, we have an official mirror at:

https://github.com/freebsd/freebsd

You should get familiar with building FreeBSD from source [0], and
then I would also recommend that you look into how to build and
install the loader without having to rebuild everything else. The
loader is stand alone and small, so just building the loader should be
quite fast, and that will be very helpful in order to test your code
faster.

Regards, Roger.

[0] https://www.freebsd.org/doc/handbook/makeworld.html



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200323175243.GO24449>