Re: Thinkpad won't boot ISO image

2000-02-17 Thread John Baldwin


On 17-Feb-00 Mike Smith wrote:
 
 On 16-Feb-00 Mike Smith wrote:
  This is a problem with the thinkpad BIOS that I have not had the time to be
  able to track down.  It would *appear* to be that the BIOS does not do 
  int 13 handling on boot cdroms, and the boot/loader makes much use of that 
  for loading the kernel and drivers.
  
  The problem with the Thinkpad BIOS is where it puts the emulated floppy 
  image's disk number - it's not in the 'normal' place, and I don't exactly 
  know how to deal with it cleanly.  If someone were to lend me a thinkpad 
  or look at this it would be easy to fix.
 
 Err, which place?  The emulated device is always BIOS drive 0x00, aka the
 first floppy drive when you are emulating a floppy.
 
 It's not, which is the "Thinkpad CDROM boot problem".  The one report I 
 recall put it on 0x87, but I don't have any concrete evidence to suggest 
 that it's always there either.

Gah.  Then they need to learn how to read standards.  It is passed in via %dl
at least?

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.cslab.vt.edu/~jobaldwi/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-17 Thread Mike Smith

 
 On 17-Feb-00 Mike Smith wrote:
  
  On 16-Feb-00 Mike Smith wrote:
   This is a problem with the thinkpad BIOS that I have not had the time to be
   able to track down.  It would *appear* to be that the BIOS does not do 
   int 13 handling on boot cdroms, and the boot/loader makes much use of that 
   for loading the kernel and drivers.
   
   The problem with the Thinkpad BIOS is where it puts the emulated floppy 
   image's disk number - it's not in the 'normal' place, and I don't exactly 
   know how to deal with it cleanly.  If someone were to lend me a thinkpad 
   or look at this it would be easy to fix.
  
  Err, which place?  The emulated device is always BIOS drive 0x00, aka the
  first floppy drive when you are emulating a floppy.
  
  It's not, which is the "Thinkpad CDROM boot problem".  The one report I 
  recall put it on 0x87, but I don't have any concrete evidence to suggest 
  that it's always there either.
 
 Gah.  Then they need to learn how to read standards.  It is passed in via %dl
 at least?

After David's response, I'm wondering whether the problem isn't that they 
_arent_ passing the value in via %dl, and we're just getting trash.  Not 
sure how it is that boot1/2 are working though.

-- 
\\ Give a man a fish, and you feed him for a day. \\  Mike Smith
\\ Tell him he should learn how to fish himself,  \\  [EMAIL PROTECTED]
\\ and he'll hate you for a lifetime. \\  [EMAIL PROTECTED]




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-17 Thread John Baldwin


On 17-Feb-00 Mike Smith wrote:
 
 On 17-Feb-00 Mike Smith wrote:
  
  On 16-Feb-00 Mike Smith wrote:
   This is a problem with the thinkpad BIOS that I have not had the time to be
   able to track down.  It would *appear* to be that the BIOS does not do 
   int 13 handling on boot cdroms, and the boot/loader makes much use of that 
   for loading the kernel and drivers.
   
   The problem with the Thinkpad BIOS is where it puts the emulated floppy 
   image's disk number - it's not in the 'normal' place, and I don't exactly 
   know how to deal with it cleanly.  If someone were to lend me a thinkpad 
   or look at this it would be easy to fix.
  
  Err, which place?  The emulated device is always BIOS drive 0x00, aka the
  first floppy drive when you are emulating a floppy.
  
  It's not, which is the "Thinkpad CDROM boot problem".  The one report I 
  recall put it on 0x87, but I don't have any concrete evidence to suggest 
  that it's always there either.
 
 Gah.  Then they need to learn how to read standards.  It is passed in via %dl
 at least?
 
 After David's response, I'm wondering whether the problem isn't that they 
 _arent_ passing the value in via %dl, and we're just getting trash.  Not 
 sure how it is that boot1/2 are working though.

I don't think boot1/2 would work at all if %dl was wrong.  One thing to note, is
that when I finally get cdboot working to the point of loading the loader, I am
going to have a similar problem since the device number typically used when booting
from a CD is 0x9f, which is not contiguous from 0x80. 

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.cslab.vt.edu/~jobaldwi/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-16 Thread Tom Bartol



