FreeBSD on a laptop
This article was written by "Chris Silva"
<bitsurfr@enteract.com> and outlines how he installed FreeBSD on a Compaq Armada
1530DM without using PAO.
The article
Well – after some time, and many installs I wanted my honey of an OS,
FreeBSD, to be on my lapdog… I would be damned if I would allow Gates to nab me ‘dog…
I
started with a 3Com 3CCE589ET and my ‘dog… I wantend FBSD on it badly. So I installed…
The default, surely didn’t work – so I searched the FreeBSd site… I came across PAO,
wich is mobile computing… That was dandy if you wanted to stay with FBSD 3.3-RELEASE,
but I was looking at 3.4 but just a few weeks away…
Granted, PAO did what it was ‘sposed to do, and I was happy… But, I wanted more…
So, I searched… I did’nt find the info I was hoping for (at least not right off the bat)
so – I thought, lets try NetBSD, OpenBSD, and even Mandrake…
Well, Mandrake blew the hell up… Right out of the water… NetBSD actually went a bit
further, but still blew up… So – I opted fer OpenBSD… The install was a bit much at
first. But after I got the hang of it (10 min.) it was rather refreshing to do something
differant.
OpenBSD was just dandy – I got a config for XFree from a Linux site (name withheld) and
I was off and running…
But, I still missed my fav-OS… I revisited PAO, still no update, then I yacked to my
friends on #FreeBSD/UnderNet… I spoke with Acme, he told me how FBSD should look under
the correct conditions. I jotted down his ideas, and spyed his config…
From that I got a basic idea of what ought to be done and what to look for. He
suggested I compile the PCCARD kernel, which I did, and still, nothing… We chated at
length (Thanks Acme) and still he lent more ideas where to look… It was time for me to
do this on my own…
After a few kernel compiles and watching the dmesg, I deceided to look closely at /etc
– even more so the /etc/pccard.conf.sample file (which I failed to see before). This was
the break I needed.
Here is the stuff I kept:
# Sample PCCARD configuration file # # Removing all IRQ conflicts from this file can't be done because of some # IRQ-selfish PC-cards. So if you want to use some of these cards in # your machine, you will be forced to modify their IRQ parameters from # the following list. # # IRQ == 0 means "allocate free IRQ from IRQ pool" # IRQ == 16 means "do not use IRQ (e.g. PIO mode)" # # $FreeBSD: src/etc/pccard.conf.sample,v 1.24.2.15 1999/11/16 17:48:38 roger Exp $ # Generally available IO ports io 0x240-0x360 # Generally available IRQs (Built-in sound-card owners remove 5) irq 3 5 10 11 13 15 # Available memory slots memory 0xd4000 96k # 3Com Megahertz 3CCE589E* 10 Mbps LAN PC Card card "3Com" "Megahertz 589E" config 0x1 "ep0" ? insert echo 3Com Megahertz Ethernet card inserted insert /etc/pccard_ether ep0 remove echo 3Com Megahertz Ethernet card removed remove /sbin/ifconfig ep0 delete
After that I moded my /etc/rc.conf to reflect this:
# This file now contains just the overrides from /etc/defaults/rc.conf # please make all changes to this file. # -- sysinstall generated deltas -- # hostname="laptop.makeworld.com" linux_enable="YES" #moused_port="/dev/psm0" #moused_enable="YES" defaultrouter="10.3.1.1" pccard_enable="YES" pccard_mem="DEFAULT" pccard_ifconfig="inet 10.3.1.22 netmask 255.0.0.0" pccardd_flags="-i 10" rpc_statd_enable="NO" portmap_enable="NO" clear_tmp_enable="YES"
The PCCARD Configuration
After a reboot, I preform a PCCARDC DUMPCIS to show me the specs of the card:
Configuration data for card in slot 0 Tuple #1, code = 0x1 (Common memory descriptor), length = 2 000: 00 ff Common memory device information: Device number 1, type No device, WPS = OFF Speed = No speed, Memory block size = reserved, 32 units Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3 000: 43 02 ff Attribute memory device information: Device number 1, type EEPROM, WPS = OFF Speed = 150nS, Memory block size = 8Kb, 1 units Tuple #3, code = 0x20 (Manufacturer ID), length = 4 000: 01 01 89 05 PCMCIA ID = 0x101, OEM ID = 0x589 Tuple #4, code = 0x21 (Functional ID), length = 2 000: 06 00 Network/LAN adapter Tuple #5, code = 0x15 (Version 1 info), length = 46 000: 04 01 33 43 6f 6d 00 4d 65 67 61 68 65 72 74 7a 010: 20 35 38 39 45 00 54 50 2f 42 4e 43 20 4c 41 4e 020: 20 50 43 20 43 61 72 64 00 30 30 35 00 ff Version = 4.1, Manuf = [3Com],card vers = [Megahertz 589E] Addit. info = [TP/BNC LAN PC Card],[005] Tuple #6, code = 0x1a (Configuration map), length = 6 000: 02 03 00 00 01 03 Reg len = 3, config register addr = 0x10000, last config = 0x3 Registers: XX------ Tuple #7, code = 0x1b (Configuration entry), length = 20 000: c1 01 1d 71 55 35 55 54 e0 72 5d 64 30 ff ff 80 010: 80 80 80 0f Config index = 0x1(default) Interface byte = 0x1 (I/O) Vcc pwr: Nominal operating supply voltage: 5 x 1V Max current average over 1 second: 3 x 10mA Max current average over 10 ms: 5 x 10mA Power down supply current: 5 x 1mA Wait scale Speed = 7.0 x 100 ns RDY/BSY scale Speed = 7.0 x 100 ns Card decodes 18 address lines, full 8/16 Bit I/O IRQ modes: Level, Pulse IRQs: IOCK 1 4 5 6 8 10 11 12 14 Tuple #8, code = 0x1b (Configuration entry), length = 7 000: 03 01 71 55 26 26 54 Config index = 0x3 Vcc pwr: Nominal operating supply voltage: 5 x 1V Max current average over 1 second: 2 x 100mA Max current average over 10 ms: 2 x 100mA Power down supply current: 5 x 1mA Tuple #9, code = 0x19 (JEDEC descr for attribute memory), length = 3 000: 00 00 ff Tuple #10, code = 0x14 (No link), length = 0 Tuple #11, code = 0x10 (Checksum), length = 5 000: 8f ff 7a 00 00 Checksum from offset -113, length 122, value is 0x0
In any event – this got the lapdog running, and I have been happy since!!!