Warning: this page reflects what I did to get FreeBSD
working on my Inspiron 7500. Because, despite the
model name, not all 7500s are identical, I can't
guarantee that this will work for you. It may
even damage your Inspiron (setting up XFree86 in
particular has the potential to damage your system).
Only you can decide whether the risk is justified
by the benefits.
It was worth it to me. I use FreeBSD as my primary operating
system. I boot to Windows 98 only when I need to use some
particular program that isn't available for FreeBSD or Linux
(I run Linux programs under FreeBSD).
At the moment, this is a very vague list of things I figured out, written
With luck, I'll find time to provide more detail, and to correct any errors
that may be discoverd.
You may have to fiddle with your BIOS settings to get some of this to
If you have questions about my BIOS settings, let me know and I'll look at them.
The first thing I did was order my Inspiron with a 20GB hard drive. Dell inadvertently helped me out by creating only a 6GB partition and installing Windows 98 on it. This left me the rest of the drive for FreeBSD without having to modify the Windows partition. What Dell thought a "normal" user would do with a 20GB drive that only had a 6 GB Windows partition on it is beyond me, but for me, at least, it was a plus.
The next step (as I recall) is for you to modify your Inspiron's default configuration so that the suspend-to-disk is done to a separate partition. Dell sets it up by default so that suspend-to-disk is done to a file in the Windows partition. You want to move it to its own partition so that FreeBSD can use it. To do this, follow Dell's instructions for modifying the suspend-to-disk file size (as if you had installed additional memory, which by the way is much cheaper from http://www.crucial.com than from Dell), but instead of entering the full "phdisk" command that they list, just type "phdisk" or "phdisk /help" (sorry, I'm doing this from memory) and you will find an option to create a suspend partition rather than a suspend file. The partition it creates will be the fourth (last) primary partition on the drive, even if the second and third partitions don't exist yet. That's fine: you'll create them later. NOTE: in FreeBSD you do suspend-to-disk by pressing the Fn-A key combination, not Fn-Esc (I found this key combination buried in some documentation on Dell's web site, and it should work in other operating systems as well). Also, after re-awakening from suspend-to-disk, KDE (or maybe X in general) will think it is in 640x480 mode, even though the display will be in whatever mode you left it in. The results are garbage. The workaround I use is to press ctrl-alt-F2 to get to a text mode console before pressing Fn-A to suspend. After restoring from suspend, I press alt-F9 to get back to KDE, which resets the KDE display and everything is fine. You can also stay in KDE and use ctrl-alt-F2 after you resume from suspend, but you are more likely to end up with trash on the screen.
Update: I now use XF86 version 4, and it locks up if it is in graphical
mode after restoring from suspend. The solution I use is to make sure apmd is
running, and include a vidcontrol line in /etc/rc.suspend to automatically
switch to text mode, something like this:
if [ -r /var/run/rc.suspend.pid ]; then
echo $$ > /var/run/rc.suspend.pid
logger -t apmd suspend at `date +'%Y%m%d %H:%M:%S'`
vidcontrol -s 1 < /dev/ttyv0
sync && sync && sync
rm -f /var/run/rc.suspend.pid
After you have the suspend-to-disk partition set up, go ahead and install FreeBSD in whatever you consider a "normal" fashion. Let FreeBSD install its boot manager. I created a 6 GB FreeBSD partition, and later I filled the rest of the drive with an 8 GB partition that is FAT32 formatted. Most of my data files are stored in the FAT32 partition, which is shared by Windows 98 and FreeBSD. Only FreeBSD-specific stuff ends up on the FreeBSD partition/slice, and only Windows specific stuff ends up in the Windows C: partition. It works pretty well, although I suppose putting stuff on a FAT32 (rather than UFS) partition increases the risk of losing files if something crashes.
An alternative some people use is to allocate the larger part of the disk to Windows, and then mount the Windows partition (your C: drive) from FreeBSD and access the data stored on it directly. I don't do this because (a) my experience in the past has been that this sort of thing increases the chance that some change you make from FreeBSD will confuse Windows, and (b) isolating most of your data files from either operating system partition improves the chance that they will survive the death (or upgrade) of either operating system partition.
When you set up XFree86, you'll probably have trouble getting more than 640x480 mode working correctly. Here is a "monitor" section that works for me, although I'm fairly certain that the HorizSync and/or VertRefresh ranges are wrong:
Identifier "Primary Monitor"
Modeline "640x480" 45.80 640 672 768 864 480 488 494 530 -hsync -vsync
Modeline "800x600" 69.65 800 864 928 1088 600 604 610 640 -hsync -vsync
Modeline "1024x768" 115.50 1024 1056 1248 1440 768 771 781 802 -hsync -vsync
Modeline "1400x1050" 155.00 1400 1464 1784 1912 1050 1052 1064 1090 -HSync -VSync
A copy of my complete XF86Config file is here.
Note that I haven't found a modeline that works for 1280x1024 mode. If you have one, please let me know. My Inspiron, by the way, has a 1400x1050 LCD display. If yours is different, be careful when experimenting with these modelines. If your display goes out of sync, you should probably kill XFree86 with ctrl-alt-backspace immediately rather than risk damage to your display. I don't know how real the risk is, but I know the display is VERY expensive.
Update: I'm now using FreeBSD 4.6.2 with XFree86 ver. 4. My XF86Config file now looks like this.
I also have internal CD-RW and Zip drives that both work just fine with FreeBSD. I use burncd (in the ports collection) to create CDs (and mkisofs to create ISO images, as well as dagrab to rip wave files from audio CDs. There are lots of MP3 rippers around, but I haven't tested any yet). I don't remember having to do anything special to use the Zip drive, but if you ever reformat a zip disk, it will probably not be portable to other operating systems any more (this is true for Win 98, Win 2000, and FreeBSD - they all format a Zip disk so it looks invalid to the other two). Just stick with the factory formatting. I've successfully reformatted a Zip disk by using dd to read an image of a blank factory-formatted disk and then writing that image to the disk to be formatted. You can, of course, format a Zip disk with the UFS (FreeBSD) file system and it will work quite happily if you don't need it to be portable.
The sound card is an ESS Maestro 2e, which works (playback, but not record) using the pcm driver in FreeBSD 4.2. Previous versions of FreeBSD did not support this card. Simply include "device pcm" in your kernel config file (build a custom kernel), and build the "snd" device in /dev (i.e. sh MAKEDEV snd0). There won't actually be an "snd0" device, there will be a bunch of other devices created. With luck, the driver will support recording soon -- the code is there, but commented out by the developers.
Power Management (APM) seems to work ok, although I haven't exercised all of its capabilities. I use xbattbar as a battery monitor, just because I like its unobtrusiveness. Include "device apm0 at nexus? " in your kernel configuration.
That's all I can think of at the moment. If you have any questions about this, send them to firstname.lastname@example.org. I don't check that mail address every day, but eventually I'll get back to you.
Things I haven't done yet: if you know how to do these, please let me know!
By the way, did you know that anything you publish is automatically copyrighted, even if you don't put a copyright notice on it?