On Wed, 16 Feb 2000, Mike Smith wrote:

   The problem with the Thinkpad BIOS is where it puts the emulated floppy 
   image's disk number - it's not in the 'normal' place, and I don't exactly 
   know how to deal with it cleanly.  If someone were to lend me a thinkpad 
   or look at this it would be easy to fix.
  
  I'd like to help look at this.  I have a ThinkPad 770 and it too exhibits
  this behavior.  Unfortunately it's my only laptop so I can't loan it out
  but I certainly would like to help out if I can.  I've got an
  up-to-date -current running.  What code should I look at in sys/boot and
  how do I figure out where the Thinkpad BIOS puts the emulated floppy
  image's disk number?
 
 You'll need a CD burner and the time  patience to produce a small number 
 of coasters for this.

O.K. I've got a burner and boat loads of cheap media so no problem there.
One question though -- Once I've modified the sources as you've outlined
below, how do I make the bootable floppy image that gets written to the
CDR?  

 
 In sys/boot/i386/loader/main.c:main() you will need to print the value of 
 initial_bootdev, sometime after the console is initialised.  From what 
 I've seen, I get the impression that it will be something like 0x87.  
 This is the root of the problem; floppy disks are typically numbered 0,1 
 and hard disks are numbered 0x80,0x81, etc.  Normally all the unit 
 numbers are contiguous.

