# How to PROPERLY install FreeBSD?



## Chris_H (Jan 13, 2014)

Greetings, all.
I've been tracking -STABLE all these years, and currently all the servers are on RELENG_8 (8.4).
The STANDARD procedure IMHO was as follows:
1) boot the install media
2) choose minimum install (least amount to boot FreeBSD)
When asked to browse the ports collection:
2) choose cvsup-without-x11
3) bounce the box, into the newly installed system
4) copy /usr/share/examples/cvs/stable-supfile and /usr/share/examples/cvs/ports-supfile to ~/
and edit:

```
*default host=cvsup<0-9>.FreeBSD.org
*default release=cvs tag=RELENG_<MY_VERSION_NUMBER>
```
placing the desired values within <...>.
5) `cvsup -g -L 2 ~/stable-supfile`
6) `cvsup -g -L 2 ~/ports-supfile`
7) editing a copy of GENERIC to properly reflect my hardware.
8) `cd /usr/src && make buildworld`
9) `make build kernel KERNCONF=<MY_KERNEL_NAME>`
10) `make install kernel KERNCONF=<MY_KERNEL_NAME>`
...
I have 3: TYAN Thunder LE-T S2518's collecting dust. So I thought I'd turn one of them into POINTYHAT so I could use it to build any of the systems I wanted/needed to; amd64,i386,and the myriad of MIPS based embedded hardware I build kernels for. So. I downloaded a copy of dvd1, for 8.4, burnt it to a DVD, and booted/installed it. I performed/used the same proceedure above. But couldn't proceed to step 4, because cvsup() is no longer supported. How does/can somebody use the procedure described above, in insure a current, secure copy of STABLE? I thought the handbook would take one into updating, right after finishing install instructions. But that wasn't the case. 

Thank you for all your time, and consideration.

--Chris


----------



## SirDice (Jan 13, 2014)

You should still be able to use cvsup for the base OS. It's been turned off for ports though and it will be turned off for the source tree too some time soon. You need to use svn these days.

http://www.freebsd.org/doc/en_US.ISO885 ... k/svn.html


----------



## Chris_H (Jan 13, 2014)

Greetings, @SirDice, and thank you for the reply.
I had read http://www.freebsd.org/doc/en_US.ISO885 ... k/svn.html Following the instructions, and accepting the defaults for all the options during the make() process, required me to download half the internet, just to satisfy the dependencies. This does _not_ seem a very good approach to installing, or maintaining a new copy of FreeBSD. There should _not_ be any significant amount of dependencies to get a maintainable version of FreeBSD, IMHO. While I'm aware that freebsd-update is considered by most to be the official approach to keeping your system up to date. If you have any intention of building ports with your own choice of options, or doing anything outside the "norm", freebsd-update is probably not for you. Isn't there anything close to cvsup() that was the previously chosen _official_ means of maintaining FreeBSD? Isn't there a section in the handbook for maintaining FreeBSD, the way there was when cvsup() was the official approach? Why is there no discussion on the correct approach to building/installing svn() to properly maintain a FreeBSD system? If there is, why is it not prominently listed in the download section, the handbook, or even better; in /usr/src/README, /usr/src/UPDATING? 
Summary: Given the documentation http://www.freebsd.org/doc/en_US.ISO885 ... k/svn.html you are forced to install a potentially vulnerable system. As the "defaults" for the options require you to install a great many services that you should _not_ be required to, just to keep and maintain a flexible, and secure FreeBSD system.

Thank you again, @SirDice, for taking the time to reply. 

--Chris


----------



## SirDice (Jan 13, 2014)

For the ports tree you can use portsnap(8). devel/subversion has very few dependencies. 


```
dice@molly:~> pkg info -d subversion
subversion-1.8.5:
        serf-1.3.2_1
        expat-2.1.0
        gettext-0.18.3.1
        apr-1.4.8.1.5.3
        sqlite3-3.8.1
```

If even that is too much you can use svnlite, which should be included in the base.


----------



## Chris_H (Jan 13, 2014)

SirDice said:
			
		

> For the ports tree you can use portsnap(8). devel/subversion has very few dependencies.
> 
> 
> ```
> ...



Excellent advice. Now if only it was documented in the post install, or the SVN page, quoted earlier. 

Thank you for thoughtful response, @SirDice.

--Chris


----------



## SirDice (Jan 13, 2014)

Oh, I just found that svnlite may not be part of 8.x or 9.x yet. It does exist on my 10-STABLE machines but not on 9-STABLE. Although the 9-STABLE machines are from the end of last year, it may have been added in the mean time.


----------



## Chris_H (Jan 13, 2014)

@SirDice, thanks for the "heads up". But, just so you know. It _was_ available when I performed a

```
cd /usr/ports/devel/sub[tab]
```
After my initial use of portsnap() fetch && portsnap() extract.

Thanks again.

--Chris


----------



## SirDice (Jan 13, 2014)

Just a note, the port devel/subversion should be available for all supported versions (since they all use the same ports tree). It's svnlite I'm not sure about. On 10-STABLE it's part of the base OS so you don't need to install a port to be able to SVN the sources and ports tree. It serves the same purpose (and a little more) as the old csup tool.


----------



## pkubaj (Jan 13, 2014)

There's also net/svnup, which is dependecy-free.


----------



## wblock@ (Jan 13, 2014)

svnlite is only on 10-STABLE.  I'm not aware if there are plans to MFC it to earlier releases.


----------



## Chris_H (Jan 13, 2014)

@@SirDice, @@wblock
I'm quite sure I saw `svnlite` in the directory listing after my initial `portsnap fetch && portsnap extract`
under `/usr/ports/devel`
It's gone now, now that I blew away `/usr/ports` just prior to performing a `svn checkout`.
Thanks for mentioning it.

@@pkubaj
net/svnup looks like just what I need for this server setup. I'll give it a try.
Thanks for taking the time to respond.

--Chris


----------

