logo logo

Brexit Stolen Votes


BSD-PIE icon

BSD icon

Gnu icon

Linux icon





FreeBSD (& now NetBSD) Laptops - Install Tricks & Release Status

By Julian H. Stacey



Based on posting of 2007.06.12 to mobile @@

FreeBSD has progressively broken support for 5 of my older laptops. One needs massive time reading manuals etc, only then to fail anyway, getting beyond FreeBSD-4.11. (Only 1 modern laptop here takes FreeBSD-6.2).

FreeBSD-4.11 is nominally dead, yet on many older laptops is all that Works. Newcomers may give up after FreeBSD-6.2 & dump FreeBSD, not knowing to use FreeBSD-4.11 with working { ATA access, Geom / FDISK, PCMCIA (ether & cdrom), PLIP }.

Developers may use newer laptops or towers, but support for older laptops should not be So damaged as now, many older laptop are still fine as office X terminals, UPS/PBX status monitors etc.

Suggestion: A colossal slow_and_safe option in loader.conf (like a BIOS has), so at least one can install, then until it''s turned off, a grep at boot to mail root reporting machine was deliberately slowed to ensure install. Then installer can disable slow_and_safe and debug- edit on a working platform, not repetitively do 5 floppy installs typing screeds of "set" magic hopefully to loader.

I''m analysing broken-ness since FreeBSD-4.11, & documenting it here: Inc. URL to PLIP failure (where I hope to later try back porting FreeBSD-4.11 PLIP src to FreeBSD-6.2).

Trend / My opinion
FreeBSD in last few years has chased more functionality while breaking & abandoning some existing support. Others will have tried FreeBSD on some older laptops & given up, largely remained silent & left FreeBSD developers in blissful ignorance, thinking all is rosey in the garden. A visitor pointing at slugs eating the strawberries may not be popular, but if no one mentions it, damage persists.

Some old laptops still run OK, eg Julian Elischer''s 1999 Dell Inspiron runs fine on 2007.06 -current

Current status of some laptops may be found in FreeBSD laptop compatibility indexes


Manufacturer & Model FreeBSD Release No. & Date Name for my Kernel Config
  Acer Aspire 5741 FreeBSD-8.2 & 9.0 LapR
  ACi Mirage 8700M FreeBSD-4.11 Released 2005.01 LapA
Dell FreeBSD-4.11 Released 2005.01
NetBSD-3.1 released 2006.11.04,
FreeBSD 7.0-PRERELEASE Jan 2008
  Digital HiNote Ultra2000 FreeBSD-5.2.1 Released 2004.02,
FreeBSD 7.0BETA3-2007.11.25 Installed with Safe Mode= Boot Key 3
FreeBSD 7.0-PRERELEASE Jan 2008.
  Novatech-8355 FreeBSD-8.1-RC2, July 2010 LapO
  Toshiba Libretto FreeBSD-4.11 Released 2005.01 LapL
  Toshiba Satellite s5100-603 FreeBSD-6.2 Released 2007.01, & 8.2 LapS
  HP Pavilion dm3-1155ea FreeBSD-8.2 LapH

See Also



