Tiny Core Linux

Tiny Core Base => TCB Q&A Forum => Topic started by: Guy on November 27, 2010, 01:05:37 PM

Title: Can older computers load extensions from a USB drive without BIOS support?
Post by: Guy on November 27, 2010, 01:05:37 PM
Edit - Conclusion

It seems that some older computers can load extensions from a usb drive, and others can't. If you use an older computer, you can try, to see if yours can.


The original post.

This issue has been raised on another topic. So it would be interesting to hear from others.

We know extensions can be loaded from a usb drive during start up on a newer computer with bios support for usb drives.

For those who have an older computer without bios support for usb drives, can your computer load extensions from a usb drive during startup?

A simple way to test this is as follows:

Copy your entire tce directory to a usb drive. You can leave the original as it is.

There is no need to modify your existing installation, except for boot options.

Create another entry in Grub or other bootloader. Change the tce directory to the usb drive and add waitusb=10. So, for example, you may have tce=sda1 waitusb=10. If it does not work, you may try a number greater than 10.

Connect the usb drive to the computer and boot.

Does your computer load the extensions from the usb drive?

Tell us a bit about the type of computer, and what boot loader you are using.

You can then remove the usb drive, and delete the Grub or other bootloader entry, to return your installation to how it was before doing this.

I repeat, only those who have an older computer without bios support for usb drives.

This can also be done running Tiny Core from a CD.

I am interested in hearing from those who actually try this. Not those who speculate about what should happen in theory.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: maro on November 27, 2010, 04:17:15 PM
guy: I think your question is not precise enough (if not to say misleading).

Granted there will be older computers where the BIOS does not support the booting from a USB pendrive (or USB hard disk). Nevertheless if the kernel is able to work with the USB controller on the motherboard it should be able to utilise extensions (and backup files) stored on the USB device. It just means that the booting of TC itself (i.e. execution of the boot loader which then loads the kernel and the initrd, followed by the hand over of controll from the boot loader to the kernel) has to be provided via a non-USB device method (e.g. CD-ROM, or some form of a hard disk).

I'm pretty sure that my 10 year old DELL Lattitude CPx (500MHz PIII, 256MB, USB 1.1) qualifies for this category: It allows to boot from CD-ROM and with a USB pendrive set up to hold some extensions. In all honesty it's so old that some DMA related error messages have forced me to remove the hard disk and manually eject the CD-ROM as soon as the boot loader has done it's job. I figure the multiple 'autoscan' function calls are triggering those DMA related issues. OTOH the CPU is so slow that I sometimes did not even need to use 'waitusb=5'. That means that the USB pendrive was recognised early enough in the boot process so that the extensions could be loaded even without this otherwise critically important boot code.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Guy on November 27, 2010, 04:57:00 PM
How would you word the question?
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: maro on November 27, 2010, 05:31:43 PM
guy: I believe the point is that older computers exists that dont support booting from a USB pendrive. Nevertheless under the condition that the USB controller is supported by the OS they may very well work as storage devices.

AFAIK the BIOS is only required for the very early boot loader phase (basically to get the boot loader loaded). As soon as the boot loader is working the BIOS will be "sidelined" and its USB support capabilities (or lack thereof) does not play any further role. Look at the modules available for GRUB2 to see how far the boot loaders have come in terms of what a modern one can support.

The question should in my view stress whether the BIOS supports booting from USB as the all the rest is more in the hands of the boot loader or the OS under test (i.e. TC).
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: thane on November 27, 2010, 06:05:59 PM
FWIW, for over a year I ran TCL on a Compaq Deskpro EN that didn't support booting from a USB (and for the latter part of that time had a dead hard drive). I was booting TCL off read-only CD and had the extensions and backup file on a USB stick. The only problems were that it was USB 1.0, so booting and shutdown were somewhat slow (but not intolerable), and the video was a little slow for Flash.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Guy on November 27, 2010, 06:19:39 PM
maro

I have tried loading extensions from a usb drive on a computer without bios support for usb drives, and found that extensions are not loaded.

Other people say it works for them.

I am trying to determine what makes the difference.

Is it the motherboard?

