Installing FreeBSD 5.1-RELEASE on the Dell Inspiron 5100

A document by Jonathan Turner

Versions

This Document

This document is split into two parts: a quick install guide and a more detailed, story-like guide. If you're having problems during the install, the more in-depth guide might be more useful. Otherwise, just look through the quick install, and you should be fine.


What Works

What Doesn't Work


Quick Install

The quick install will answer most people's questions quickly. If you have any problems, or want a more in depth install, you can skip this section and read the rest.


Detailed Install

Did you back up everything?

Make sure you hit F2 right as the laptop boots, because by default, the cdrom is not ahead of the hard drive in the boot order. Just look for "Boot" at the top, and follow the instructions (you just use F5/F6 on mine to move the order around.)

Booting

The first time I booted and went through the process I selected the normal FreeBSD boot and had problems later in the install, so, YMMV, but I suggest selecting the "Boot FreeBSD with ACPI turned off", or similarly worded option, when your FreeBSD disc first boots.

Sysinstall

You should be able to now walk through the fdisk'ing steps. Here I just deleted the NTFS partition and left the "Unknown" one alone, just in case that was part of the drive ID that sometimes they put on laptops and such for use during a system re-install. Hey, it's small and out of the way, better safe than sorry. After deleting the NTFS parition I made two 15GB partitions, one of type DOS and one for FreeBSD. I left about 8GB at the end for "just in case".

After going through that, and letting the sysinstall configure the FreeBSD mounts and directories (and after I rebooted with ACPI turned off[see above]), I selected "All" (hey, easier than be too frugal and need something later) and let the install do its magic. Everything finished and set me on the "Congratulations! You now have FreeBSD installed on your system."

Time to configure... I got to the "configure network" screen and decided I should plug my SMC wireless PC-Card in and see if it could 'find it'. Ummm, no, don't do that. It freezes sysinstall.

Time to reboot again, by now I'm becoming a pro. This time I put the SMC card in first, before I booted, and then let FreeBSD boot with it in. And sure enough there was a block of PC Card related info in the boot. Of course, it went so fast before it might have been there previously. Who knows. Regardless the light on the card still hasn't come on. Oh wait, and now it's trying "Mounting root from ufs:/dev/md0". And it's just kinda stuck there. Moral of the story: Don't put in a wireless PC-Card if you have one like mine. It turns out the PC-Card isn't being found after all. (To scroll through the log, turn on scroll lock[Blue Fn + F12] and use PgUp/PgDn)

