# compiling and installing freebsd



## anand (Jun 20, 2020)

Is it possible to get all necessary source code through svn by pulling lets say 11.4 and compiling and installing the FreeBSD on laptop?
How much typically time is required for a clean build on source tree which typically involves all necessary packages?
And how much size of repository source code will be downloaded?
Can I expect to get it working within one day?
I am using a basic laptop of pentium processor (Acer315) while my network is 4g LTE
I need to use for development purpose, most likely need to explore kernel programming.
Might be if it is time consuming, then I may look for one option to install through iso image and only work on kernel source.
However, I do have two freebsd installations from iso images about 1 or 2 years back done for which terminal is sluggish to key response and not resolved yet. Will you suggest me to get rid of those older ones which actually are not at all used and I have nothing on it.


----------



## drhowarddrfine (Jun 20, 2020)

People used to do this all the time. Some still do. It used to be considered a "right of passage" to do so but I never have.

Someone will come here soon and point you to information on how to do this and be able to give you more info.


----------



## SirDice (Jun 20, 2020)

anand said:


> Is it possible to get all necessary source code through svn by pulling lets say 11.4 and compiling and installing the FreeBSD on laptop?


From a working system, yes. You can't do this from a blank system obviously. You can build  the entire OS from source, see build(7). If you run -STABLE or -CURRENT for example it is the only way to update.



anand said:


> How much typically time is required for a clean build on source tree which typically involves all necessary packages?


That depends on your system. Building world can take anywhere from 30 min. to several hours. Packages are an entirely different matter.  



anand said:


> I need to use for development purpose, most likely need to explore kernel programming.


I would suggest  starting with a -RELEASE version. That's much easier to update with freebsd-update(8). You can still  build custom kernels if you want. See the handbook: Chapter 8. Configuring the FreeBSD Kernel


----------



## Phishfry (Jun 20, 2020)

anand said:


> while my network is 4g LTE


You might want to ensure your modem is supported.
Post the make and model and we can help.


----------



## anand (Jun 20, 2020)

Phishfry said:


> You might want to ensure your modem is supported.
> Post the make and model and we can help.


I am planning to use either mobile USB tethering or 4g LTE router which actually has USB support which has wifi support as well.
I am expecting it should just work wifi or USB, may be mobile USB tethering can be dodgy.
But, I already downloaded freebsd 11.4 release which I am planning to dd on flash drive.
I did notice dvd image is more than 3GB. What is the advantage of using it , can I dd it on flash drive and install?


----------



## SirDice (Jun 21, 2020)

anand said:


> I did notice dvd image is more than 3GB. What is the advantage of using it


Read the readme files. The DVD also contains a bunch of packages (not everything though). And I would recommend against using it. Those packages were created when the -RELEASE came out and are never updated afterwards.  So by the time  you install them they're already out of date and need to be updated. Might as well just install them from internet in the first place. Those DVD images are really only useful if you want to experiment without an internet connection.


----------



## Mjölnir (Jun 21, 2020)

anand said:


> Is it possible to get all necessary source code through svn by pulling lets say 11.4 and compiling and installing the FreeBSD on laptop?
> How much typically time is required for a clean build on source tree which typically involves all necessary packages?


For the kernel+world, let's say one day with a Celeron CPU & SSD.  If you want to compile e.g. KDE, expect much more.  It is common practice to set up sysutils/poudriere to do that. 


> And how much size of repository source code will be downloaded?


1GB, due to a bug in svn... it could be 1/2 GB, but svn transfers the pristine copies in it's metadata instead of producing the copy locally from the transfered working files 


> Can I expect to get it working within one day?


No. Binary release: Yes.


> I am using a basic laptop of pentium processor (Acer315) while my network is 4g LTE
> I need to use for development purpose, most likely need to explore kernel programming.
> Might be if it is time consuming, then I may look for one option to install through iso image and only work on kernel source.



Be patient and start with a binary release (& binary updates) and select ZFS filesystem with GPT partitioning scheme.
Install misc/en-freebsd-doc and optionally misc/bn-freebsd-doc: `pkg install {bn,en}-freebsd-doc` Unfortunately there is no hindi translation, but bengali. You'll then have the docs in /usr/local/share/doc/freebsd.  Usually the translated docs are a little bit behind the english version.  Carefully read how to install and update the 12-STABLE or -CURRENT (as of now, FreeBSD-13) sources.  IMHO 11-STABLE will not make much sense, it's only for fixes to 11.4-RELEASE -- except this is exactly what you want.
Install sysutils/beadm to manage boot environments (switch between -RELEASE and -STABLE/CURRENT) and _poudriere_ or _synth_ to build your ports inside build jails (avoids build-tools and build-dependencies cluttering up your system).  To build ports yourself, devel/ccache might be a good idea.
Having a release and -STABLE/CURRENT version on one machine is much easier with ZFS.
Keep the binary release as your _workspace/office_ system and do not delete it just because you feel your newly installed 12-STABLE/13-CURRENT is working sufficiently...


----------

