What you describe could be accomplished by building a minimalist boot floppy for Linux
, nearly no tools, just a kernel and selected parts of /bin and /usr/bin).
The system, when booted, could reach out to some NFS
or whatever server, download a buttload of software, write it to a scratch hard disk
, and then reboot from the hard dirsk.
The /home directories could be mounted via NFS
, to guarantee survival between boots.
Or, even better: a diskless workstation that boots completely off a remote server.
baffo reads the update
baffo scratches his head and ponders...
baffo falls asleep.
Well, I guess it can be done depending from the level of "writes itself" that you want. Let's make an example, suppose you have an Ethernet card in your system. Ethernet cards could be supposed to share common attributes, like needing a buffer somewhere, sending interrupts, this sort of things.
And you could probably write a meta-Ethernet driver, that reads hints about the specific card you have in the system and configures itself to run with it.
What I don't think you could do is having the OS "guess" WTF the card in slot 3 does, and how.
Consider a serial port (or even a parallel one): basically anything can be there, from a modem to a mouse to a hard disk to ...
And not only you want the OS to detect it (which is already a mess), but to write code (I guess) for running a device it does not know about ? Sounds tough ...
I will not say that it is impossible, for nothing is impossible except that the toothpaste go back into the tube, but it looks pretty unlikely.