# small BSD



## balaji18 (Mar 10, 2021)

Hi,

I understand that there is NanoBSD script that can be used to create a small BSD but that seems to be oriented more towards embedded systems. I am looking for a small, general purpose, desktop BSD having

1) Terminal
2) classic VI editor
3) Geany( non VI users or any other notepad)
4) browser ( Firefox lite, preferably or a small sized browser)
5) seamless copy/paste across terminal and browser

Other software can be part of package management system and is up to the user to install them as needed. 

I used FreeBSD 6.1 on a Toshiba Tecra laptop(2002 model, 256 MB RAM, 20 GB HDD) from 2006 to 2016. The OS is rock solid and it had all what i needed. No issues until the screen died in 2016 and the laptop had to be scrapped.  But i used another *nix OS, that put me in awe, which was 70 MB in size and it was full featured having terminal, abiword, gnumeric, browser, mail client and lots of other apps. The OS worked right out of the box including connecting to the internet and it worked so seamlessly with just 256 MB RAM. Movie streaming was also good. All this from a 1 GB USB pen drive on which the *nix OS was installed. Unfortunately, the *nix OS today has grown in size and is above 400 MB, just short of its fat brother(cousin). 

FreeBSD too has improved over time. In FreeBSD 6.1, i had to make changes(trial and error basis) for getting the window system working. The biggest point today is that i have FreeBSD 12.1 installed on a ThinkPad x230. The original, in-built Intel Wifi adapter is gone and FreeBSD has no problems using the N350 USB Wifi adapter. But the other *nix OS doesn't connect to the internet using the N350, so is it's parent too. 

Having come a long way, i would prefer a small BSD that works right out of the box with a desktop. While the docs say, 24 MB RAM is more than sufficient for FreeBSD to run, i think the size around 100-150 MB should be fine, given that systems today have at least 1 GB RAM. I am looking for a persistent one and not just live OS. If the base FreeBSD system is large, how can i shrink it but yet make it work. 

Has anyone worked on this already? What do i need to make this happen? What kind of help can i get and who can help me on this?

Looking forward to the community.

--Thanks.


----------



## SirDice (Mar 10, 2021)

balaji18 said:


> I understand that there is NanoBSD script that can be used to create a small BSD but that seems to be oriented more towards embedded systems.


It can be used for all sorts of purposes.



balaji18 said:


> I am looking for a small, general purpose, desktop BSD having


For starters, anything that's installed as a port or package is not part of the FreeBSD OS. So none of this is even installed by default, even with the "full" FreeBSD install (compared to NanoBSD or PicoBSD).



balaji18 said:


> What do i need to make this happen?


I'm not sure what you're expecting to happen. Desktop installs are not done by default, there is no default in this respect. It's left up to you to install whatever you need. Expecting the installer to do this for you is not likely to happen. You should look at the various desktop oriented derivatives for that. Maybe try GhostBSD?


----------



## Deleted member 30996 (Mar 10, 2021)

balaji18 said:


> I am looking for a small, general purpose, desktop BSD having
> 
> 1) Terminal
> 2) classic VI editor
> ...


All that can be done with installation of the base system, www/firefox-esr, rxvt-unicode and the middle mouse button for copy and paste of text into the rxvt terminal.

vi is included in the base system install.


----------



## zirias@ (Mar 10, 2021)

Yes, but it's nowhere near THAT kind of "small" the OP seems to have in mind. In my build, I'm leaving out many things from base I don't want/use and still end up with roughly 850MB. And that means NO ports/packages installed.

You can probably strip down a lot further (`WITHOUT_CLANG*`, `WITHOUT_LLVM*` and so on), I guess that's what this NanoBSD script is doing. But I doubt it's realistic nowadays to get a full "desktop" system in ~100MB.


----------



## Phishfry (Mar 10, 2021)

My NanoBSD images never made it below 125 Megabytes.
That was built for Wireless Acess Point with only misc/ytree. No GUI.
I don't see how you could pull off xorg in under 1 gigabytes.

I tried making a touchscreen kiosk with NanoBSD and I never got Openbox running right under NanoBSD.

205 Megabytes before kernel trimming








						Share your make.conf and src.conf
					

Hello :)   It would be nice that experienced users shared their make.conf and src.conf to help new users like me :)  I know that there are man pages and I read both of them, but real user's configurations are IMHO also helpful!




					forums.freebsd.org


----------



## a6h (Mar 10, 2021)

Look at this. Not completely relevant, but it may give you some idea about how to shrink it to the max.





						miniBSD web site
					

MiniBSD web site



					www.minibsd.org


----------



## balaji18 (Mar 15, 2021)

Thanks to all the replies. I chose to follow minibsd style as shared objects linking would result in a small size rather than static linking. The addition "NOSHARED=no" to /etc/make.conf has no impact on the build as far as FreeBSD 12.1 is concerned. Even after the addition, static linking was happening. I was fine with it and wanted to see if the build would complete with static linking. Unfortunately not. libclang.so files are present but not libclang.a. Thought i could get libclang.a if i compile clang from ports. I hit package version mismatch and size errors.

So for now, i think i need to live the way it is.


----------

