In the early stages of Linux, Linus Torvalds released the Linux kernel source in an alpha state to signal to others that work towards a new Unix-like kernel was in development. By that time, as @RalfFriedi stated, the Linux kernel was cross-compiled in Minix.
As for usable software, Linus Torvalds also ported utilities to distribute along with the Linux kernel in order for others to test it. These programs were mainly bash
and gcc
, as described by LINUX's History by Linus Torvalds. Per the the Usenet post:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to
work. This implies that I'll get something practical within a few
months, and I'd like to know what features most people would want.
Any suggestions are welcome, but I won't promise I'll implement them
:-)
Linus distributed the kernel and core utility programs in a diskette format for users to try it and possibly to contribute to it.
Afterwards, there were H.J. Lu's Boot-root floppy diskettes. If this could be called a distribution, then it would gain the fame of being the first distribution capable of being installed on hard disk.
These were two 5ΒΌ" diskette images containing the Linux kernel and the
minimum tools required to get started. So minimal were these tools
that to be able to boot from a hard drive required editing its master
boot record with a hex editor.
Eventually the number of utilities grew larger than the maximum size of a diskette.
MCC Interim Linux was the first Linux distribution to be used by people with slightly less technical skills by introducing an automated installation and new utilities such as fdisk
.
MCC Interim Linux was a Linux distribution first released in February
1992 by Owen Le Blanc of the Manchester Computing Centre (MCC), part
of the University of Manchester.
The first release of MCC Interim Linux was based on Linux 0.12 and
made use of Theodore Ts'o's ramdisk code to copy a small root image to
memory, freeing the floppy drive for additional utilities
diskettes.[2]
He also stated his distributions were "unofficial experiments",
describing the goals of his releases as being:
- To provide a simple installation procedure.
- To provide a more complete installation procedure.
- To provide a backup/recovery service.
- To back up his (then) current system.
- To compile, link, and test every binary file under the current versions of the kernel, gcc, and libraries.
- To provide a stable base system, which can be installed in a short time, and to which other software can be added with relatively little
effort.
After the MCC precursor, SLS was the first distribution offering the X Window System in May of 1992. Notably, the competitor to SLS, the mythical Yggdrasil, debuted in December of 1992.
Other major distributors followed as we know them today, notably Slackware in July of 1993 (based on SLS) and Debian in December of 1993 until the first official version 1.1 release in December of 1995.
Image credits:
* Boot/Root diskettes image from: https://www.maketecheasier.com/
* yggdrasil diskette image from: https://yggdrasilblog.wordpress.com/
Best Answer
A kernel change should get a reboot. You can install the kernel, and in some cases you can insert and remove modules of different kernels, but I would not advise it.
A server could be rebooted and service would be unaffected if the server is part of a cluster. You can create firewall/router clusters too, such that there is no single point of failure (SPOF). To do this you use what is called a Virtual IP (VIP) that is shared across more than one system.
If you want to experiment with this idea you can use QEMU or VirtualBox and others to create virtual networks.