Discussion:
How to start contributing
MANAV KUMAR
2021-04-21 10:50:29 UTC
Permalink
Hello All,
I’m final year cse undergrad, looking to work in core OS technologies. Can somebody please give me a quick start about ongoing freebsd projects.
And I have shortage of space and computation power, is there any alternative to generate the build without me purchasing new machine.
Thanks
Manav
Crest
2021-04-21 12:28:30 UTC
Permalink
On 21.04.21 12:50, MANAV KUMAR wrote:
> Hello All,
> I’m final year cse undergrad, looking to work in core OS technologies.
Glad to hear you're interested in hacking on FreeBSD.
> Can somebody please give me a quick start about ongoing freebsd projects.
Someone already collected a list of low hanging fruits in FreeBSD that
could be improved:
https://wiki.freebsd.org/Networking#Low_hanging_userland_fruit
> And I have shortage of space and computation power, is there any alternative to generate the build without me purchasing new machine.
How low are we talking about. The FreeBSD build system can help speed up
incremental builds enormously with the make meta mode (see man
src-env.conf). Even my old dual core Thinkpad X220 can build FreeBSD
(world and kernel) in <10 minutes with meta mode enabled unless a lot
has changed.
Austin Shafer
2021-04-21 18:30:28 UTC
Permalink
Someone in another thread was just asking if there are plans to add
libxo support to ifconfig, to make ifconfig pretty-print in json. You
could be that plan?

There are a number of people in the freebsd discord, many of which work
on porting projects. I'm sure they would appreciate help and/or
testers. There's also the google summer of code ideas.

> I’m final year cse undergrad, looking to work in core OS technologies. Can somebody please give me a quick start about ongoing freebsd projects.
You should pick an area/subject you use daily, and try to make it work
on freebsd. When I was in a similar situation I had some fun with
helping with the intel/amd graphics drivers. It mostly involved
importing code from linux, making some trivial changes to the linuxkpi,
and testing it.

> And I have shortage of space and computation power, is there any alternative to generate the build without me purchasing new machine.

Honestly you may have to rent the cheapest freebsd instance you can on
aws/digitalocean/ramnode/whatever and build there. The meta-mode route
also works but I'm guessing low-end hardware is going to run into
trouble building llvm if you don't have much RAM. I say give it a go on
your machine and see what happens.

If you're only working on kernel stuff, you could just build the kernel
(which literally any machine is capable of) and install it without
building world. YMMV

Just keep in mind people like that you want to contribute, but
absolutely nobody is going to hold your hand and tell you how to do
stuff. You just gotta dive in headfirst and you'll get your legs under
you soon :) Again, the discord is active and people are very helpful there.

Good luck!
Austin
Rick Macklem
2021-04-21 22:53:58 UTC
Permalink
Austin Shafer wrote:
> Manav Kumar wrote:
[stuff snipped]
>> And I have shortage of space and computation power, is there any alternative to generate the build without me purchasing new machine.
>
>Honestly you may have to rent the cheapest freebsd instance you can on
>aws/digitalocean/ramnode/whatever and build there. The meta-mode route
>also works but I'm guessing low-end hardware is going to run into
>trouble building llvm if you don't have much RAM. I say give it a go on
>your machine and see what happens.
Yes, a "make buildworld" can be painfully slow, but can finish in a day or
so on pretty well anything with a x86-64 cpu and a few Gbytes of RAM.

However, depending on what you are working, you may rarely need to
do so. Until about 1 year ago, my main FreeBSD development system was
a Pentium4 (x86-32 or i386 in FreeBSD lingo) with 256Mbytes (yes, M, not G)
of RAM and 40Gbytes of disk.
(I never was crazy enough to "make buildworld" om this system,
but I'm mostly a kernel guy;-)
FreeBSD is rapidly moving away from x86-32, so I would recommend
something that is x86-64 (amd64 in FreeBSD speak).
You can dual boot with Windows or Linux, but installation can be interesting
and a little scary if you don't want to lose the other OS.

--> As noted by Austin BELOW, you can easily build a kernel and you can usually
build userspace programs individually.
--> When APIs/library changes make a full system upgrade desirable,
you can just install from an .iso snapshot instead of doing the
build yourself.
--> If you become a committer, there are beefy build machines that
you have access to, to do the "universe" build to make sure your patch
builds on all arches.

20-30Gbytes of disk space should be enough and 50Gbytes is lots, from
my experience.

>If you're only working on kernel stuff, you could just build the kernel
>(which literally any machine is capable of) and install it without
>building world. YMMV

Yes, agreed, as above.

Good luck with whatever you choose, rick

Just keep in mind people like that you want to contribute, but
absolutely nobody is going to hold your hand and tell you how to do
stuff. You just gotta dive in headfirst and you'll get your legs under
you soon :) Again, the discord is active and people are very helpful there.

Good luck!
Austin
_______________________________________________
freebsd-***@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-***@freebsd.org"
Bill Wear
2021-04-22 02:03:45 UTC
Permalink
a good Digital Ocean instance for kernel work is around $48 US, but it has
so much usefulness otherwise: it can also be your website, email server,
news feeder, etc. it's a good investment in your future.

On Wed, Apr 21, 2021, 5:54 PM Rick Macklem <***@uoguelph.ca> wrote:

> Austin Shafer wrote:
> > Manav Kumar wrote:
> [stuff snipped]
> >> And I have shortage of space and computation power, is there any
> alternative to generate the build without me purchasing new machine.
> >
> >Honestly you may have to rent the cheapest freebsd instance you can on
> >aws/digitalocean/ramnode/whatever and build there. The meta-mode route
> >also works but I'm guessing low-end hardware is going to run into
> >trouble building llvm if you don't have much RAM. I say give it a go on
> >your machine and see what happens.
> Yes, a "make buildworld" can be painfully slow, but can finish in a day or
> so on pretty well anything with a x86-64 cpu and a few Gbytes of RAM.
>
> However, depending on what you are working, you may rarely need to
> do so. Until about 1 year ago, my main FreeBSD development system was
> a Pentium4 (x86-32 or i386 in FreeBSD lingo) with 256Mbytes (yes, M, not G)
> of RAM and 40Gbytes of disk.
> (I never was crazy enough to "make buildworld" om this system,
> but I'm mostly a kernel guy;-)
> FreeBSD is rapidly moving away from x86-32, so I would recommend
> something that is x86-64 (amd64 in FreeBSD speak).
> You can dual boot with Windows or Linux, but installation can be
> interesting
> and a little scary if you don't want to lose the other OS.
>
> --> As noted by Austin BELOW, you can easily build a kernel and you can
> usually
> build userspace programs individually.
> --> When APIs/library changes make a full system upgrade desirable,
> you can just install from an .iso snapshot instead of doing the
> build yourself.
> --> If you become a committer, there are beefy build machines that
> you have access to, to do the "universe" build to make sure your
> patch
> builds on all arches.
>
> 20-30Gbytes of disk space should be enough and 50Gbytes is lots, from
> my experience.
>
> >If you're only working on kernel stuff, you could just build the kernel
> >(which literally any machine is capable of) and install it without
> >building world. YMMV
>
> Yes, agreed, as above.
>
> Good luck with whatever you choose, rick
>
> Just keep in mind people like that you want to contribute, but
> absolutely nobody is going to hold your hand and tell you how to do
> stuff. You just gotta dive in headfirst and you'll get your legs under
> you soon :) Again, the discord is active and people are very helpful there.
>
> Good luck!
> Austin
> _______________________________________________
> freebsd-***@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-***@freebsd.org"
> _______________________________________________
> freebsd-***@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-***@freebsd.org"
>
Rob Wing
2021-04-22 03:54:59 UTC
Permalink
in my limited experience..

it’s nice to work on what interests you, but to some degree you also have
to work on things that committers find of interest and/or find value in -
since ultimately these are the folks that will be bringing your changes in.

While the list linked above may be good start, I’m not sure how up to date
is.

user submitted bug fixes are always welcome, but even some of those have a
tendency to slip through the cracks and sit for awhile before a committer
gets around to bringing them in.

if you submit patches and haven’t received any feedback, don’t be afraid to
ping developers on the patches that you’ve posted for review.

also, get an account on phabricator (reviews.freebsd.org) and post your
code up for review there.

just my two cents

-Rob

On Wednesday, April 21, 2021, Bill Wear <***@gmail.com> wrote:

> a good Digital Ocean instance for kernel work is around $48 US, but it has
> so much usefulness otherwise: it can also be your website, email server,
> news feeder, etc. it's a good investment in your future.
>
> On Wed, Apr 21, 2021, 5:54 PM Rick Macklem <***@uoguelph.ca> wrote:
>
> > Austin Shafer wrote:
> > > Manav Kumar wrote:
> > [stuff snipped]
> > >> And I have shortage of space and computation power, is there any
> > alternative to generate the build without me purchasing new machine.
> > >
> > >Honestly you may have to rent the cheapest freebsd instance you can on
> > >aws/digitalocean/ramnode/whatever and build there. The meta-mode route
> > >also works but I'm guessing low-end hardware is going to run into
> > >trouble building llvm if you don't have much RAM. I say give it a go on
> > >your machine and see what happens.
> > Yes, a "make buildworld" can be painfully slow, but can finish in a day
> or
> > so on pretty well anything with a x86-64 cpu and a few Gbytes of RAM.
> >
> > However, depending on what you are working, you may rarely need to
> > do so. Until about 1 year ago, my main FreeBSD development system was
> > a Pentium4 (x86-32 or i386 in FreeBSD lingo) with 256Mbytes (yes, M, not
> G)
> > of RAM and 40Gbytes of disk.
> > (I never was crazy enough to "make buildworld" om this system,
> > but I'm mostly a kernel guy;-)
> > FreeBSD is rapidly moving away from x86-32, so I would recommend
> > something that is x86-64 (amd64 in FreeBSD speak).
> > You can dual boot with Windows or Linux, but installation can be
> > interesting
> > and a little scary if you don't want to lose the other OS.
> >
> > --> As noted by Austin BELOW, you can easily build a kernel and you can
> > usually
> > build userspace programs individually.
> > --> When APIs/library changes make a full system upgrade desirable,
> > you can just install from an .iso snapshot instead of doing the
> > build yourself.
> > --> If you become a committer, there are beefy build machines that
> > you have access to, to do the "universe" build to make sure your
> > patch
> > builds on all arches.
> >
> > 20-30Gbytes of disk space should be enough and 50Gbytes is lots, from
> > my experience.
> >
> > >If you're only working on kernel stuff, you could just build the kernel
> > >(which literally any machine is capable of) and install it without
> > >building world. YMMV
> >
> > Yes, agreed, as above.
> >
> > Good luck with whatever you choose, rick
> >
> > Just keep in mind people like that you want to contribute, but
> > absolutely nobody is going to hold your hand and tell you how to do
> > stuff. You just gotta dive in headfirst and you'll get your legs under
> > you soon :) Again, the discord is active and people are very helpful
> there.
> >
> > Good luck!
> > Austin
> > _______________________________________________
> > freebsd-***@freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@
> freebsd.org"
> > _______________________________________________
> > freebsd-***@freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@
> freebsd.org"
> >
> _______________________________________________
> freebsd-***@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-***@freebsd.org"
>
Continue reading on narkive:
Loading...