|Subject:||ad driver fails on 6.2, OK on 4.11 with Dell Latitude XPi P133ST|
|From:||Julian H. Stacey (jh...@tower.berklix.net)|
|Date:||Apr 19, 2007 3:17:24 pm|
Ian Smith wrote:
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).
Thanks ! Hadn't spotted that. Looks bad. Worse as now I can't repeat this, now I have (again from 4.11)
sysid 165,(FreeBSD/NetBSD/386BSD) start 63, size 1228689 (599 Meg), flag 80 (active) beg: cyl 0/ head 1/ sector 1; end: cyl 1023/ head 15/ sector 63 The data for partition 2 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 1228752, size 1228689 (599 Meg), flag 0 beg: cyl 195/ head 0/ sector 1; end: cyl 389/ head 14/ sector 63 The data for partition 3 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 2457441, size 5550111 (2710 Meg), flag 0 beg: cyl 389/ head 15/ sector 1; end: cyl 775/ head 15/ sector 63 The data for partition 4 is: <UNUSED>
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.
Yes. Not too worried about F3 though, not bootable, just space.
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?
Sorry, my typo. I meant dd if=/dev/ad0s0c of=/dev/ad0s1c
disklabel -B /dev/ad0s2 reboot
So you installed 4.11 bootstrap code on your 6.2 slice?
Yes. I was NFS'd. Laptop only with 4.11 bootable from hard disc. OK could have tried floppy, but though that was dead (not so). Point taken though, if changes between 4 & 6 ...
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?
No, but did discover Replicator SCSI & Replicator Network & turned both off.
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 :)
Yes, In fact now Ive seen 6.2 can boot on this laptop (not all laptops I've had could boot some 5.x though they could do 4.x)) I'll be even more drastic, & wipe the entire disc & lay down a new MBR from 6.2 boot flops. ( It'll have to wait a week though. )
Thanks ! Julian