Re: yet more TP 600E fun...
Ok I just tried some other mods... the first was to hard-wire disk0 to be bios device 0x8b. no-go. The second was to patch to 'continue' if it missed a probe, and to limit the probe to the first 0x10 entries... for example: 0x00-0x0f and 0x80-0x8f. How is it that the old boot code works? What is it doing differently, is 0x8b perhaps not the "real" bios boot device unit? -- David Cross | email: [EMAIL PROTECTED] Systems Administrator/Research Programmer | Web: http://www.cs.rpi.edu/~crossd Rensselaer Polytechnic Institute, | Ph: 518.276.2860 Department of Computer Science| Fax: 518.276.4033 I speak only for myself. | WinNT:Linux::Linux:FreeBSD To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: yet more TP 600E fun...
I modified the biosdisk.c code as follows (first part of function) for (unit=0;unitbi_bios_dev) break; if ((unit == nbdinfo ) && (nbdinfo < MAXBDDEV) ) { unit=initial_bootinfo->bi_bios_dev; bdinfo[nbdinfo].bd_unit=unit; bdinfo[nbdinfo].bd_flags=(unit <0x80) ? BD_FLOPPY : 0; printf("Probiobing for bios disk 0x%02x\n", unit); /* I did that to make sure my code was being run*/ if (!bd_int13probe(&bdinfo[nbdinfo])) return 0; printf ("BIOS drive %c is disk%d\n", ...); nbdinfo++; } return 0; } /*end of function */ With these mods it will not find the "0x8b" device, event though the "probing got bios disk..." does indeed print. Suggestions? -- David Cross | email: [EMAIL PROTECTED] Systems Administrator/Research Programmer | Web: http://www.cs.rpi.edu/~crossd Rensselaer Polytechnic Institute, | Ph: 518.276.2860 Department of Computer Science| Fax: 518.276.4033 I speak only for myself. | WinNT:Linux::Linux:FreeBSD To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: yet more TP 600E fun...
> > I'd be more than happy to do the pestering if some one could write down > a detailed description of exactly how the TP's BIOS is non-compliant. > I don't know enough about the boot process and BIOS to write such a > description. It's expected that the BIOS numbers disk units sequentially; floppies from 0 upwards, fixed-disk devices from 0x80 upwards. The loader searches upwards from 0 and from 0x80 until it fails to find a unit and stops there. It doesn't search all of the unit numbers because many BIOS implementations seem to wrap, eg. you may find that unit 0x90 is the same as unit 0x80. You can't be sure about where the wrap point will be, either. Normally, when you're booting an El Torito image, the virtual floppy is substituted for drive 0 (ie. you can't get at the real first floppy drive). I can see why IBM would move it elsewhere, but 0x8b is just about the most stupid place they could have put it. This is the code (in /sys/boot/i386/libi386/biosdisk.c) that probes for BIOS disk units. You try replacing the 'break' with 'continue' and see if it finds a device at 0x8b. If it does, let me know and I'll send you some more complete patches that will always probe the claimed boot device. static int bd_init(void) { int base, unit; /* sequence 0, 0x80 */ for (base = 0; base <= 0x80; base += 0x80) { for (unit = base; (nbdinfo < MAXBDDEV); unit++) { bdinfo[nbdinfo].bd_unit = unit; bdinfo[nbdinfo].bd_flags = (unit < 0x80) ? BD_FLOPPY : 0; /* XXX add EDD probes */ if (!bd_int13probe(&bdinfo[nbdinfo])) break; /* XXX we need "disk aliases" to make this simpler */ printf("BIOS drive %c: is disk%d\n", (unit < 0x80) ? ('A' + unit) : ('C' + unit - 0x80), nbdinfo); nbdinfo++; } } return(0); } > Tom > > > On Fri, 13 Aug 1999, Mike Smith wrote: > > > > I attempt to boot a CD off of the TP600E and I get the following errors: > > > > > > "Can't work out which disk we are booting from." > > > "Guessed BIOS device 0x8b not found by probes, defaulting to disk0:" > > > > > > Then whenever it attmpts to access "disk0:" it goes to the floppy drive. > > > > > > Suggestions? > > > > Known weirdness in the TP's BIOS not handled properly by the > > bootloader. I don't have immediate plans to do anything about this; > > you could try hacking the loader to accept the 0x8b value and see if > > that actually works. Or you could pester IBM to DTRT. > > > > -- > > \\ The mind's the standard \\ Mike Smith > > \\ of the man. \\ [EMAIL PROTECTED] > > \\-- Joseph Merrick \\ [EMAIL PROTECTED] > > > > > > > > > > To Unsubscribe: send mail to [EMAIL PROTECTED] > > with "unsubscribe freebsd-current" in the body of the message > > > > > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-current" in the body of the message > -- \\ The mind's the standard \\ Mike Smith \\ of the man. \\ [EMAIL PROTECTED] \\-- Joseph Merrick \\ [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: yet more TP 600E fun...
I'd be more than happy to do the pestering if some one could write down a detailed description of exactly how the TP's BIOS is non-compliant. I don't know enough about the boot process and BIOS to write such a description. Tom On Fri, 13 Aug 1999, Mike Smith wrote: > > I attempt to boot a CD off of the TP600E and I get the following errors: > > > > "Can't work out which disk we are booting from." > > "Guessed BIOS device 0x8b not found by probes, defaulting to disk0:" > > > > Then whenever it attmpts to access "disk0:" it goes to the floppy drive. > > > > Suggestions? > > Known weirdness in the TP's BIOS not handled properly by the > bootloader. I don't have immediate plans to do anything about this; > you could try hacking the loader to accept the 0x8b value and see if > that actually works. Or you could pester IBM to DTRT. > > -- > \\ The mind's the standard \\ Mike Smith > \\ of the man. \\ [EMAIL PROTECTED] > \\-- Joseph Merrick \\ [EMAIL PROTECTED] > > > > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-current" in the body of the message > To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: yet more TP 600E fun...
> I attempt to boot a CD off of the TP600E and I get the following errors: > > "Can't work out which disk we are booting from." > "Guessed BIOS device 0x8b not found by probes, defaulting to disk0:" > > Then whenever it attmpts to access "disk0:" it goes to the floppy drive. > > Suggestions? Known weirdness in the TP's BIOS not handled properly by the bootloader. I don't have immediate plans to do anything about this; you could try hacking the loader to accept the 0x8b value and see if that actually works. Or you could pester IBM to DTRT. -- \\ The mind's the standard \\ Mike Smith \\ of the man. \\ [EMAIL PROTECTED] \\-- Joseph Merrick \\ [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: yet more TP 600E fun...
I see the same problem when trying to boot FreeBSD-3.0-RELEASE (or there abouts) and later cdroms on my TP770. I can boot FreeBSD-2.2.8 and earlier FreeBSD-3.0-SNAP cdroms just fine. I think it has something to do with the new boot loader that went in just before 3.0-RELEASE. Tom On Fri, 13 Aug 1999, David E. Cross wrote: > I attempt to boot a CD off of the TP600E and I get the following errors: > > "Can't work out which disk we are booting from." > "Guessed BIOS device 0x8b not found by probes, defaulting to disk0:" > > Then whenever it attmpts to access "disk0:" it goes to the floppy drive. > > Suggestions? > > -- > David Cross | email: [EMAIL PROTECTED] > Systems Administrator/Research Programmer | Web: http://www.cs.rpi.edu/~crossd > Rensselaer Polytechnic Institute, | Ph: 518.276.2860 > Department of Computer Science| Fax: 518.276.4033 > I speak only for myself. | WinNT:Linux::Linux:FreeBSD > > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-current" in the body of the message > To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message