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 but this did not work with FreeBSD. Rather I had to use mount -t msdos . 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