Translate
IBU
Consol
|
|
FreeBSD
(& now NetBSD) Laptops - Install
Tricks & Release Status
Index
Based on
posting of 2007.06.12 to mobile @@ freebsd.org
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:
http://www.berklix.org/~jhs/hardware/laptops/ 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
Generic
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:
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:
sbin/atacontrol/atacontrol.c
share/man/man4/ata.4
sys/boot/forth/beastie.4th
sys/dev/aic7xxx/aic79xx.c
sys/dev/aic7xxx/aic79xx.h
sys/dev/aic7xxx/aic79xx_inline.h
sys/dev/aic7xxx/aic7xxx.c
sys/dev/aic7xxx/aic7xxx.h
sys/dev/aic7xxx/aic7xxx_inline.h
sys/dev/amr/amr.c
sys/dev/ata/ata-all.c
sys/dev/ata/ata-all.h
sys/dev/ata/ata-chipset.c
sys/dev/ata/ata-disk.c
sys/dev/ata/ata-dma.c
sys/dev/ata/ata-lowlevel.c
sys/dev/ata/ata-pci.c
sys/dev/ata/ata-pci.h
sys/dev/ata/ata-raid.c
sys/dev/ata/atapi-cam.c
sys/dev/ata/atapi-cd.c
sys/dev/ata/atapi-fd.c
sys/dev/ips/ips.c
sys/dev/ips/ips.h
sys/dev/ips/ips_commands.c
sys/dev/ips/ips_disk.c
sys/dev/isp/isp.c
sys/dev/isp/ispreg.h
sys/dev/isp/ispvar.h
sys/dev/iwi/if_iwi.c
sys/dev/iwi/if_iwivar.h
sys/dev/ral/if_ral.c
sys/dev/ral/if_ralvar.h
sys/dev/sound/pci/maestro3.c
sys/dev/sym/sym_hipd.c
sys/dev/twe/twe_freebsd.c
sys/gnu/dev/sound/pci/maestro3_reg.h
sys/pci/if_ti.c
sys/pci/if_tireg.h
sys/sys/ata.h
tools/tools/sysdoc/tunables.mdoc
-
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"
EOF
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 @@
geekhouse.net
- hw.pcic.intr_path="1"
- hw.pcic.irq="0"
loader.conf
Test of wifi cards:
# if_acx_load="YES" # now in my kernel so not here
if_ndis_load="YES"
if_t1130_XP_sys_load="YES"
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:
hint.isic.0.at="isa"
hint.isic.0.port="0x340"
hint.isic.0.irq="5"
hint.isic.0.flags="4"
host= lapl for 4.10, not used on FreeBSD-4.11
# Reassign ep0 from default 5 which only intermittently works, stickily.
hint.ep.0.irq="11"
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
q
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 @@ freebsd.org Sat Jun 9 23:21:12 2007
X-Original-To: hackers @@ freebsd.org
Delivered-To: freebsd-hackers @@ FreeBSD.ORG
Message-Id: <200706091602.l59G2psm042173 @@ fire>
To: ghozzy <ghozzy @@ gmail.com>
From: "Julian H. Stacey" <jhs @@ berklix.org>
In-reply-to: Your message of "Fri, 08 Jun 2007 22:59:26 +0400."
<a066eefc0706081159t1929b615j4391d91f48df4acc @@ mail.gmail.com>
Date: Sat, 09 Jun 2007 18:02:51 +0200
Cc: jhs @@ berklix.org, hackers @@ freebsd.org
Subject: Re: FreeBSD-6.2 & PLIP - does it still work ?
Reference:
> From: ghozzy <ghozzy @@ gmail.com>
> Date: Fri, 8 Jun 2007 22:59:26 +0400
> Message-id: \
<a066eefc0706081159t1929b615j4391d91f48df4acc \
@@ mail.gmail.com>
ghozzy wrote:
> On 6/8/07, Julian H. Stacey <jhs @@ berklix.org> 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
http://www.berklix.com/~jhs/src/bsd/fixes/FreeBSD/src/gen/share/man/man4/lp.4.REL=ALL.diff
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
/etc/start_if.sl0
sleep 5 # next ifconfig does not work without some sort of sleep
ifconfig sl0 10.0.0.1 10.0.0.2
Problem Reports for FreeBSD.org
- 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 sys.mk, (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)
|
|