# Where to start learning everything about FreeBSD?



## 13elltovver (Aug 8, 2019)

First, until this week I didn't even know this OS existed. I know a bit about Linux and Windows but nothing about FreeBSD. Except that the PS4 OS is based on it, which is why I started to look for FreeBSD.

So, as I am also planning on studying Applied Informatics, I decided to learn everything I can about BSD and therefore FreeBSD. I would also be happy to contribute if I could. For now I cannot code anything, but I am starting to learn C, if thats any help… 

My Problem with BSD is, where do I start? I am so overwhelmed by the sheer amount of information. Can you please point me into the right direction? 

Also, I intend to use a laptop only for this operating system, can you recommend me a laptop? It would be nice having something that works out of the box. 

Many thanks in advance!


----------



## SirDice (Aug 8, 2019)

13elltovver said:


> For now I cannot code anything, but I am starting to learn C, if thats any help…


For just _using_ FreeBSD, no, you don't need to understand any code. 



13elltovver said:


> My Problem with BSD is, where do I start? I am so overwhelmed by the sheer amount of information. Can you please point me into the right direction?


The best starting point is going to be our excellent handbook: https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/



13elltovver said:


> Also, I intend to use a laptop only for this operating system, can you recommend me a laptop?


A lot of people are very happy with FreeBSD on a Lenovo laptop. 



13elltovver said:


> It would be nice having something that works out of the box.


This is FreeBSD, nothing works out of the box. You're going to need to get your hands dirty and will need to configure everything. That said, most things are fairly simple to configure, just take it step by step. Don't try to run before you learned how to walk.


----------



## malavon (Aug 8, 2019)

One more tip: fail. You read that right, you'll learn most messing things up and fixing them afterwards. Also, it'll be engrained in your memory and you won't do it twice. Try to not do a reinstall to "fix" things.
Except the archetypical `rm -rf / *`, there's a good chance you'll do that one more than once before you find a fix that works for you


----------



## SKull (Aug 8, 2019)

I'd suggest to read https://mwl.io/nonfiction/os#af3e

It's really great for beginners.


----------



## balanga (Aug 8, 2019)

I'd suggest that the first thing you need to be aware of is that unlike Windows, or most flavours of Linux, FreeBSD does not come with a GUI pre-installed - there is no hand holding. If you manage to get it installed, you are dumped at the login prompt, and then you have to figure out what to do next. If you are not comfortable with a text mode shell, you may be better off installing some version of FreeBSD which does come bundled with a GUI such as TrueOS among others.


----------



## tedbell (Aug 9, 2019)

malavon said:


> Except the archetypical `rm -rf / *`, there's a good chance you'll do that one more than once before you find a fix that works for you



LOL. I call that the UNIX initiation. I'll never forget mine.


----------



## CraigHB (Aug 9, 2019)

I've done that as root before, forgot the dot, was a scratch instance though, no biggie, just reload.  FreeBSD expects you meant to enter what you typed.  You get used to double checking.


----------



## Phishfry (Aug 9, 2019)

My first fubar was trying to force a new user account into /root totally hosing the profile.
Sometimes you just need to admit you messed up and start over.



malavon said:


> One more tip: fail. You read that right, you'll learn most messing things up and fixing them afterwards. Also, it'll be engrained in your memory and you won't do it twice. Try to not do a reinstall to "fix" things.


I totally agree with the premise, but I don't think new users from other OS don't have the skills yet to fix things.
Plus the frustration of not knowing how when a new user. Too much frustration will make people revert.
My mantra is, learn early how to save your configuration files onto a USB stick and wipe your install frequently if messed up..
Document everything either on paper or text files. Keep a list of packages you find useful.
You will get to the point where it only takes 15 minutes to install FreeBSD.
This allows you to enjoy your OS instead of worrying if you messed it up.
It also starts you out on the right path to backups and restoration.
Then once you get some user experience under your belt you will find you can fix problems that seemed insurmountable.


----------



## userxbw (Aug 9, 2019)

I knew about FreeBSD for a bit, but used Linux instead, for a few years, now I am using FreeBSD too. this is the page that helped me get my system up and running, taking out the part where the person loves to compile everything from source, I found out that pkg install <app name> that is the easier way to go if you follow these instructions to get your system up and running. IE your desktop of choice there is more than fluxbox for a desktop, I got windowmaker, xfce4, and e16 with slim as my login manager, and yes there will be a learning curve, espeically if you do not have any 'linux'  or *BSD experience of any kind.









						Beginners Guide - How To Set Up A FreeBSD Desktop From Scratch
					

I'm going to guide you though the process of getting a fully functional FreeBSD 13.0-RELEASE desktop up and running, complete with system files and security settings, step-by-step as if you've never used UNIX or the command line. Now let's get started:  Insert your boot media and at the Welcome...




					forums.freebsd.org
				




skips the parts you think you will not need, and you can always add them later. There also is a port called 'networkmgr' that is nice to use to help you connect to the internet - point and click easier.


----------



## CraigHB (Aug 9, 2019)

Phishfry said:


