Linux on a Dell Inspiron 3200:
(best viewed at 800x600)
History:
12-19-99 - updated preface and added X Windows projector display info.
03-07-99 - added sound info, short note in preface. Reorganized
for readability.
12-20-98 - corrections to RH5.2 info.
12-17-98 - added info on DVD drive, and RH5.2
11-15-98 - added info on network card.
11-09-98 - corrected typos, made additions/clarifications.
10-24-98 - original posting.
Preface
Links To Other Sites
The Machine & The Software
Installing Red Hat
Booting For the First Time
PCMCIA - Part 1: The Modem
PCMCIA - Part 2: The Network Card
X Windows*updated*
Configuring Sound
Dual Booting
Mounting Other Partitions
Preface
"This is Linux country; on a quiet night, you can hear NT
reboot..."
This is a summary of how I got Linux to work on various latop-specific
features of my system. I wrote it as much to try to clarify my own understanding
as to help others with Linux laptop installation. Although these steps
worked for me, I can't guarantee they'll work for you, and I won't be held
responsible for any damage to your machine or data as a result of following
the instructions described here.
I apologize in advance for the disarray of this document. I recommend
reading it from start to finish, as I often do not provide "step-by-step"
instructions for specific subsections. It will make more sense, I hope,
if you read it in order of presentation.
I would be glad to respond to any emails. Also, I'd really appreciate
corrections and suggestions. I'm sure there are inaccuracies here someone
can point out and explain. My e-mail address is jeffreychiu@yahoo.com.
Linux is cool. Have fun.
NOTE, 3-7-99: Thanks to all who wrote in with comments, suggestions,
even questions. I've learned a lot. With 30+ emails and close to 4000 hits
since its inception, this page has way surpassed my expectations.
Hello, Dell, are you paying attention? Linux support,
please? Not just servers but desktops and laptops too with Linux-compatible
hardware or custom drivers?
12-19-99: Well, Linux was up-and-coming when I first posted this page,
and now it's close to "mainstream." Amazing what can happen in a year's time.
I am no longer actively maintaining this document; I run Linux on a desktop
box now, and am devoting my laptop to other uses. I suggest trying the links below
if you're seeking out more information on running Linux on a laptop.
|
Links To Other Sites
The Machine & The Software
I have a Dell Inspiron 3200. It's my baby.
Basic specs:
-
Pentium II-266
-
13.3" XGA Active Matrix
-
80 MB RAM
-
4 gig IDE HD
-
NeoMagic card w/ 2 MB
-
Texas Instruments PCI 1131 Cardbus Controller
PCMCIA Cards:
-
Viking Components 56K Modem
-
Linksys Combo (10BaseT/2) Ethernet Card
The hard disk was partitioned this way prior to Linux installation:
-
2 gig NTFS partition (Windows NT 4.0 Workstation)
-
1 gig FAT partition (extended DOS partition for data)
-
1 gig free
I installed Red Hat 5.1 (kernel 2.0.34, PCMCIA card services 3.0.5). (NOTE:
Red Hat 5.2 has been released, which, in addition to having a newer kernel,
saves you the trouble of having to download additional software in order
for XFree86 to work. See the X Windows section.)
I bought the 3-CD set for $50. You can get Red Hat CDs cheaper on the
web; the boxed set comes with some additional software and demos, plus
an install manual for newbies which is pretty decent. You also get 90-day
installation support, which, thankfully, I didn't have to use. =)
Why Red Hat? Check out this page for more info
on that. |
Installing Red Hat
Installation should be pretty easy. There was a boot floppy supplied
with the set; you can also make one using a blank 1.44M disk, the included
RAWRITE program and boot.img file.
Using this to boot the setup program, I selected the CD-ROM installation
method. It detected my CD-ROM and copied data just fine.
Jarrod Smith, however, had a problem with Red Hat 5.2 and a newer Inspiron
3200 that came with a DVD drive, a TORiSAN DRD-N216, and was good enough
to e-mail me about it. The installation process would freeze when copying
the RPM's, at different points during several attempts There are apparently
known problems with RH 5.2 installations from FAT32 partitions; Jarrod
ended up installing 5.1 instead. If you are installing RH 5.2 from the
hard disk to avoid a DVD problem, check out his page: http://www.users.fast.net/~rodsmith/rhjol-fat32.html
Of the free space, I set aside 80 megs as "swap" and the rest as a native
Linux partition at the root mount point "/". For me, this came up as /dev/hda3
(see my disk layout above). After I selected my packages, the setup program
set up the file system, copied the files and prepared it for booting.
However, I screwed up the installation on my first attempt with two
mistakes:
-
I didn't install LILO, Linux's boot loader
-
When prompted to make a custom boot disk, I chose "Skip," thinking I could
make NT Boot Loader boot the Linux partition somehow.
You need to do ONE of the above to get Linux to boot.
NOTE: There is a mini-HOWTO on how to make Windows NT and Linux peacefully
co-exist on the same machine. Read through this; it's good, and works well
(also, see section below on Dual Booting). There
is no need for LILO at installation time; just BE SURE to make the
custom boot disk. But again, you need to do at least
ONE of these
two thing.
I had to redo the installation, this time making a boot disk. |
Booting For the First Time
Using my custom boot disk, I started up Red Hat Linux for the
first time. Of course, nothing is ever easy, and it got as far as displaying
the following message before hanging:
Starting PCMCIA Services: modules
I tried booting without any PCMCIA cards inserted, but with the same results.
I've seen two web pages for installing Red Hat on Inspiron 3000's, and
neither reported this problem; their cardbus controllers were detected
properly. Whether this problem is specific to just MY laptop or to the
3200 series (maybe the 3000 has a different cardbus controller?), I don't
know.
There are two workarounds. (The first is simpler)
-
When you boot using your custom boot disk, type "linux 1" at the boot prompt
instead of hitting ENTER. This will put you in runlevel 1 after loading
the kernel; no init scripts will be run. Login as root, and at a shell
prompt, type:
cd /etc/sysconfig
This is the directory where the config file pcmcia resides. Using
an editor such as vi or pico, change the first line from "PCMCIA=yes" to
"PCMCIA=no". Then reboot.
-
Make a rescue disk using RAWRITE and rescue.img. Boot with your custom
boot disk, type "rescue" at the prompt, then insert the rescue disk when
you're told to. You will eventually get a shell prompt. Do the following:
cd /
mkdir temp
mount /dev/hda3 /temp
cd /temp/etc/sysconfig
(Replace /dev/hda3 with your Linux partition) Use an editor as in option
#1 to make the same changes to the pcmcia file.
After doing one of the above, you should be able to boot without any problems,
without PCMCIA support. |
PCMCIA - Part 1: The Modem
Of course, I have cool PCMCIA devices I want to use. So how to get
PCMCIA to work...?
A look at /var/log/messages revealed that the loadable module i82365.o
was causing the machine to lock up when it tried to look for a cardbus
controller. See the PCMCIA
HOWTO doc for more info on this problem; it diagnoses it as an IRQ
scanning issue.
For this part, I had to rely on Windows NT to get some information to
fix this. Windows 95 should do the trick too, as well as some system diagnostic
tools, although I haven't found any that give cardbus controller information
(anyone know of any?). The Dell Diagnostic diskette that ships with the
Inspiron may be helpful, I haven't tried it.
In WinNT, Start Menu -> Control Panel -> PCMCIA
will display some helpful information. I was able to find out the following:
-
My Texas Instruments PCI 1131 cardbus controller (i82365 compat) uses:
I/O port: 3E0-3E1
Memory Range: D0000-D3FFF
-
My Viking Components 56k Modem uses:
IRQ 3
I/O port: 2F8-2FF
Great! Now to tell Red Hat's PCMCIA services how to detect my cardbus controller
and devices properly...
I edited /etc/sysconfig/pcmcia to read:
PCMCIA=yes
PCIC=i82365
PCIC_OPTS="irq_list=3"
CORE_OPTS=
CARDMGR_OPTS=
The third line tells the i82365.o loadable module to scan only IRQ 3 (for
my modem), thus avoiding potential conflicts.
I also edited /etc/pcmcia/config.opts to look like:
include port 0x200-0x3ff, memory 0xd8000-0xd4fff
exclude irq 1
exclude irq 2
exclude irq 8
exclude irq 12
exclude irq 13
exclude irq 14
exclude irq 15
Basically, I took a look at /proc/interrupts and whatever IRQs were there,
I excluded. Obviously, you will have to do the same poking around and figure
out which values work for your system configuration.
The next startup executed properly; my modem was detected as /dev/cua1.
I tested it, and all was well in the world. Except for a strange message
in /var/log/messages:
kernel: cs: warning: no high memory space available!
kernel: cs: memory probe 0x0d0000-0x0d4fff: clean.
Why it isn't detecting the high memory space taken up by the controller,
I dunno. (Ideas, anyone?) |
PCMCIA - Part 2: The Network Card
I also have a Linksys Combo Ethernet card. Note that before trying
to get PCMCIA services to detect and initialize drivers for the hardware,
you should FIRST edit the /etc/pcmcia/network.opts file to specify the
usual TCP/IP information for this interface; most importantly: IP address,
subnet mask, broadcast address, gateway (if any), DNS servers (if any).
There is also some stuff for IPX, but I personally have no use for that.
WinNT reports that my Ethernet card uses:
The first thing I tried was to add IRQ 10 to /etc/sysconfig/pcmcia, so
the third line now reads:
PCIC_OPTS="irq_list=3, 10"
But no such luck-- it would freeze when trying to probe that IRQ. I had
to use one of the workarounds above to get back into the system.
So WinNT could assign IRQ 10 to my network card, but Linux PCMCIA couldn't.
Why? I have no clue.
Taking a look at /proc/interrupts, I found:
0: 139487 timer
1: 6652 keyboard
2: 0 cascade
3: 39466 + serial
5: 1 sound blaster
8: 1 + rtc
12: 57073 PS/2 Mouse
13: 1 math error
14: 9512 + ide0
15: 0 + ide1
Okay, when desperate, use trial and error. 4, 6, 7, 9, 10 and 11 are not
seen by Linux as being in use. 10, however, locks up the computer, so it's
no good. That leaves five others to try.
You can try out each IRQ without rebooting your computer. Issue the
following commands at the shell prompt:
cd /etc/rc.d/init.d
./pcmcia stop
That kills all PCMCIA services. Now, edit /etc/sysconfig/pcmcia to test
the IRQ of your choice. To start up the services again at the shell prompt,
type:
cd /etc/rc.d/init.d
./pcmcia start
Messages will tell you right away whether the IRQ you are trying works
or not.
For me, IRQs 4, 7 and 9 worked. 6 and 11 did NOT; my guess is that they
are in use for something although /proc/interrupts doesn't report them
as such.
Thanks to Harvey Platter for dropping me a helpful note about IRQ 6:
this seems to be used by the floppy drive. (The Inspiron allows the floppy
drive to be connected via parellel port)
The dmesg output is as follows for successful card loading:
loading device 'eth0'...
eth0: NE2000 Compatible: port 0x300, irq 4, hw_addr 00:E0:98:02:09:03
Previously, I had thought the BIOS assigns resources (IO ports, IRQs) for
PCMCIA devices upon booting the computer. I guess this is incorrect, though,
since 4, 7, and 9 all work. It would seem that resource allocation is up
to the particular softare you use to implement PCMCIA.
Interestingly, Paul Rushing had no problems whatsoever with his RH5.2
installation and PCMCIA devices. He booted from the CD-ROM, selected "no
PCMCIA support during installation" and edited /etc/sysconfig/pcmcia to
read PCMCIA=yes. His two cards, a Linksys 10/100 and Psion Dacom 56k modem,
detected without having to fudge with IRQs and addresses. |
X Windows
To configure X Windows to run on your machine, you need to tell X what
video card and monitor you have. Based on your video card selection, it
will pick an appropriate "X Server," the main component for running X Windows.
Your monitor settings will ensure that you get the proper resolution modes
and colors.
Laptops complicate things.
XFree86 3.3.2 doesn't come packaged with an X server that works with
my NeoMagic card. (Not yet, anyway-- I've read things that suggest it's
in development) It picks the plain SVGA one by default, and that comes
up in dinky 320x200 mode. Definitely not acceptable.
There is some information floating around the Internet about how to
get a Linux X server for NeoMagic cards. On his
web page, Jeff Shorey posted an X server with an implementation that
uses the XFree86 link kit; he was able to get:
-
800x600x8colors
-
800x600x16colors
-
1024x768x8 (with the right tweaking to the XF86Config file)
I tried compiling his server under FreeBSD and got weird results: a 800x600
screen area in 1024x768 screen mode (X Windows appeared in the top left
corner off the display). Hmmmm. Better, but not great.
Happily, Red Hat recently released a binary-only X server specifically
for NeoMagic cards! Hooray! You can get it at the Red
Hat ftp site. Follow the instructions in the README.neomagic file,
and it works perfectly. If you are installing Red Hat 5.2, the NeoMagic
X Server should come with it.
By default, running "startx" gives you 1024x768x8colors. You can fool
with XF86Config if you like, but to get 16 colors from the command line,
simply type:
startx -- -bpp 16
Projector Displays: a fellow named Robert DuCharme asked about
problems he was having using X with a projector display, then discovered the answer
himself. If you're having trouble getting a projector display to work with X,
he suggests finding these lines and un-commenting them:
# Option "intern_disp"
# Option "extern_disp"
|
Configuring Sound
I lost interest in games abou two years ago, so sound wasn't high on
my list of priorities. But I've finally gotten around to exploring the
Linux sound drivers, so here's what I've found.
If you installed RH5.1/5.2, or if you ran the sndconfig utility, you
probably got the generic Soundblaster Pro emulation to work. On my machine,
this produced only 8 bit sound, and my speakers would squawk loudly if
a program such as RealAudio Player tried to produce 16 bit output.
My Inspiron 3200 has a Crystal 4237B sound card, which works with the
CS4232 loadable sound module. Use this instead of the Soundblaster/SBPro
module. I dug around, and as far as I can tell (could be wrong), the CS4232
module is hard-coded with configuration values. That means you can't just
edit a config file; you need to do some re-compiling.
IMPORTANT: Unless you know what you're doing, you can cripple your system
if compile a kernel, install it incorrectly and fail to take measures to
insure you can boot an old kernel. Be careful. That said, here we go.
-
Go into the BIOS setup. Under "Audio", turn off PlugNPlay. You should see
some options appear for SB IO Address, IRQ, 1st and 2nd DMA Channels. Adjust
if necessary. Then write them down. Then boot Linux.
-
You'll need to install the Linux source code package. Consult the RH manual
or the Kernel-HOWTO document for instructions on doing this.
-
Run "make menuconfig" from /usr/src/linux. The generic kernel should come
with sound support as a loadable module. If it doesn't, change the sound
support option to modular instead of static. (If you do this, you will
need to recompile the whole kernel as per instructions in the Kernel-HOWTO.)
-
If it's already modular, great! De-select all the sound cards you don't
have-- SB, Turtle Beach, etc-- and leave:
-
Crystal 4232
-
FM Synthesizer Support
-
Generic FM Support
-
"/dev/dsp" and /dev/audio" support.
Further down the sound menu, there's a place to enter configuration values
for the CS4232 module. Enter the values you found in the BIOS. (Note that
the SB IO Address is NOT the same as "CS4232 audio I/O base." Leave that
as 530.)
-
Exit the config program, and save your changes.
-
If you changed sound support from static to modular, re-compile the whole
kernel; remember to do a "make modules" and "make modules_install" too.
Then you're done-- skip the next step.
-
If you didn't need to change sound support as above, it's simpler. Go into
/usr/src/linux/drivers/sound and type "make". This will build the module
file, sound.o. Copy sound.o to /lib/modules/2.x.x (where 2.x.x is your
Linux kernel version) and you're done. Reboot.
The RealAudio Plug-in for Netscape is a good way to test if 16-bit sound
is enabled. Download it, and find a RealAudio link on the Internet (www.npr.org
sometimes has good stuff). Stop the sound clip from playing, then go to
"Preferences" option on the menu. One of the things you can set is whether
to disable 16-bit sound (I think it's disabled by default). Take this off,
play the clip again and see if it works, or just squawks.
A cute trick I learned about: you can dump a wav file directly to the
sound device to play it. Wheeeeee. Just type:
cat test.wav > /dev/dsp
Raw audio files (.au) can be dumped to /dev/audio.
One last thing: I've been looking for a good sound application for Linux
to mix tracks and songs. If anyone's found one, I'd really appreciate an
e-mail about it. |
Dual Booting
I mentioned that there's a HOWTO
document on dual booting NT and Linux. It recommends that instead of
using LILO on your Master Boot Record (MBR), you use the NT OS Loader.
I like this method; it keeps things simple, so you don't add anything weird
to your MBR in case you want to easily remove Linux at a later date.
The HOWTO is basically self-explanatory with regard to the steps you
need to take to accomplish this. But here is a short overview of the process
anyway.
-
Install Linux and make a custom boot disk, as described in the
Installation
section above. Do NOT install LILO when asked.
-
Boot Linux. Edit /etc/lilo.conf to put LILO on the boot sector of your
Linux partition, rather than the MBR. Write the changes by running LILO.
-
Dump the boot sector of your Linux partition to a file (ex. bootsect.lnx)
using the "dd" program. Copy this to a disk or a FAT partition so NT can
read it in the next step.
-
Boot NT. Copy bootsect.lnx to your main NTFS partition. Edit C:\boot.ini
to tell NT OS Loader to use bootsect.lnx as a boot option; bootsect.lnx
has info on where the Linux partition starts on the physical drive.
-
Reboot. NT OS Loader will now have a menu entry for Linux.
Nice, huh?
Short Hint on Boot Utilities
I had a utility that came with FreeBSD to dual boot FreeBSD and Win
NT prior to getting Linux. This took over my Master Boot Record (MBR),
so after following the instructions described above, I had to go through
2 steps to boot Linux:
FreeBSD's Boot Utility -> Win NT Boot Loader -> Linux.
Here's an easy way to remove many boot utilities from the MBR (provided
they just write over the MBR and don't do anything weird). You need a bootable
DOS or Windows 95 disk and the FDISK utility. After you've booted with
the floppy, run:
fdisk /MBR
This will write a new copy of the MBR to the hard disk. The new MBR will
boot whichever partition is marked as "active." If you aren't sure what
that will boot, run fdisk without any parameters PRIOR to the above to
make sure that you have the appropriate partition marked as active. |
Mounting Other Partitions
I sometimes need to access files on my FAT partition. Doing this is
simple. Make a directory (for example, /dospart) and type the following
as root:
mount -t vfat /dev/hda5 /dospart
The "-t vfat" option specifies that the file system uses long filenames.
Without it, the names are converted into old-style 8.3 DOS filenames with
annoying ~1 appends and such.
The numbering scheme is not sequential for partitions if you have an
"extended DOS" type, like I do. Hence, /dev/hda1-/dev/hda4 describe "primary
DOS" types, and extended partitions start at /dev/hda5.
Be sure to unmount when done:
umount /dospart
or issue a graceful shutdown when you're ready to turn off the machine.
Otherwise, you risk corrupting the filesystem if any writes are pending |
Web Counter:
Back to Jeff's Home Page |