And again with a reboot. So what have we learned so far. No ACPI and No wireless PC-Cards(if they're like mine).

Configured the mouse as Auto, but then remembered I never liked having a text mouse cursor. Even still, you want to do this, or it won't be as easy to get the XFree86 mouse working. Just let it do the Auto config, check to make sure there's a mouse. Then follow the instructions when you get to the XF86Config(it will detect that you're running the mouse daemon).

When asked about disabling ACPI permanently, I decided to go ahead and do that, at least until I figured out what had gone wrong before. I found out later this wasn't necessary.

Configuring X I decided to be brave and run "xf86cfg" which is the graphical configuration tool. Sadly, it failed. Next I tried "xf86cfg -textmode". This is the first time I've used this, and I must say that I like it. For the monitor I picked "1024x768 @ 70hz", since there wasn't an LCD option. And "50-100" for the second setting. For the card, since mine is the "ATI Radeon Mobility 7500" I picked, wait a second, there isn't an ATI or a Radeon section in that list. What a pain! No worries, I just picked "vesa" and crossed my fingers. Everything after that was pretty straight forward.

Configuring X Desktop Choose whichever you want. I'm just sad there is no option for xfce.

The First Reboot

I was taken in a bit of a surprise when I was thrown into the Dell diagnostics system after my first complete FreeBSD install. I assumed it was just from the amount of times I had rebooted the computer, but who knows. Everything passed inspection, so I went ahead and rebooted and voila, after selecting FreeBSD from the boot manager the system loaded.

What it looked like was detected: the processor, memory, ACPI, USB w/ hub, the network card (but it attached no driver), CardBus, firewire, ata, pci, acpi power button, keyboard, ps/2 mouse, ac adapter, control method battery, cpu throttling, and a couple various other things.

First XFree86 Run

Looks like XFree86 doesn't want to run with the vesa on the radeon. And the vga driver doesn't support color depth 24. Hmmm, time to look online and see what we find. Everything's pointing to the fact that XFree86 comes with ATI Radeon support. On a whim I ran xf86config (instead of the xf86cfg from above) and lookie what we find. Clear as day a "radeon" device is listed as an available card. Finish setting up the configuration and run 'startx' to, again, be confronted with command prompt. Let's see what it is this time.

"Symbol xf86SetDDCproperties from module /usr/X11R6/lib/modules/drivers/radeon_drv.o is unresolved!"

Followed by the helpful, "If unresolved symbols were reported above, they might not be the reason for the server aborting."

On a lark, before I started googling to uncover what went wrong, I took the old XFree86 configuration file and copied it over the new one that xf86config created, and just changed the video card 'Driver' to be "radeon" and commented out 'ChipSet' and 'Card'. Sadly this did not fix the unresolved symbol issue. Googling found me a couple of news group postings that recommended adding 'Load "ddc" ' in the Module section.

That got rid of the unresolved symbol, but XFree86 still refused to start up. Undaunted, I decided to comment out combinations of other modules in case one of them was misbehaving.

Turns out, after some poking and prodding (and more scroll back viewing) I found a string of xauth errors like this: 'xauth bad display name ":0" in "add" command'. Googling for these revealed that at least a couple people have this problem, too. I at least found out you can run "XFree86 -configure" to help debug problems. Doing so gave me a long list of "Symbol XAAPatternROP_PM from module /usr/X11R6/lib/modules/drivers/nsc_drv.o is unresolved!" Doing a 'Load "xaa" ' didn't fix that either.

Incredibly long story short: remember when we couldn't configure the network from before? Well, we need to. At the very least, we need to give a hostname to the box. So, first run "hostname [your host name", then "domainname [your domain name]" and then edit /etc/hosts to reflect the changes. That should get rid of the xauth errors. Even after all that, I still got the dreaded "Fatal server error: Caught signal 11. Server aborting" message. So now what? Maybe it was because I had commented out commented out 'ChipSet' and 'Card'? Probably not. So where do you go now... why, the log file, of course.

The file: /var/log/XFree86.0.log

According to the log, the ATI Radeon Mobility card was detected. The only thing that looked out of the ordinary was a warning about a "Bad V_BIOS checksum". After the RADEON(0) information the signal 11 occured. After more googling I found a similar issue and a proposed solution something to the effect: "Try to disable agp in the kernel."

Which meant a journey into kernel compiling.

If you did the All install from above the source should be in /usr/src/sys

That should do it. Now wasn't that fun?

Sound

Sound should work out of the box. Either run:

Or add 'device pcm' to your kernel configuration and recompile (see above).

Ethernet

The ethernet is a Broadcom 4400, which, at this time, is not supported. Work is being done to put support into unstable branch now (FreeBSD-5.1-CURRENT). If you're daring you can go here and download the latest files. They worked for me out of the box, I just had to decompress it and copy the two directories where they should go and run make on the makefile. YMMV.

APM

I installed APM but the best I got was being able to tell if I was plugged in to the AC power or not, which isn't that helpful since the lights on the front tell me that.

Multimedia Keys

I got volume up, volume down, and volume mute working.

ACPI(again)

Actually it looks like ACPI wasn't a problem. I ended up disabling APM by default and enabling ACPI. Haven't been able to get the battery life to work(if you've gotten this to work, pass the word on), but I can read cpu temperatures. ACPI works by default, so unless you turned it off before, it should be working now. If not, just edit the /etc/loader.conf and turn it back on(that's where sysinstall will turn it off if you tell it to).

Conclusion

It took some work, but the laptop is running pretty well. There's definitely enough support for a FreeBSD install to be very useful.