Last you heard from me I was trying out FreeBSD 7.0 and mentioned that I would try to write down some of the things that I’d learned. For this post I thought I’d outline the steps I took to do my installation, including getting all the goodies working (wireless, sound, etc). This guide is hardware-specific to the Dell Latitude D630.
To begin the installation I used the steps outlined on this post (USB based installation). I used the entire drive and partitioned as follows:
- 512M /
- 2G swap
- 2G /var
- 1G /tmp
- [remaining] /usr
I then selected the “Minimal” option, for a base install around 200M. I did add Linux compatibility when prompted, also added SSH login and customized the terminal options to “SWISS” for a slightly better console resolution. I set my timezone appropriately, selected any remaining defaults and reboot the machine.
At this point you’ll have a very bare system, so you’ll want to add a few more things. We’ll launch ‘sysinstall’ to re-enter the installation manager and add a few more goodies.
Inside the default sysinstall screen you’ll want to select “Configure”. Select “Media” to point the installer to the available data. In my case, as I used the USB based installation I selected MSDOS partition. After this select “Distributions”. From here I added “man” and “ports”, which installs the man pages and the ports collection. You can add other options as needed, but this was the base set I installed.
Now one of the big reasons that I like FreeBSD is the ability to really customize your base system. You can select just what you want to install toward the type of system you’re going to build. Now before we start installing from ports we’ll want to update our ports collection. The ports that we installed is from the base installer which, at this point, is out of date. Unless you want to upgrade your ports (meaning you’ll get to recompile them *again*) you’ll want to update the ports tree now.
There are two methods available for updating your ports tree. You can use ‘portsnap’ or ‘cvsup’. The differences, as I understand them, are that ‘portsnap’ will download the latest snapshot of the ports and extract them whereas ‘cvsup’ will manage your collection via cvs. I prefer the cvsup method because future ports updates are only incremental saving time and bandwidth.
I’ll outline both methods below.
To use the portsnap method use the command:
portsnap fetch && portsnap extract
To use the cvsup method we’ll first need to install that utility. This can be done using:
cd /usr/ports/net/cvsup-without-gui && make install clean
When this is finished you can update the ports collection using:
cvsup -L2 -g -h cvsup.freebsd.org /usr/share/examples/cvsup/ports-supfile
This may take a while depending on your bandwidth, but when its finished you should have the latest snapshot of the ports collection. At this point anything else you install should be the latest.
Building The Desktop
Below I’ll simply outline the commands I used to install some basic tools and get the minimalist desktop environment put together. The installer may prompt you with build options. Those are up to you. If you have no idea, the defaults are likely safe.
First I installed a more comfortable shell environment, bash.
cd /usr/ports/shells/bash && make install clean
cd /usr/portsr/shells/bash-completion && make install clean
Add the following to your ~/.bashrc file:
if [ -f /usr/local/etc/bash_completion ]; then
Lastly I update the user shell to bash.
chsh -s bash
I’d also like an improved editor, vim.
cd /usr/ports/editors/vim-lite && make install clean
Once I’ve got my preferred editor and shell installed I move on to the X server with xorg.
cd /usr/ports/x11/xorg && make install clean
This build, on my C2D, 2G RAM machine takes over an hour. YMMV, of course.
After xorg is installed you’ll need to configure it. I’ve had good luck with the “X -configure” tool. Try to auto-configure X and test that configuration using the following commands:
X -config xorg.conf.new
note: to exit the second command (assuming it worked as expected) is ctrl-alt-bkspace.
If you get a working X server with a movable mouse cursor you’ll need to copy this config file into place:
cp xorg.conf.new /etc/X11/xorg.conf
We can now add the graphical login manager, SLiM:
cd /usr/ports/x11/slim && make install clean
To activate SLiM at boot time you’ll want to add the following to the /etc/rc.conf:
We’ll add the minimal window manager, OpenBox next:
cd /usr/ports/x11-wm/openbox && make install clean
To have SLiM launch OpenBox upon successful login you’ll need to add the following to your .xinitrc:
Lastly I added a web browser, firefox3 and I’m covered.
cd /usr/ports/www/firefox3 && make install clean
Your mileage and tastes may vary, of course, but these are the steps that I followed to get a minimal, keyboard driven, desktop environment.
My next post will outline activating wireless for the ipw3495 card.