Is it the bootloader?
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: maro on November 27, 2010, 06:47:25 PM
guy: I believe there is no such thing as "USB support by BIOS", but rather a question whether a BIOS supports booting from USB or not. As pointed out now multiple times the BIOS capabilites after the very first second of the boot process should have next to no bearing on the other components (e.g. boot loader or OS).

Surely having a "crappy motherboard" or an "incompetent boot loader" wont help in your quest. But as the Linux kernel over the years has learned to support pretty much any type of hardware and as alternatives exists for the latter chances are that "USB support by BIOS" is maybe just a misnomer.

OTOH there are several methods of booting from USB (see the 'usbinstall' script as an example of supporting those variations). So if a BIOS supports booting from USB it might does so only for one particular method (and not for all the others). Likewise not all USB pendrives might support all possible methods. So one is left to find out for oneself a suitable combination.

Nevertheless my point is that having a USB connector on a even an older system should allow with a high degree of probability the support of extension (and backup) storage on a USB storage device, but not automatically support to boot from the same.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Guy on November 27, 2010, 06:55:00 PM
Quote
Nevertheless my point is that having a USB connector on a even an older system should allow with a high degree of probability the support of extension (and backup) storage on a USB storage device, but not automatically support to boot from the same.

There are some computers where it does not work.

I am trying to find out, what makes the difference.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: gerald_clark on November 27, 2010, 07:33:04 PM
Perhaps uhci vs ohci devices.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Guy on November 27, 2010, 07:54:09 PM
More information

On those computers which cannot load extensions from a usb drive, the usb drive is not detected while Tiny Core is started. It does not matter how long you wait. However, if connected after starting Tiny Core, it is detected.

From memory, I think the same thing happens with other Linux distros.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: curaga on November 28, 2010, 12:26:04 AM
Never heard of that before, an usb chipset that does not support coldplug. It's very much possible though, the early ones were rather quirky. If this is an hardware issue then, I don't think there's anything TC can do.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Guy on November 28, 2010, 12:53:37 AM
I don't expect TC to do anything. Newer computers don't have this issue. As time goes on, the older computers will no longer be used. So the issue will resolve itself.

I made the comment on another post, that some computers cannot load extensions from a usb drive, in case someone finds it does not work for them. This started a debate. I just thought it would be interesting to get the views of others.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: tinypoodle on November 29, 2010, 03:48:23 AM
guy: I believe there is no such thing as "USB support by BIOS", but rather a question whether a BIOS supports booting from USB or not.

This is not quite accurate.

There are in fact BIOS which could have USB options not supposed to be related to boot:
An example:
Quote
Legacy USB Support  [Enabled/Disabled]  (Enable support for Legacy Universal Serial Bus)

Over the years I have come across various user reports that playing with those configurations sometimes could solve various issues related to USB, especially in the case of quirky hardware (as already referred to by curaga) or of buggy BIOSes.

Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: tinypoodle on November 29, 2010, 03:52:55 AM
Never heard of that before, an usb chipset that does not support coldplug. It's very much possible though, the early ones were rather quirky. If this is an hardware issue then, I don't think there's anything TC can do.

Indeed this was a first for me to hear as well.

One possible hope could lay in updating BIOS, if this is an option.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: tinypoodle on November 29, 2010, 03:56:44 AM
Just for completion, as this has not been mentioned, I have also used a "cardbus to USB 2.0 ports" card with same results as onboard USB 1.1 port - just much faster of course.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: tclfan on November 29, 2010, 06:06:05 AM
I don't expect TC to do anything. Newer computers don't have this issue. As time goes on, the older computers will no longer be used. So the issue will resolve itself.
.....
I just thought it would be interesting to get the views of others.
If I can add mu two cents, Maro is very right trying to explain misunderstanding. All older PC's and particularly laptops did not have USB boot function in BIOS. And when such capability became gradually available it was not standardized at all, so diferent manufacturers were implementing in different ways, such as emulating floppy or Zip drive or LS120. This was a growing process to start capability of booting from usb more common, similar to when the capability of booting from CD Rom before then, when BIOS needed to have the capability of booting from CD in El Torito emulation.
Even new computers, although they have the function of booting from usb included in BIOS, some require the usb boot media to emulate zip drrive or hard drive.
Although it is more standardized nowadays, I do not think standardization of implementation is complete yet.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Lee on November 29, 2010, 06:34:12 AM
Slightly OT, but...