> You will get to the point where it only takes 15 minutes to install FreeBSD.



One thing I really like about FreeBSD is it's super easy to script your install, don't even need the installer.  Then it loads in just a few minutes.  I use that because I like to have a scratch instance to experiment with, screw it up and it's just a quick reload.  Of course I'm only using binary packages, I still need to expand my sysadmin kung fu to source.


----------



## malavon (Aug 9, 2019)

I actually forgot to add one more thing: if you use a ZFS install (ZFS on root), it's even easier to go back after messing up the system.
I'd still recommend fixing it the right way, but rolling back to a zfs snapshot made earlier will work as a very effective (and immediate) emergency restore function.


----------



## Barney (Aug 10, 2019)

While I prefer FreeBSD over linux whenever possible, if Im using anything with a touchscreen I'm using Linux. The desktop support for Linux is vastly superior. As a server, FreeBSD is my choice. 

PC-BSD/TrueOS is a desktop branch running freebsd and frankly, it sucks rocks. I wasted way too much time on that sack of rocks.


----------



## 13elltovver (Aug 19, 2019)

Thanks for every answer, you are all great! I think I will leave a little summary what I did, may it help people who want to try the same.  

So I started by setting up FreeBSD with a GUI (KDE5) on my PC(i3-8100, RX560).

I had to get an Edimax-EW-7811Un stick to get wireless internet connection without problems. 

Most of the things I did, I found here(because of the Polaris 11 GPU):  https://forums.freebsd.org/threads/rx-580-supported.65905/

What I did:

I installed FreeBSD 12-RELEASE without a problem via usb stick. The installation process was very self explaining i mainly chose default options but went for ZFS instead of UFS and added my user account to wheel operator and video.

`Freebsd-update fetch install`                              #get latest patches

`pkg install nano`                                                #get editor

`pkg install drm-freebsd12.0-kmod gpu-firmware-kmod`                #installing kernel modification for gpu

`pkg install xf86-video-amdgpu`                                    #installing the x driver

`Xorg -configure`                                                 #create xorg configuration file

`cat /root/xorg.conf.new | grep -s8 amdgpu`                          #check out if amdgpu driver is used

`nano /root/xorg.conf.new`                                        #uncomment the “TearFree” Option

`mv /root/xorg.conf.new /usr/local/etc/X11/xorg.conf.d/xorg.conf`   #move edited configuration to user

`nano /etc/rc.conf`                                                #add “kld_list=amdgpu” to load amdgpu driver in the kernel

`nano /boot/loader.conf`                                           #add “hw.syscons.disable=1” and “kern.vty=vt” because of EFI framebuffer issue, not realy sure what I did there, but seems to work

`pkg install xorg kde5 chromium sddm glmark2 mesa-dri mesa-libs mesa-demos clover vkquake libreoffice`             #GUI and additional software I installed and Quake^^           

`sysrc sddm_enable=YES`                                                             #Start KDE automatically
`sysrc hald_enable=YES`
`sysrc dbus_enable=YES`
`service sddm start`

Reboot and thats it. 

I am currently writing this from my new FreeBSD KDE5 desktop, using the Chromium Browser, which is awesome. For me it is very attractive to install and use only the software I want. Therefore its very slim. I have a nice looking GUI, I can browse the Web, watch videos, hear music, write and receive e-mail, can perform all my (libre)office tasks, i even can play 3D video games. Thats taking only 8.8GiB of disk space, thats impressive! Especially compared to other OS like windows 10 which needs 20+GiB.(Which frightens me a bit, as i'm not able to see why it is this way, what do they deliver that needs so much more space for the same tasks?!) 

Again, thank you all for your help, me learning more wouldn't be possible without you.

Next project, setting up my own freebsd server and hosting my own website on something like an Raspberry Pi 3. This will be fun.


----------



## Vadim_Mkk (Aug 22, 2019)

13elltovver said:


> My Problem with BSD is, where do I start?


Hi All!
Sorry for my English. I'm also starting to learn FreeBSD. FreeBSD, unlike most Linux distributions, which like Windows are  installed a graphical interface and automatically configure all hardware drivers, requires a lot of basic knowledge. Before you read FreeBSD handbook and  Absolute FreeBSD, 3rd Edition you have to the basic understanding (just otherwise you won’t understand what these books are about)  how  work the Unix systems. In my opinion, before you start FreeBSD, you have to read the next books (FreeBSD have full support the Unix concepts - nothing has changed here)
1. UNIX: The Complete Reference, Second Edition byKenneth H. Rosenet al. McGraw-Hill/Osborne 2007 (912 pages) ISBN:9780072263367
or more modern book
2. UNIX The Textbook 3rdEdution Syed Mansoor Sarwar Robert M. Koretsky CRC Press 2017
and doesn't  to afraid work with the command line and text editors. There are nyans with the setup and tuning witch external USB drives, policykit, consolekit, ASPI and etc.  - but these are all  will solved when yuo have base knowledge studying documentation and the Internet. It's more hard, but more interesting way than Ubuntu and other user frendly like Windiows Linux distros. Goog luck.


----------