Normal content just: userconfig_script_load="YES"
Live Syntax To Loader
  • hint.acpi.0.disabled=1.
  • At first boot on new disc, you must use loader, & can''t till later edit /boot/loader.conf, so here is a list of syntax options (to be switched on by eg: set Earth=Mars.
  • Beware spelling mistakes as loader does not check & accepts junk, eg set earth=mars.
  • Below is sample syntax for /boot/loader.conf once installed.

Things That May Help Force Old Machines To Boot / Install

From Posting:
Which of those & other options should I add to "BootSafeKey" in /sys/boot/forth/beastie.4th to help a "Safe" boot ? Then I''ll send-pr a diff to extend chance of other older laptops booting. & will roll new floppies(*) & put up for ftp; (no problem, done releases before).
BootSafeKey in 7.0BETA3 /sys/boot/forth/beastie.4th:
dup bootsafekey @  = if
s" arch-i386" environment? if
s" acpi_load" unsetenv
s" 1" s" hint.acpi.0.disabled" setenv
s" 1" s" loader.acpi_disabled_by_user" setenv
s" 1" s" hint.apic.0.disabled" setenv
s" 0" s" hw.ata.ata_dma" setenv
s" 0" s" hw.ata.atapi_dma" setenv
s" 0" s" hw.ata.wc setenv
s" 0" s" hw.eisa_slots" setenv
s" 1" s" hint.kbdmux.0.disabled setenv
0 boot
dup bootverbosekey  @  = if
See Also "Man Tuning" available in 6.2-RELEASE.
  • beastie_disable="yes"
  • boot_verbose="yes"
  • verbose_loading="yes"
  • debug.bootverbose=1
  • hint.acpi.0.disabled="1"
    • Boot with acpi completely disabled.
    • Referenced by BootSafeKey
    • Set by /sys/boot/forth/beastie.4th:BootSafeKey
    • man 4 acpi -- Advanced Configuration and Power Management support
  • hw.acpi.disable_on_reboot=1
  • hw.acpi.reset_video=1
  • hw.acpi.verbose=1
  • loader.acpi_disabled_by_user=1
  • hint.apm.0.disabled="1"
    • Not referenced by BootSafeKey
    • Found on host=fire with kenv.
  • hint.apic.0.disabled="1"
  • hw.ata.ata_dma=0
    • Referenced by BootSafeKey
    • ATA disk DMA mode control
    • Needed by Digital HiNote Ultra2000
    • Needed by Dell Latitude XPi P133ST (I have confirmed & so previously also said) Ian Freilich , 07.10.2004
    • Referenced by BootSafeKey
    • Referenced by 6.2-RELEASE files:
  • hw.ata.atapi_dma=0
    • Referenced by BootSafeKey
    • ATAPI device DMA mode control, for ATA CD & DVD
    • Referenced by BootSafeKey
    • Setting this to 1 might improve music play back direct from physical media. Setting it might also reduce the chance of accesing, inc. booting from, any cd drive that might be non compliant.
  • hw.ata.wc=0
  • hw.eisa_slots=0
  • hint.kbdmux.0.disabled=1
  • hw.pci.enable_io_modes=0
    • Not referenced by BootSafeKey
    • Use if boot hangs after AGP
  • hw.pcic.ignore_pci=1
    • Not referenced by BootSafeKey
    • ignore pci cardbus bridges
  • hw.pcic.intr_path="1"
    • Not referenced by BootSafeKey
    • Normally interrupts for cardbus bridges are routed over the PCI bus (2). However, some laptops will hang when using PCI interrupts due to bugs in this code. Those bugs can be worked around by forcing ISA interrupts (1).
    • Warner wrote: Libretto-50 and Libretto-70 machines have only ISA PCMCIA bridges
    • Needed by host=lapa
  • hw.pcic.irq="0"
    • Not referenced by BootSafeKey
    • Override IRQ configured by system for all pcic devices
    • Needed by host=lapa
  • hw.pcic.pd6729_intr_path
    • Not referenced by BootSafeKey
    • Determine interrupt path or method for Cirrus Logic PD6729 and similar I/O space based pcmcia bridge. Chips on a PCI expansion card need a value of 2, while chips installed in a laptop need a value of 1 (which is also the default). This is similar to hw.pcic.intr_path, but separate so that it can default to ISA when intr_path defaults to PCI.
  • hw.pcic.ti12xx_enable_pci_clock
    • Not referenced by BootSafeKey
    • Some TI-12xx parts need to have the PCI clock enabled. These designs do not provide a clock themselves. Most of the reference boards have the required oscillator parts, so the number of machines that needs this to be set is vanishingly small.
  • machdep.bios.pci=disable
  • machdep.bios.pnp=disable
  • machdep.pccard.pcic_irq="0"

Extra Rescue Hooks

For a better chance of booting an old laptop, try this, eg
mdconfig -a -t vnode -f /pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/7.0-BETA4-i386-disc1.iso
mount -t cd9660 -r  /dev/vn0c /mnt
cd /pub/FreeBSD/releases/i386/7.0-RELEASE
(cd /mnt ; tar cf - . ) | tar xf - 
umount /mnt
mdconfig -d -u 0
cd floppies
mdconfig -a -t vnode -f boot.flp
mount /dev/md0 /mnt
cat > /mnt/julian << EOF
set boot_verbose="yes"
set debug.bootverbose=1
set hint.acpi.0.disabled="1"
set hw.acpi.disable_on_reboot=1
set hw.acpi.verbose=1
set loader.acpi_disabled_by_user=1
set verbose_loading="yes"
# Ethernet ?
set if_dc_load="YES"
set hint.apic.0.disabled="1"
set hint.apm.0.disabled="1"
set hw.ata.ata_dma=0
set hw.ata.atapi_dma=0
set hw.ata.wc=0
set hw.eisa_slots=0
set hw.pci.enable_io_modes=0
set hw.pcic.ignore_pci=1 
set hw.pcic.irq="0"
set hw.pcic.pd6729_intr_path
# Debug non working pccard slot:
set hw.cardbus.cis_debug=1
set hw.cardbus.debug=1
set hw.cbb.debug=1
set hw.pccard.cis_debug=1
set hw.pccard.debug=1
set machdep.bios.pci=disable
set machdep.bios.pnp=disable
set machdep.pccard.pcic_irq="0"
umount /mnt
mdconfig -d -u 0
Boot target host with floppy,
select Escape to loader. Maybe with key 4 ?
include julian
boot -v

To allow USB keyboard in single user mode

set hint.atkbd.0.flags="0x1"

My Host Specific


with BIOS set to PIO=On # From Jim Mock mij @@
  • hw.pcic.intr_path="1"
  • hw.pcic.irq="0"





Test of wifi cards:
# if_acx_load="YES" # now in my kernel so not here
t1130_XP_sys.ko # man kldstat


First appeared in FreeBSD 5.0

Most (all?) drivers don''t probe for the hardware if you set the variable hint.[device].[instance].disabled="1". For example, to disable probing for p4tcc0, hint.p4tcc.0.disabled="1" in /boot/device.hints

From 6.1-src/src/sys/i386/conf:

# AVM A1 or AVM Fritz!Card options AVM_A1
host=park: Has added:"isa"
host=lapl for 4.10, not used on FreeBSD-4.11
# Reassign ep0 from default 5 which only intermittently works, stickily.


host=lapl 4.10
# The system boots with or without this file present
# di bt0
#       dmesg reports for 4.10-RELEASE LAPL kernel: No such device: bt0
# di ata1
#       dmesg reports for 4.10-RELEASE LAPL kernel: Invalid command or syntax.
# di aic0
#       dmesg reports for 4.10-RELEASE LAPL kernel: No such device: aic0
# di aha0
#       dmesg reports for 4.10-RELEASE LAPL kernel: No such device: aha0
# di adv0
#       dmesg reports for 4.10-RELEASE LAPL kernel: No such device: adv0

PLIP - IP on Parallel Port

Seems broken on FreeBSD-5 & 6 last know working on FreeBSD-4.11.
Link to thread on mail list.
Frozen copy
From owner-freebsd-hackers  @@ Sat Jun  9 23:21:12 2007
X-Original-To: hackers  @@
Delivered-To: freebsd-hackers  @@  FreeBSD.ORG
Message-Id: <200706091602.l59G2psm042173  @@  fire>
To: ghozzy <ghozzy  @@>
From: "Julian H. Stacey" <jhs  @@>
In-reply-to: Your message of "Fri, 08 Jun 2007 22:59:26 +0400."
<a066eefc0706081159t1929b615j4391d91f48df4acc  @@>
Date: Sat, 09 Jun 2007 18:02:51 +0200
Cc: jhs  @@, hackers  @@
Subject: Re: FreeBSD-6.2 & PLIP - does it still work ?
> From:  ghozzy <ghozzy  @@>
> Date:  Fri, 8 Jun 2007 22:59:26 +0400
> Message-id: \
    <a066eefc0706081159t1929b615j4391d91f48df4acc \
ghozzy wrote:
> On 6/8/07, Julian H. Stacey <jhs  @@> wrote:
> > Anyone seen PLIP working on FreeBSD-6.2 release ?
> > I''ve tested my PLIP cable between 2 x 4.11 boxes.  I''m trying to
> > install a laptop with 6.2 boot flops (with failed pcmcia/ether
> > recognition) I cant get that laptop & a 6.2 tower to talk to each
> > other.  Neither will those 2 x 6.2 talk to 4.11.  I haven''t quite
> > done all exhaustive tests, (but am exhausted & seems worth asking :-)
> >
> > Julian
> It seems to me PLIP has been broken somewhere after branching RELENG_5.
> Between two RELENG_4 it worked fine (used from about 4.3 to latest 4.11).
> If any end was using RELENG_5 or RELENG_6 it didn''t work any more.
> I thought first, maybe there were some incompatible changes in protocol
> or something, i tried to use the same FreeBSD versions on two ends
> (both RELENG_5 or both RELENG_6), but that was not the case.
> My tests were not exhaustive either, but i actually tried to fire it up again
> numerous times, enough for my own assurance.
> If anybody could shed some light, i would be curious.
> I could also make tests if needed.
Thanks for confirmation ghozzy,
Can anyone say eg "No it works for me" ?
Or now we know PL-IP is broken, Options:
- Post net  @@  freebsd for specialists,
- Post mobile  @@  freebsd (where it most hurts, as PLIP really needed when
pcmcia slots not recognised on older laptops so cant install FreeBSD).
- Send-pr for manual to declare plip broken.
- Read & compare source of 4.11 & 6.2 Release src/sys/dev/ppbus/if_plip.c
(interesting, but short of time, & others who''ve hacked / broken
it might fix quicker ?)
I viewed with /usr/ports/textproc/mgdiff & diff not that big, eg
diff -c 4.11/usr/src/sys/dev/ppbus/if_plip.c.~1~ \
6.1/usr/src/sys/dev/ppbus/if_plip.c.~1~ | wc
481    1466   11651

See Also Dec 2007 ire 7.0BETA4 in base of

SLIP - Serial Line Internet Protocol

After an install using SLIP with FreeBSD-7.0BETA4,
& subsequent reboot
ifconfig -a shows no sl0 interface
(although /etc/rc.conf does contain eg This problem or fix needs to become a send-pr
pro tem I have
/etc/start_if.sl0 with /sbin/slattach -a -h -l -s 9600 /dev/cuad0
& /etc/rc.local with
    sleep 5 # next ifconfig does not work without some sort of sleep 
    ifconfig sl0


Problem Reports for
  • network.c Send-PR Sent for Installer to Remove -h from slattach. as some cables do not support it.
  • Send-PR Soon for /boot/loader.conf: Add for Safe: hw.ata.ata_dma=0 & also ..... ?
  • Send-PR Soon for PLIP:
  • Send-PR Sent Remove CFLAGS += -pipe from, (Ok this does not fix FreeBSD failing to install but it Does prevent old laptops consuming excessive RAM to recompile).


FreeBSD- 7 PreRelease is sticky playing music (ie music hangs periodically) on at least 2 old laptops: lapd & lapn, this might be to do with a bad lock in moused (Kris diagnosed that) Heres a channel.h patch I wrote (failed to make a difference though)

Berklix.Net Computer Associates Domains Apache: Web Server FreeBSD: Operating System Brexit Stolen Votes