Understood (I think) :-)
On my Thinkpad I believe I've seen things like 0x8b or some such.  This
will be the first CD to burn...

 
 If this is the case, you will need to modify 
 sys/boot/i386/libi386/biosdisk.c:bd_init() to check whether it's scanned 
 the BIOS unit number from initial_bootdev, and if not (and it's legal) 
 scan it as well.  Once we've 'probed' the BIOS unit, everything else 
 should work correctly.

O.K. this makes a lot of sense and sounds easy.

 
 If you decide to take this on, please let me know how you go.

Will do!

 
 Thanks!
 

And thank you too!!!

Tom




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-16 Thread John Baldwin


On 16-Feb-00 Mike Smith wrote:
 This is a problem with the thinkpad BIOS that I have not had the time to be
 able to track down.  It would *appear* to be that the BIOS does not do 
 int 13 handling on boot cdroms, and the boot/loader makes much use of that 
 for loading the kernel and drivers.
 
 The problem with the Thinkpad BIOS is where it puts the emulated floppy 
 image's disk number - it's not in the 'normal' place, and I don't exactly 
 know how to deal with it cleanly.  If someone were to lend me a thinkpad 
 or look at this it would be easy to fix.

Err, which place?  The emulated device is always BIOS drive 0x00, aka the
first floppy drive when you are emulating a floppy.

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.cslab.vt.edu/~jobaldwi/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-16 Thread Mike Smith

 O.K. I've got a burner and boat loads of cheap media so no problem there.
 One question though -- Once I've modified the sources as you've outlined
 below, how do I make the bootable floppy image that gets written to the
 CDR?  

Since we only care about getting to the point where the loader can read 
the disk image, it's actually pretty easy.  Take the kern.flp file off 
the install CD, then say:

vnconfig /dev/vn0 kern.flp
mount /dev/vn0a /mnt
dink with stuff on /mnt
umount /mnt
vnconfig -u /dev/vn0

After that, you can create an almost empty CD, which should take very 
little time to burn...

-- 
\\ Give a man a fish, and you feed him for a day. \\  Mike Smith
\\ Tell him he should learn how to fish himself,  \\  [EMAIL PROTECTED]
\\ and he'll hate you for a lifetime. \\  [EMAIL PROTECTED]




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-16 Thread Tom Bartol



On Wed, 16 Feb 2000, Mike Smith wrote:

  This is a problem with the thinkpad BIOS that I have not had the time to be
  able to track down.  It would *appear* to be that the BIOS does not do 
  int 13 handling on boot cdroms, and the boot/loader makes much use of that 
  for loading the kernel and drivers.
 
 The problem with the Thinkpad BIOS is where it puts the emulated floppy 
 image's disk number - it's not in the 'normal' place, and I don't exactly 
 know how to deal with it cleanly.  If someone were to lend me a thinkpad 
 or look at this it would be easy to fix.
 

I'd like to help look at this.  I have a ThinkPad 770 and it too exhibits
this behavior.  Unfortunately it's my only laptop so I can't loan it out
but I certainly would like to help out if I can.  I've got an
up-to-date -current running.  What code should I look at in sys/boot and
how do I figure out where the Thinkpad BIOS puts the emulated floppy
image's disk number?

Tom




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-16 Thread Gerald Abshez

Mike Smith wrote:

 The problem with the Thinkpad BIOS is where it puts the emulated floppy
 image's disk number - it's not in the 'normal' place, and I don't exactly
 know how to deal with it cleanly.  If someone were to lend me a thinkpad
 or look at this it would be easy to fix.

How would I be able to help out with this?

I have an older version of -CURRENT on one partition, if you have
something that needs to be run under FreeBSD. I also have Win98
available, if that helps.

Let me know...

Gerald.
-- 
This is your FreeBSD -- Where do YOU want to go tommorow?


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-16 Thread Mike Smith

  The problem with the Thinkpad BIOS is where it puts the emulated floppy 
  image's disk number - it's not in the 'normal' place, and I don't exactly 
  know how to deal with it cleanly.  If someone were to lend me a thinkpad 
  or look at this it would be easy to fix.
 
 I'd like to help look at this.  I have a ThinkPad 770 and it too exhibits
 this behavior.  Unfortunately it's my only laptop so I can't loan it out
 but I certainly would like to help out if I can.  I've got an
 up-to-date -current running.  What code should I look at in sys/boot and
 how do I figure out where the Thinkpad BIOS puts the emulated floppy
 image's disk number?

You'll need a CD burner and the time  patience to produce a small number 
of coasters for this.

In sys/boot/i386/loader/main.c:main() you will need to print the value of 
initial_bootdev, sometime after the console is initialised.  From what 
I've seen, I get the impression that it will be something like 0x87.  
This is the root of the problem; floppy disks are typically numbered 0,1 
and hard disks are numbered 0x80,0x81, etc.  Normally all the unit 
numbers are contiguous.

If this is the case, you will need to modify 
sys/boot/i386/libi386/biosdisk.c:bd_init() to check whether it's scanned 
the BIOS unit number from initial_bootdev, and if not (and it's legal) 
scan it as well.  Once we've 'probed' the BIOS unit, everything else 
should work correctly.

If you decide to take this on, please let me know how you go.

Thanks!

-- 
\\ Give a man a fish, and you feed him for a day. \\  Mike Smith
\\ Tell him he should learn how to fish himself,  \\  [EMAIL PROTECTED]
\\ and he'll hate you for a lifetime. \\  [EMAIL PROTECTED]




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-16 Thread Mike Smith

 
 On 16-Feb-00 Mike Smith wrote:
  This is a problem with the thinkpad BIOS that I have not had the time to be
  able to track down.  It would *appear* to be that the BIOS does not do 
  int 13 handling on boot cdroms, and the boot/loader makes much use of that 
  for loading the kernel and drivers.
  
  The problem with the Thinkpad BIOS is where it puts the emulated floppy 
  image's disk number - it's not in the 'normal' place, and I don't exactly 
  know how to deal with it cleanly.  If someone were to lend me a thinkpad 
  or look at this it would be easy to fix.
 
 Err, which place?  The emulated device is always BIOS drive 0x00, aka the
 first floppy drive when you are emulating a floppy.

It's not, which is the "Thinkpad CDROM boot problem".  The one report I 
recall put it on 0x87, but I don't have any concrete evidence to suggest 
that it's always there either.

-- 
\\ Give a man a fish, and you feed him for a day. \\  Mike Smith
\\ Tell him he should learn how to fish himself,  \\  [EMAIL PROTECTED]
\\ and he'll hate you for a lifetime. \\  [EMAIL PROTECTED]




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Thinkpad won't boot ISO image

2000-02-16 Thread David E. Cross

Mine is on 0x8b.  Following some sugestions I hacked my boot/loader to look 
specifically at 0x8b it didn't work.  I even went so far as to force
0x8b even though the autodetect did not work... it still didn't work.  I then
looked at the 1st stage boot loader as that *was* able to load boot/loader.
I noticed a huge difference between the 2, with a comment in the 1st stage
boot loader about a workarround for int 13h handling since not all bios's 
did it correctly.  I then looked at boot/loader and noticed it *only* did
int 13h handling.

--
David Cross   | email: [EMAIL PROTECTED] 
Acting Lab Director   | NYSLP: FREEBSD
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