Messages in this thread | | | Date | Sun, 7 Jun 1998 03:18:23 +0100 | From | Jamie Lokier <> | Subject | Re: Compatible with i386/UP but optimised for i686/SMP |
| |
> Point taken. But it's the wrong way to approach the problem by a ``one > size fits all'' approach. It's rather the job of a Linux distribution > makes to install the right kernel for each type of machine. > > Let's take a look at Redhat's kernel stuff: > [snipped]
That's all very well if Linux is actually installed on all the machines, individually. That's not always the case -- think of dynamic diskless-Linux-over-NFS installations.
I'm thinking of a specific scenario that I have had to maintain in the past:
All the company's PC run Windows normally. Occasionally there is use for running Linux on one of these PCs, to demo a program, run a test, run as an X terminal, diagnose hardware, or just to advocate Linux a bit...
There is NO possibility that Linux may be installed on any of these Windows machines. Repartitioning is out of the question, and touching the disk at all is often not accepted. A few machines do have Linux installed; those machines only ever run Linux.
A Linux server provides a complete diskless NFS-root installation to any machine that requests it, on demand. Hard links and clever scripts keep the storage requirements down, and the network configurations for each are generated from templates. NFS swapping is also used. These installations cannot all be prepared "by hand" in advance because there are too many _potential_ clients, most of which will never run Linux but we don't want to rule any out by deciding which are supported clients and which are not.
A simple DOS program is run on any PC, off a floppy disk, which loads the kernel over the network. The kernel autodetects the hardware and simply boots up, not touching the client's disk. Often, up pops Xdm and the Windows user is amazed :-) Really, it just boots and works. Sometimes a bit of per machine configuration is needed, but only for X and the mouse. Console mode always works.
It is not acceptable to spend time "hand installing" anything, or going through a standard distribution installation. The administrative time cannot be justified. (And it just works anyway...).
Some PCs are Pentiums and PPros, some 486s, some are 386s acting as cheap printer servers (not even a monitor or keyboard on those).
There is no central database of what machines are connected that may wish to use this service. Often Linux is run in this way just to find out what is in a machine! :-)
In the above scenario, I would very much like to run a kernel optimised for the PC it is running on. That is not possible unfortunately. The next best thing would be a kernel optimised for most of the PCs. However it must always work with _all_ the PCs if possible. It cannot even note the CPU type the first time a client is run, and use a kernel optimised for that client in future, because the users (they're programmers) have a habit of changing their computers around without telling anyone, and fiddling with their part of the network.
That is why I am interested in an Pentium/SMP optimised kernel that is 386/UP compatible. As it was, I had to make do with the 386 compatible kernel with FPU emulation compiled in, the lowest common denominator and probably the largest kernel. BTW, thanks to the person who made FPU emulation into a module recently.
-- Jamie
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
| |