Le développement du noyau Linux trouve son origine au début des années 1990. Linus Torvalds est alors étudiant à l'université d'Helsinki, et par pur plaisir, s'est procuré une machine dotée d'un processeur Intel 80386, l'un des premiers à avoir un jeu d'instruction 32 bits accessible au grand public. Il a acquis la documentation relative à ce processeur et le système d'exploitation Minix avec le livre d'Andrew S. Tanenbaum sur les systèmes d'exploitation pour profiter des performances de sa machine et acquérir de nouvelles compétences sur les systèmes Unix. Cependant, Linus Torvalds trouvait l'émulateur de terminal de Minix trop rudimentaire comme d'autres choses dans ce système, il décida donc d'écrire un émulateur de terminal notamment pour accéder aux machines de l'université. Cet émulateur de terminal prend de l'importance et commence peu à peu à remplacer Minix au sein de son ordinateur. Cependant à la suite d'une erreur de manipulation, il détruisit la partition contenant Minix et prit la décision de tout continuer sur cet émulateur de terminal. Au bout de quelques mois, ce logiciel devint un véritable noyau de système d'exploitation. Il décida de l'appeler Freax pour sa bizarrerie et le x pour Unix. Il diffusa le code de son travail à quelques privilégiés au début, dont celui qui ouvrit un compte FTP sur le site de l'université pour diffuser quand il voudrait son travail. Cependant ce dossier de stockage fut nommé « Linux » et ce nom a été conservé depuis. Il diffusa le 25 août 1991 un message sur Usenet, désormais célèbre, annonçant la naissance d'un OS de sa part et qu'il souhaitait à terme des contributions. À la diffusion quelques semaines plus tard, le noyau Linux n'était pas un logiciel libre, juste un logiciel dont Linus Torvalds permettait la distribution gratuite et le report de bogues. Ce n'est que quelques années plus tard que Linus Torvalds rendit Linux libre, quand il sentit que la popularité du noyau Linux le rendait indissociable de son créateur et qu'il ne courrait pas le risque de « perdre » son bébé. Les rapports de bogues donnèrent à Linus une raison de poursuivre le développement du noyau Linux jusqu'à aujourd'hui car il aime les énigmes posées par le développement logiciel. Mais au début du développement, il monopolisait la partie de USENET dédiée à Minix, ce qui irrita son concepteur Andrew S. Tanenbaum d'autant qu'il trouvait le noyau Linux techniquement obsolète. En effet, ce professeur de l'université d'Amsterdam était spécialisé dans la conception de systèmes d'exploitation. Minix était prévu pour permettre à un étudiant de comprendre rapidement son fonctionnement, et pour Tanenbaum, les noyaux des systèmes d'exploitation devaient être du type « micro-noyau » à l'opposition du noyau dit « monolithique » autour duquel fut développé Linux à l'origine. Ce débat technique a donné lieu à de nombreuses réponses houleuses des deux créateurs et est resté célèbre. À la suite d'un dépôt de nom par un particulier, qui menaça les entreprises utilisant le nom de Linux de reverser des royalties, Linus décida de négocier à l'amiable pour ensuite déposer le nom de Linux à son nom pour éviter qu'une telle histoire se reproduise. En 1996, la communauté voulait une mascotte pour identifier Linux. Après des semaines de réflexion, Linus proposa un concours de dessin mettant en scène un manchot car c'est un animal qu'il appréciait et qui était vif et robuste (expérience qu'il a faite après avoir été mordu par un manchot dans un zoo en Australie). Le vainqueur fut Larry Ewing qui a fait le dessin à l'aide du logiciel libre GIMP. Le manchot prit le nom de Tux. Tux fut remplacé une seule fois pour le noyau 2.6.29 par Tuz qui est un diable de Tasmanie en guise de soutien financier (lié à une campagne de dons) pour sauver ces animaux d'une épidémie.