Date: Wed, 18 Apr 2007 15:30:49 +1000 (EST) From: Ian Smith <smithi@nimnet.asn.au> To: Julian Stacey <jhs@berklix.org> Cc: FreeBSD-mobile@freebsd.org Subject: Re: ad driver fails on 6.2, OK on 4.11 with Dell Latitude XPi P133ST Message-ID: <Pine.BSF.3.96.1070418143052.11322A-100000@gaia.nimnet.asn.au> In-Reply-To: <200704171643.l3HGh1Tg048726@fire.jhs.private>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 17 Apr 2007 18:43:01 +0200, Julian Stacey wrote: > FreeBSD-mobile folks, Advice please for a Dell Latitude XPi P133ST : > Summary: 2 problems: > - ad driver fails on 6.2, OK on 4.11 > - MBR problem ? > > Laptop runs 4.11-RELEASE OK. ( Installed a year back when I > installed the MBR ready with space for FreeBSD-6 later). > > I have this fdisk layout > F1 The data for partition 1 is: sysid 165,(FreeBSD/NetBSD/386BSD) > 4.11 start 63, size 1228689 (599 Meg), flag 80 (active) > beg: cyl 0/ head 1/ sector 1; end: cyl 1023/ head 15/ sector 63 > F2 The data for partition 2 is: sysid 165,(FreeBSD/NetBSD/386BSD) > 6.2 start 1228752, size 1228689 (599 Meg), flag 80 (active) > beg: cyl 195/ head 0/ sector 1; end: cyl 389/ head 14/ sector 63 > F3 The data for partition 3 is: sysid 165,(FreeBSD/NetBSD/386BSD) > /usr1 start 2457441, size 5550111 (2710 Meg), flag 80 (active) > beg: cyl 389/ head 15/ sector 1; end: cyl 775/ head 15/ sector 63 Firstly, it looks weird having flag 80 (active) on more than one slice; I'm not sure what the MBR boot manager would make of that (as it usually offers the currently marked active slice as default). Also the break between slices 2 and 3 looks possibly unusual, F3 not starting on a (CHS) head 0 sector 1; this might be ok but it might explain 6.2 install fdisk wanting to start your slice 3 a bit later on. > I NFS'd a 6.2 on, but on reboot, F2 just beeped; I suspected a > corrupt MBR, so to test, on 4.11 did : > cd /usr/src; make install > dd if=/dev/ad0c of=/dev/ad1c Is ad1 a separate drive you haven't mentioned? and ad0c doesn't make sense to me anyway (ad0s1c maybe). What were you trying to do here? > disklabel -B /dev/ad0s2 > reboot So you installed 4.11 bootstrap code on your 6.2 slice? > F2 just beeped again. (same beep as for an invalid key) Mmm. Sounds like you want a new MBR with the right data, and I'd suggest using 6.2 to fix that, not 4.11 .. see below. > Restored F2 back to 6.2 using NFS + AMD from another 6.2-RELEASE box & > setenv DESTDIR /host/test/a > grep "CFLAGS /etc/make.conf # "CFLAGS += -march=i586 > cd /usr/src;make clean all install # & install kernel etc > F2 still just beeped. Can't comment on that procedure. > Booted 6.2-RELEASE floppies, > 6.2 kernel saw nothing on disc ! Offered ito install on whole disc. > I told it to to use same 1228689 for F1 & 1228689 for F2 as above, > ( & it came up with 5552064 not 5550111 ) for F3. I accepted & > aloc'd F2 with / & var & usr & no swap, & F3 mainly for /usr1 with > 300M swap at end). I told it to set normal FreeSBD boot manager > etc, then it failed to write with: > ad0 timeout READ_DMA timed out Sure your BIOS hasn't got 'virus protection' MBR writes prohibited? > Reboot ... No sign 6.2 has ever written disc. F2 6.2 is intact > with data I'd expected wiped if 6.2 boot from floppy + newfs had succeeded. > Is 6.2 ad driver too ambitious during install ? Needs more > conservative sysctls to avoid failures to upgrade/ install ? > > F1 4.11 is intact so I can easily run tests anyone might suggest. I ran > dd if=/dev/ad0 of=/dev/null > to see if any block errors. - None reported. > 8007552+0 records 4099866624 bytes (1633191 bytes/sec) That's some good news :) > About the only other thing I can think of is somehow within the floppy install > trying to add the equivalent of: > /boot/loader.conf > hw.ata.ata_dma="0" > hw.ata.wc="0" > Though I dont believe that will solve the F2 beep. I tend to doubt that this is really a dma (or for that matter, ata) problem; it might be spurious to the problem of having a crook MBR or your 6.2 boot blocks mangled. If it were me, I think I'd use 6.2 sysinstall to a) preserve your 4.11 slice, of course; b) delete slices 2 and 3 completely; then c) allocate slice 2 afresh (600MB is a bit teensy for 6.2, I'd have thought, and it might be safer in this present context to put your swap on ad0s2 also) and partition/label (for now) just slice 2, then install 6.2 minimally. And of course install the standard FreeBSD boot manager from 6.2; that should leave your 4.11 slice alone ok, but properly install 6.2 boot blocks in s2, and a fresh good MBR. You can easily allocate the remaining space for your third /usr1 slice later, once happily installed .. my maxim with sysinstall is if you just do one thing at a time with it, then it'll probably work out ok :) Good luck, Ian > ad0: 3909MB <TOSHIBA MK4006MAV> [7944/16/63] at ata0-master WDMA2
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.1070418143052.11322A-100000>