Har du någonsin undrat hur han var? kernel de Linux när publicerades den första gången? Nåväl, nu kan du tillfredsställa din nyfikenhet genom att ta en titt på källkoden för version 0.01. Den är tillgänglig för nedladdning från kärnarkivet. |
Linus Torvalds lämnade oss med denna korta introduktion till projektet:
Detta är en gratis minix-liknande kärna för i386(+)-baserade AT-maskiner. Fullständig källkod ingår, och denna källa har använts för att producera en körande kärna på två olika maskiner. För närvarande finns det inga kärnbinärer för allmän visning, eftersom de måste kompileras om för olika maskiner. Du måste kompilera den med gcc (jag använder 1.40, vet inte om 1.37.1 kommer att hantera alla __asm__-direktiv), efter att ha ändrat relevant(a) konfigurationsfil(er).
Som versionsnumret (0.01) antyder är detta inte en mogen produkt. För närvarande stöds bara en delmängd av AT-hårdvara (hårddisk, skärm, tangentbord och seriella linjer), och några av systemanropen är ännu inte helt implementerade (särskilt mount/umount är inte ens implementerade). Se kommentarer eller readme's i koden.
Denna version är också mest avsedd för läsning – dvs om du är intresserad av hur systemet ser ut just nu. Den kommer att kompilera och producera en fungerande kärna, och även om jag kommer att hjälpa till på alla sätt jag kan för att få den att fungera på din maskin (maila mig), så stöds den inte riktigt. Förändringar är frekventa, och den första "produktions"-versionen kommer förmodligen att skilja sig mycket från denna pre-alfa-release.
Hårdvara som behövs för att köra Linux:
– 386 AT
– VGA/EGA-skärm
– AT-typ hårddiskkontroller (IDE är bra)
– Finskt tangentbord (åh, du kan använda ett amerikanskt tangentbord, men inte
utan lite övning
Det finska tangentbordet är fastanslutet, och eftersom jag inte har ett amerikanskt kan jag inte byta det utan större problem. Se kernel/keyboard.s för detaljer. Om någon är villig att göra en till och med delvis port, skulle jag vara det
tacksam. Borde inte vara för svårt, eftersom det är bordsdrivet (det är dock assembler, så...)
Även om linux är en komplett kärna och inte använder någon kod från minix eller andra källor, har nästan ingen av supportrutinerna ännu kodats. Därför behöver du för närvarande minix för att starta upp systemet. Det kan vara möjligt att använda den fria minix-demodisken för att skapa ett filsystem och köra linux utan att ha minix, men jag vet inte...
och jag är glad eftersom jag är en spelare men i min andra partition har jag debian som jag använder för att arbeta med U:s projekt... (förlåt, jag ville säga GPL3).
Utan tvekan var en av källorna till hjälp och inspiration när man designade Linux-kärnan boken "The Design of the UNIX Operating System" av Maurice J.Bach.
Jag letade efter den för att recensera den, tack så mycket!