Feasibility of a bootable USB memory stick, pluggable into any x86 computer, w or w/o a hard drive or other devices.


As a geek, one of my interests is seeing that kids and other minds which are still open and growing have access to computers.  From time to time I receive older computers from people as a donation, but also partly as a method of disposal.  Generally speaking, these computers are several generations old, and will never be mistaken for computational heavyweights that contain Lucasfilm or THX certified anything.  However, there are certain practical tasks which are reasonably simple and straightforward, and simple machines such as these might suffice.  

Some common computer tasks which come to my mind: surfing the internet, email, printing, and instant messaging.

One method of keeping the costs down is to standardize on the x86 processor.   And to keep the IP and licensing police at bay, use Linux (Fedora?  Solaris?) with OpenOffice and other open source related things, rather than Windows and Office.  

Some constraints that come to mind are the need for enough memory, a fast drive for persistant storage, and physical robustness.  A minimal yet sufficient OS installation could keep memory consumption low (knoppix based DSL: http://www.everything2.org/index.pl?node=Damn%20Small%20Linux  Debian: http://lists.debian.org/debian-powerpc/2005/05/msg00445.html).  Also, there are some memory sticks (http://www.memina.com/pocket-rocket.html) with speeds that approach the speed of a desktop hard drive.

The thought occurred that a bootable USB memory stick could have an OS+Applications installed on it, and used as a portable operating environment that was plugged in to any computer, booted to use that box as a compute engine, and keep all the data that is specific to the person on the memory stick.  

This would allow people to use a computer as a generic thing rather than something that is always different and closely associated with one person.  A person could step up to any powered-off computer, insert their bootable memory stick, power on, boot up, and have their own complete operating environment that they take with them - code plus data.  Plus, since the memory stick has no moving parts, it is inherently more physically and thermally robust than any hard drive.  The only thing needed is a compute engine (eg: an available computer) to run it, and any available powered-off computer would serve.  Even if that machine already had a bootable operating system on it, the boot sequence could be altered to use a non-default device - such as a USB memory stick.  

The only hard requirement would be that the motherboard supports a bootable USB device.  The OS would need to be able to fit on the USB device, but I suspect that that can be crafted to work.  The applications would need to provide a practical set of tools.  And there would need to be some networking support for a Lan or Dial Up Networking using some ISP.

But my question is: if I were to make a standard configuration for a bootable USB drive, would or could the (linux) OS configure itself at boot time for running on a reasonable (read: large and arbitrary) set of computers, supporting different combinations of motherboards, chipsets, video adapters, absence or presence of a nic, absence or presence of a USP wifi adapter.  

Any thought on this ...

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ChrisEddyAuthor Commented:
Thank you for the interesting link!

In reading the article, it makes extensive mention of using the memory stick for storage, but not so much as a bootable device.  However, it did introduce the idea of a possible "one two punch" by using a bootable CD, because CD's are almost universally supported as bootable devices, and to use the memory stick to contain the user specific data.  A constraint on this, though, is that because /etc/passwd and other files would become read-only when burned to a CD, no new (personal) accounts could be created.  Perhaps something could be done with the automounter to dynamically detect the presence of a memory stick, and configure that to contain home directories.  And perhaps a soft link could be created from /etc/passwd to somewhere under /home, which would allow some default administrative login without a memory stick, but dynamic user accounts would be available after insertion.

The article makes mention of using the FAT filesystem on the memory stick.  A big architectural problem I have is using any disk device that has only a FAT filesystem on it, because it's reliability and performance are inferior to other modern filesystems, eg: ext3 and others.   I really like the idea of having filesystem permissions, because it will allow the distribution of an OS+applications to be reasonably robust even when a user behaves poorly.  Using FAT will allow the same kinds of incremental file wiggling over time that plagued Win98 and Win95; although it was very poor design for MSFT (sadly, but proper at the time) to deploy a filesystem that allowed absolutely anyone to modify operating system files, it was an unfortunately fair defense for *them* to say that some third party something must have futzed with the OS files or configurations to make the machine unstable.

My next question is: is there a way to install a boot loader on the memory stick which supported booting from a modern filesystem.  However, since Linux et. al. support more filesystems than just FAT, and is bootable from all of them, this becomes an issue of recormatting the drive into the appropriate filesystem type.  After making the memory stick an ext3 device, I suspect that it will become an unrecognizable thing if inserted into a running Windows computer, which is all right with me.

Goofy question, but is there a problem with reformatting a memory stick that it has to stay a FAT device, or is it like a true disk that can have any filesystem organization?

ChrisEddyAuthor Commented:

There will be no further work done on this problem.

Since there was one response, it was relevant to the question, and is contructive, all points will be awarded to the sole responder with an excellent rating.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux Distributions

From novice to tech pro — start learning today.