Quote
...I have also used a "cardbus to USB 2.0 ports" card with same results as onboard USB 1.1 port...

Does that work with a USB wifi dongle?  I have Toshiba Magnia running Microcore 2.x and would like to add a pcmcia multi-usb device, but then I can't use the pcmcia wifi card that is currently installed.  Hmmmm....
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: tinypoodle on November 29, 2010, 07:11:43 AM
I don't see why not (and have actually done that).
If you have 2 PCMCIA type II slots, it may actually be possible to fit a wifi card in the bottom slot *if* it is thin enough, and a USB ports card in the top slot.

And it would become on-topic again if this solution would serve you to then connect a USB storage medium to load extensions or backup at boot time from ;D
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Lee on November 29, 2010, 08:56:38 AM
Wellll.... it would seem a shame not to keep the TCE directory on a usb stick (it'd be really cool to be able to boot from it, but that's out).  Or maybe one of those cute little external 1 or 2 terabyte drives - I could put a whole bunch of partitions on it... oops that was a different thread.   ;D
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Rich on January 23, 2011, 10:49:11 PM
I know this threads a little old but if anyone's still interested I'm running TC 2.10 on a DEC
Venturis FX2 5166. It was made in 1997, has a 233Mhz Pentium MMX with 256Mb of ram.
It boots off of the CD drive and the apps and backup are stored on the 128Mb stick in the
USB 1.1 port. I added max_loop=256, noswap, noutc, and waitusb=5 to the isolinux.cfg
file on the iso, installed a NIC, slapped in a 320Gb IDE hard drive and turned it into a
SAMBA file server. It's been running flawlessly since March of 2010. All the "Legacy USB
Support" does is let you plug in a USB keyboard and mouse and the bios makes them
look like PS2 devices to the system.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Lee on January 24, 2011, 03:30:57 AM
I thought of booting from CD and keeping the tce directory on USB, but in the end I couldn't think of a really great reason not to just put both the bootup files and the tce directory on the hard drive.

Re. legacy USB support -  being able to use a USB keyboard and mouse would be nice because you can unplug them w/o frying anything - I've seen mother boards ruined by having a PS/2 keyboard removed/reinserted while the A/C was plugged in.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Lee on January 24, 2011, 03:36:20 AM
By the way, I did get a pcmcia 4-port USB card for the Toshiba Magnia SG-20 and Microcore 2.x doesn't seem to recognize a usb flash drive plugged into it.  I'll upgrade to Microcore 3.x real soon now and see if that helps.
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: tinypoodle on January 24, 2011, 04:03:04 AM
By the way, I did get a pcmcia 4-port USB card for the Toshiba Magnia SG-20 and Microcore 2.x doesn't seem to recognize a usb flash drive plugged into it.  I'll upgrade to Microcore 3.x real soon now and see if that helps.

First question would be if the cardbus controller resp. card are recognized, see:
Code: [Select]
pccardctl --help
Necessary modules have to be loaded.

Have you specified the boot parameter 'laptop'?

BTW, I do not believe that there is an issue with 2.x about, seemed to always work fine here from 2.3 to 2.10
Title: Re: Can older computers load extensions from a USB drive without BIOS support?
Post by: Lee on January 24, 2011, 09:45:24 AM
Thanks for the tips TinyPoodle.

I had not tried pccardctrl - I figured there must be such a tool but expected it to start with "pcmcia..."

And I had not tried anything with boot codes yet, but "laptop" would make sense.

I'm in kind of an odd situation here because

A. The Magnia is headless, so trying out a boot code is a little more involved than it otherwise might be and

B: It is also the only working machine I have that has a pcmcia slot.

The good news is, this is  a toy to me so I can take my time about it and yes, I do have one of those handy little usb to pata adapters so I can set up the drive on another system.

I'll almost certainly do the micro core version update while I'm at it just because I can't think of a good reason not to... I'm supposing I'll get to it while 3.4.1 is still current.   :)

If I can get it to use the TCE directory on a USB stick, I can put whatever cleverness I need into /opt and have it in my backup and on removable media so I can fiddle with it elsewhere w/o pulling the real hard drive.