My experiments && experiences with FreeBSD
Firstly why did I choose FreeBSD:
It started off as something that I wanted to experiment with.
I worked on GNU/Linux for a long time. I wanted to see how different
and difficult FreeBSD was to install. So things began to take shape.
I could not do many experiments on computers mainly because I did not
have my own computer. When I did buy one I was not with the computer.
So when I finally got to be with my computer I was itching to
get a non-windows OS on it. I looked @ GNU/Linux, installed it
(Fedora Core 2) and it was a bad experience. Now I had to install
something else. So I turned to FreeBSD. I heard a lot of good things
about FreeBSD. BTW it is closely related to Mac OSX.
The process of installation:
Let me start with the basics of installing an OS. First of all
you have to know you computer well. I mean the devices, their model
numbers, makers and whether the hardware is supported by an OS that you
wish to install. If you install any of the Windows OSes you might not
have difficulty in installing the OS, because almost all hardware
vendors provide you with the drivers. However once you look away from
the Windows world, you might end up with all kinds of problems. Bad or
lack of driver support haunts GNU/Linux and the other such OSes. If
its bad for GNU/Linux its worse for FreeBSD. I dont even want to know
the case with NetBSD or OpenBSD.
Once you have the list of these device models you can begin
the installation. This involves first taking a back up of your data.
NEVER take chances.
The complete process of installing FreeBSD is explained very
well in the FreeBSD handbook.
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html
Reading this will clarify many things.
Once I was done reading that webpage (in Windows XP + FireFox)
I began the installation process. I have a 40 GB hdd (Seagate
barracuda).
I made a 5 GB partition for FreeBSD.
The installation itself was pretty smooth. Being a newbie to
the installation process of FreeBSD I was kind of scared. However things
went smoothly just because there was always a for newbie kind of
option.
Take for example the partition of the 5GB disk that I had alloted to
FreeBSD. There was an option called the "automatic" that automatically
selected the partitions for the 5GB partition. /usr, /tmp, /var, /dev
etc
were auto created. This is VERY good for newbies like me.
Then on the installation was pretty straight forward. The
documentation helped me a lot. Infact there is a guide that you can
read
while you installing the OS. This is VERY nice feature. While
installing
your system would you be able to reboot the system into Windows or
something else and then read through the Handbook? No.
Once this was over, I came across the Post-Installation setup.
Networking configuration is what I am interested in. For some VERY
weird
reason IPV4 settings did not take a valid IP: 192.168.14.157 That is my
IP and I connect through a gateway (my ISP). This is a bug I guess, and
it put me in trouble. Mainly because without internet I can do NOTHING.
I knew that there would be trouble with drivers, with dependencies and
packages. This required Internet. To get internet up - well this caught
me in trouble. So what do I have to do - reboot into Windows, then
connect
to IRC network EFNet #FreeBSDHelp and post the question. People there
were
VERY nice and they told me the exact files which I had to modify.
However
this should not have happened. I am not sure if everyone can fiddle
around
with files. I had knowledge of UNIX systems so it was easy for me. Thus
with some help from my friends @ #FreeBSDHelp I did the following
to /etc/rc.conf
ifconfig_rl0="inet 192.168.14.157 netmask 255.255.0.0"
defaultrouter="192.168.12.1"
voila and I had my network up. However the most important thing
here - I HAD to get my windows booted up because Networking
"interfaces"
GUI did not work. Anyways I am sure this is something that will soon be
fixed.
Next came the XWindows setup. FreeBSD 5.3 had X.org as the
default
X server provider. This meant some changes in the commands for me. Now
that
I had the internet up, I started searching. However this I had to do
with
"links". That again limited my options. Many sites would not open in
links.
I knew that the drivers for FreeBSD were not available from nVidia
website.
Then I downloaded the source that nVidia provided for GNU/Linux and
also
FreeBSD. So I compiled it, saw the documentation (pretty
straightforward),
and got my X server up. I then installed englightenment as the default
window manager.
Hunt for the good browser:
Now that I had the OS up it was time to make this computer usable
by my brother and possible my parents. The first thing - a good
browser.
I know of one good browser - Firefox (www.mozilla.org). However I was
stunned to see that there does not exist a port for Firefox. This was
strange and scary too. I would be left with some of the other browsers
which I am not comfortable with. So I hunted for over 2 days and
ultimately
got a port for Firefox 1.0.X - through one of the P2P clients. I knew
it
was not a reliable source (trojans blah blah). Still I tried. Sadly it
had
numerous dependencies which were not available @ that time.
Enter pkg_add:
Then I started looking out for some other options. One such
option
the packages system in FreeBSD. I had not used this earlier. However
the
Handbook was of good help here. Once I figured out how to use this I
got
into action. pkg_add automatically installs any of the dependencies
also.
pkg_add -r -v firefox was all I had to type. Lo behold the browser
installs,
but what is this - Firefox 0.9 version. :O. Very bad. However I had no
option.
Getting firefox source and compiling it for FreeBSD would involve days
of
work and even worse - it might not compile due to dependencies. So I
had to
settle down for Firefox 0.9. So that is the status as of now - FireFox
0.9
Kould we install KDE:
Now I had to get a desktop manager that I am comfortable with.
KDE.
This was straight forward too pkg_add -r -v kde finished installation
of KDE.
nforce APU and sound:
Once again the driver issue came up and this time it got worse.
Earlier the graphics drivers were available for the system from nVidia,
however the sound driver was a tricky thing. nforce chipset drivers for
sound were available only for Windows and GNU/Linux. So what do I do?
STFW.
However the web did not give me any answers. Then I went for the
groups.google.com . Now I had an answer. It was simple command.
" kldload snd_ich " loads up the nforce audio driver. Sounds
interesting.
Zounds!!
A case of missing shared object library:
There was however one final stupidity I had to commit - I was
trying something silly and by mistake deleted the libintl.so.6 and
subsequently the libintl.so file too. Then started all my troubles.
I was searching for the package that contains this library. So I search
for the intl package and incidentally there was an intltool package. I
installed it, uninstalled then reinstalled it, but nothing worked. The
library was still missing. I searched a lot and ultimately got to IRC
channel again. There I got the answer. The package "gettext" had the
library. So I got this installed and that solved all my problems with
the
library. Apparently this was a common question it seems. I wonder how
this could be solved.
Video and multimedia player:
Once I got the rest of the things up and running I had to get
video playing capability into my system. This was straight up too.
Downloaded the source code for mplayer (www.mplayerhq.hu) and then go
for configure. Then I hit make. Lo behold first hiccup. I got weird
errors. I was wondering how this could happen. Then I remembered having
read somewhere that the default "make" is PMake. mplayer needed gmake.
So I tried gmake and then the compilation was straight forward. gmake
and then gmake install. That is it.
What's left:
Getting xcdroast working. This is tricky as I understand. I
havent yet read up on this, but xcdroast does NOT work straight up.
Neither does cdrecord. So this has gotten me in trouble.
Some differences:
While mounting some of the drivers (FAT 32 format) I was used
to the mount -t vfat <device> <dir> but this did not work
with FreeBSD.
Rather I had to use mount -t msdos <device> <dir>.
Command "reboot" would reboot the machine but after the POST
there was just beeping on the computer. I dont know why this happens.
As soon as I boot up the machine the login prompts were weird.
In the sense that the login prompts had the booting up messages still
at the top.
Bash was not a standard shell and when I tried chsh it failed
saying that bash was not a valid shell. I located Bash and it was in
/usr/local/bin. I had to move the "bash" executable to /bin/.
vi behaves differently. Somehow the "insert" text at the bottom
of the screen doesnt seem to appear when I hit 'i' after the escape
I successfully managed to get xcdroast/cdrecord/k3b
up and running.
This is how I did it:
First I updated the xcdroast package from the internet. pkg_add -r -v
xcdroast. This installed the xcdroast package on my computer. Then I
set some other flags (for enabling non-root users to use xcdroast) and
recompiled the package.
Next I went to these urls:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/creating-cds.html#BURNCD
They gave me complete overview of how to enable SCSI-emulation. SCSI
emulation
is necessary for xcdroast to work properly. enabling SCSI emulation was
straight forward for me. Just compiling the kernel. I was always afraid
of
compiling a kernel - takes time, might mess up the comp/data. Anyways I
did
manage to get the kernel up and running. Started xcdroast and burnt my
first
CD. 640 MB in flat 90 secs. That ruleZ. The same thing was taking 6
mins plus
3 mins of fixating. 9 mins to 90 secs - that is something.
My system configuration:
Athlon XP 1800+
40GB Seagate Barracuda
Asus mother board nforce onboard Chipset.
Samsung 753s SyncMaster
Microsoft Keyboard + Microsoft Optical Mouse
Realtek Ethernet adapter
LiteON CDRW
LG CDR
256 MB DDR (shared with the onboard GeForce 2 MX)
Some important links:
http://www.freebsd.org
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html
http://www.freebsd.org/where.html
ftp://ftp.freebsd.org/pub/FreeBSD/ports/
ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/
http://www.mplayerhq.hu/
http://www.nvidia.com/object/linux.html
Copyright CyraX/Chaitanya
http://students.iiit.net/~cyrax