Mitä minimissään pitää olla, jotta saadaan toimiva linux -järjestelmä?
Lähinnä mielessä on minimaalinen systeemi, jossa siis pitäisi tapahtua seuraavaa:
1. Kernel ladataan ja käynnistetään.
2. Verkkokortti tunnistetaan automaattisesti, jos automaattitunnistus epäonnistuu, kysytäänkäyttäjältä verkkokortin merkki ja malli
3. ladataan verkkokortin ajurit ja haetaan DHCP:llä IP -osoite reitittimeltä
4. Näytetään ruudulla DHCP:llä saatu IP -osoite (tai kysytäänhaluttu IP-osoite käyttäjältä, jos yritys saada DHCP:llä IP-osoite epäonnistuu) ja pyydetään käyttäjää asettamaan yhteyssalasana (tai painamaan Enter = yhteyttä EI suojata salasanalla, vaan 1.yhteys hyväksytään)
5. Käynnistetään vapaavalintainen linux -ohjelma root -oikeuksin. Tähän ajattelin laittaa omatekoisen linuxohjelman, joka kuuntelee määrättyä TCP -porttia, ja saadessaan yhteydenoton tarkistaa TCP:llä salasanan, jos ei edellä annettu tyhjää, kun oikea salasana havaittu tai antamalla edellä tyhjä, salasanakysely ohitettu, ottaa TCP:n kautta komentoja vastaan ja toteuttaa ne. Komennot ensisijaisesti ohjelman sisäisiä toimintoja, mutta mukanahan voi olla myös shell -komento, jolloin käynnistetään bash ja välitetään sille TCP -portti, jota kautta se saa ohjauksensa.
Tällaisen pohjalta voisi rakentaa vaikkapa nopeasti buuttaavan linux -vastineen esim. PartitionMagicille. Nopea buuttaus perustuu siihen, ettei tässä tarvitse esim. knoppixin monimutkaisempaa laitetunnistusta,joka pyrkii tunnistamaan kaikki laitteet, vaan tässä riittää tunnistaa kiintolevyt ja verkkokortti.
Ei tarvitse myöskään käynnistää XWindow/GUI -järjestelmää, eikä siten myöskään tunnistaa näytönohjainta/näyttöä.
Järjestelmän GUI siis toimii toisella koneella verkon yli, ja tuosta GUI:sta voisi olla olemassa sekä windows- että linuxversio.
Mutta mitä kaikkea siis kernel tarvitsee parikseen, että se osaa käsitellä kiintolevyjä ja verkkokorttia, ja lisäksi mukana pitäisi ilmeisesti olla myös ramdisk, sillä kun tarkoituksena on mahdollistaa kiintolevyosioiden muokkaaminen, niin kaikki kiintolevyosiot on voitava vapauttaa (umount) siten, että järrjestelmäedelleen toimii.
Ratkaisuksi siis se, että juurihakemisto "/" on samalla ramdiskin päähakemisto.
Miten tuollaista lähtisi kasaamaan? Tuon em. ohjelman toki teen itse, mutta mitä kaikkea muuta minimissään tarvitaan toimivaan linux -kokoonpanoon ?
Lähinnä mielessä on minimaalinen systeemi, jossa siis pitäisi tapahtua seuraavaa:
1. Kernel ladataan ja käynnistetään.
2. Verkkokortti tunnistetaan automaattisesti, jos automaattitunnistus epäonnistuu, kysytäänkäyttäjältä verkkokortin merkki ja malli
3. ladataan verkkokortin ajurit ja haetaan DHCP:llä IP -osoite reitittimeltä
4. Näytetään ruudulla DHCP:llä saatu IP -osoite (tai kysytäänhaluttu IP-osoite käyttäjältä, jos yritys saada DHCP:llä IP-osoite epäonnistuu) ja pyydetään käyttäjää asettamaan yhteyssalasana (tai painamaan Enter = yhteyttä EI suojata salasanalla, vaan 1.yhteys hyväksytään)
5. Käynnistetään vapaavalintainen linux -ohjelma root -oikeuksin. Tähän ajattelin laittaa omatekoisen linuxohjelman, joka kuuntelee määrättyä TCP -porttia, ja saadessaan yhteydenoton tarkistaa TCP:llä salasanan, jos ei edellä annettu tyhjää, kun oikea salasana havaittu tai antamalla edellä tyhjä, salasanakysely ohitettu, ottaa TCP:n kautta komentoja vastaan ja toteuttaa ne. Komennot ensisijaisesti ohjelman sisäisiä toimintoja, mutta mukanahan voi olla myös shell -komento, jolloin käynnistetään bash ja välitetään sille TCP -portti, jota kautta se saa ohjauksensa.
Tällaisen pohjalta voisi rakentaa vaikkapa nopeasti buuttaavan linux -vastineen esim. PartitionMagicille. Nopea buuttaus perustuu siihen, ettei tässä tarvitse esim. knoppixin monimutkaisempaa laitetunnistusta,joka pyrkii tunnistamaan kaikki laitteet, vaan tässä riittää tunnistaa kiintolevyt ja verkkokortti.
Ei tarvitse myöskään käynnistää XWindow/GUI -järjestelmää, eikä siten myöskään tunnistaa näytönohjainta/näyttöä.
Järjestelmän GUI siis toimii toisella koneella verkon yli, ja tuosta GUI:sta voisi olla olemassa sekä windows- että linuxversio.
Mutta mitä kaikkea siis kernel tarvitsee parikseen, että se osaa käsitellä kiintolevyjä ja verkkokorttia, ja lisäksi mukana pitäisi ilmeisesti olla myös ramdisk, sillä kun tarkoituksena on mahdollistaa kiintolevyosioiden muokkaaminen, niin kaikki kiintolevyosiot on voitava vapauttaa (umount) siten, että järrjestelmäedelleen toimii.
Ratkaisuksi siis se, että juurihakemisto "/" on samalla ramdiskin päähakemisto.
Miten tuollaista lähtisi kasaamaan? Tuon em. ohjelman toki teen itse, mutta mitä kaikkea muuta minimissään tarvitaan toimivaan linux -kokoonpanoon ?
Vastaukset 4
Vanhimmat
kokeilisit tätä cd:tä?
http://www.sysresccd.org/Main_Page
Jos pääset vaikka helpommalla?
Tuosta se selviää: http://axiom.anu.edu.au/~okeefe/p2b/buildMin/buildMin.html
Kannattaa tutustua tähänkin:
http://www.linuxfromscratch.org/lfs/
hehh... Onpas taas toiveet. Ihan oikean systeemin saat asentamalla jonkin server-asennuksen jakelusta kuin jakelusta. Lisäilet vain ne ohjelmat, jotka jakeluusi haluat.
Tuo verkkokortin tunnistettavuus on aina riippuvainen kortista ja sen tuesta. Hanki verkkokortti, joka on tuettu.
Minimaaliasennuksessa asentajan täytyy osata jotakin perusteita. Laajojen jakelujen idea on siinä, että ne tarjoavat tukea mitä moninaisimmille laitteistoille!
Lähes kaikki jakelut on asennettavissa ihan paketti paketilta, joten valinnanvaraa räätälöidyn jakelun asennukseen on vähintäänkin riittävästi. (Kun vain osaa)
Valitse nyt lopultakin jokin asiallinen Linux-jakelu ja opettele sitä käyttämään. Palataan sitten tuollaisiin räätälöityihin ohjelmakokonaisuuksiin.
kerneli, uclibc, busybox, lilo tai grub, udev ja vähän shelliscriptiä niin eiköhän se ole siinä.