Linux kernel letöltése. Saját kernel *ubuntuban, vagy Miért és hogyan kell kernelt fordítani Linuxon

A kezdők, akik csak most kezdik ismerkedni a Linuxszal, mindenekelőtt feltesznek maguknak egy ésszerű kérdést: hogyan és honnan lehet letölteni a Linuxot? Úgy tűnik, hogy ez bonyolult, de a kérdés mégis felmerül, és gyakran felteszik nekem.

Döntse el a Linux disztribúciót

Először is valószínűleg le kell töltenie egy Linux disztribúciót. Mert az általános Linux szó felfogható Linux kernelként, valamint bármely Linux disztribúcióként. A cikk későbbi részében megengedem magamnak, hogy néha mindkét szót egyenértékűként használjam. A disztribúció megválasztásának kérdése túlmutat e jegyzet keretein. A Linux disztribúciók a Linux disztribúciók könyvtárában találhatók.

Tegyük fel, hogy választott magának egy disztribúciót, és le akarja tölteni. Minden Linux disztribúció általában ingyenesen letölthető különböző formátumokban. Általában ISO fájlok. Az ISO-fájl egy CD- vagy DVD-lemez képe. Leggyakrabban a CD- vagy DVD-verziók csak annyiban különböznek egymástól, hogy a DVD-verziók több különböző szoftverrel rendelkeznek, amelyeket közvetlenül a lemezről telepíthet, akár a Linux-telepítési folyamat során, akár a telepítés után bármikor.

Melyik Linuxot kell letölteni (i386, x86_64, amd64...)

A Linux különböző platformokra is letölthető. Általában a disztribúciófejlesztők a Linux 32 bites és 64 bites verzióit kínálják. Az, hogy melyiket választja, elsősorban a processzor bitmélységétől függ. Általános szabály, hogy minden modern processzor 64 bites.

A Linux 32 bites verzióit általában i386-nak nevezik, a 64 bites verziókat pedig x86_64 (Intel processzorokhoz) és amd64 (Amd processzorokhoz).

Olyan nevekkel is találkozhat, mint az arm, a mips, a ppc és mások. Ezek a Linux speciálisan Arm, Mips, PowerPC processzorokhoz épített verziói.

Az otthoni számítógépek és laptopok általában Intel vagy Amd processzorokat használnak, így valószínűleg az i386, x86_64, amd64 iránt érdeklődni fog.

Hol lehet letölteni egy Linux disztribúciót

Tehát a Linux disztribúció mellett döntött. Csak fel kell menni a disztribúció fejlesztőjének weboldalára, és ott megkeresni a letöltési részt, ezt lehet úgy hívni, hogy Letöltések, Get It, Get ISO, Download, Upload.

A Linux letöltésének egyik leggyorsabb módja a torrent fájlok használata. Ez a következőképpen működik. Letöltesz egy torrent fájlt magadnak, és a torrent kliens segítségével elkezded letölteni magát a Linuxot. A Linuxhoz készült Torrent kliensek a szoftverkönyvtárban a „Torrent kliensek” alatt találhatók.

A Linux disztribúció ugyanazon verziója különböző szervereken (tükrökön) tárolható. Minél közelebb van a szerver földrajzilag, és minél nagyobb a sávszélessége, annál gyorsabban fogja letölteni a Linuxot. Egy népszerű orosz tükör, ahol letöltheti a Linuxot, egy tükör a Yandextől: https://mirror.yandex.ru vagy FTP-verzió ftp://mirror.yandex.ru

Íme néhány hely, ahonnan ingyenesen letölthet népszerű Linux-disztribúciókat:

terjesztésHol tudom letölteni
ubuntu
  • Töltse le az Ubuntu Desktopot (az Ubuntu fő verziója otthoni használatra)
Debian
Arch Linux
Gentoo
OpenSUSE
Fedora
  • A Fedora ISO-képe (munkaállomásos verzió személyes használatra)
  • FTP tükör a Yandexen (személyes használatra válassza a Workstation verziót)
Slackware
EgyébA Linux disztribúciók könyvtára (minden disztribúció oldalán található egy hivatkozás a hivatalos webhelyre).

Hol lehet letölteni a Linux kernelt

A Linux kernel forráskódjának bármely verziója mindig letölthető a kernel.org webhelyről.

Linux lemez rendelése

Ha egyik lehetőség sem felel meg Önnek, akkor városában találhat olyan rajongókat, akik vállalják, hogy Linux lemezt adnak Önnek. Sőt, mostanság nagyon sok különböző Linux-közösség létezik.

Ebből a lépésről-lépésre szóló útmutatóból megtudhatja, hogyan kell megfelelően felépíteni és telepíteni a >2.6-os ág kernelt az Ubuntu OS családon.

1. lépés: Szerezze be a kernelforrást

Az Ubuntu kernelforrásokat kétféleképpen lehet beszerezni:

    Az archívum tárolóból történő telepítésével, a legújabb hivatalos javítások automatikus átfedésével. Ezzel egy ~150 MB-os csomagot tölt le az aktuális mappába. A rendszermag forrásának lekéréséhez, amelynek verziója telepítve van a számítógépen, futtassa a következő parancsot: apt-get source linux-image-`uname -r`

    Vagy az "uname -r" helyett megadhat egy adott verziót a lerakatban elérhető verziók közül.

A tárolóban elérhető verziók listája a következő parancs beírásával tekinthető meg: „apt-get source linux-image-”, és az Enter lenyomása nélkül kétszer megnyomja a Tab billentyűt.

Ne felejtse el engedélyezni a forrásmegosztást a tárolóban (Rendszerbeállítások → Programok és frissítések → Ubuntu szoftver → Forráskód). A konzolról ezt úgy teheti meg, hogy az /etc/apt/sources.list fájlban a deb-src karakterrel kezdődő sorokat töröljük, majd a „sudo apt-get update” paranccsal frissítjük.

    A legújabb kernelverzió elérhető a git-től. A letöltött csomag mérete ~500-800 Mb. git klón git://kernel.ubuntu.com/ubuntu/ubuntu- .git

    Ahol - kiadás neve, például:

    Git klón git://kernel.ubuntu.com/ubuntu/ubuntu-xenial.git

Egyéb magok

Vannak olyan kernelek is, amelyek nem garantáltan működnek Ubuntu alatt. Például ismert probléma van számos népszerű rendszeralkalmazással (különösen az NVidia illesztőprogramokkal, a VirtualBox-szal), amelyek telepítéskor a telepített kernelhez vannak fordítva. Ezért ha olyan kernelre kívánja telepíteni őket, amely nem szabványos az Ubuntu jelen verziójához (például az Ubuntu 16.04-hez a 4.4.0 rendszermag tartozik), külön kézi fordításra vagy speciális javításokra lehet szükség, és előfordulhat, hogy az alkalmazás nem támogatja a legújabb verziót. egyáltalán a kernel.org rendszermag verziói.

    Archívum az alapverzióból patch nélkül, i.e. pl. "4.8.0", "4.8.10": sudo apt-get install linux-source

Csomagolja ki a kapott archívumot a következő parancsokkal:

Cd ~/tar -xjf linux-2.6.x.y.tar.bz2

Vagy linux-forrás esetén:

Cd /usr/src tar -xjf linux-source-2.6.x.y.tar.bz2

2. lépés: Az összeállításhoz szükséges csomagok beszerzése

Ez a lépés csak akkor szükséges, ha a kernelt először építik fel a számítógépen.

Futtassa a következő parancsokat az alapcsomagok telepítéséhez:

sudo apt-get frissítés sudo apt-get build-dep linux sudo apt-get install kernel-package

    config- a hagyományos konfigurálási mód. A program egyenként jeleníti meg a konfigurációs paramétereket, és kéri, hogy mindegyikhez más-más értéket állítsunk be. Tapasztalatlan felhasználóknak nem ajánlott.

    oldconfig- a konfigurációs fájl automatikusan létrejön az aktuális kernelkonfiguráció alapján. Kezdőknek ajánlott.

    defconfig- a konfigurációs fájl automatikusan létrejön, az alapértelmezett értékek alapján.

    menuconfig- pszeudo-grafikus interfész a kézi konfiguráláshoz, nem igényli a paraméterértékek szekvenciális bevitelét. Terminálban való használatra javasolt.

    xconfig- grafikus (X) interfész a kézi konfigurációhoz, nem igényli a paraméterértékek szekvenciális bevitelét.

    gconfig- grafikus (GTK+) kézi konfigurációs felület, nem igényli a paraméterértékek szekvenciális bevitelét. GNOME környezetben való használatra ajánlott.

    localmodconfig- egy automatikusan létrehozott konfigurációs fájl, amely csak azt tartalmazza, ami az adott eszközhöz szükséges. A parancs meghívásakor a kernel nagy része modulált lesz

Abban az esetben, ha használni szeretné config, oldconfig, defconfig, localmodconfig vagy localysconfig, már nincs szüksége további csomagokra. A fennmaradó három lehetőség esetén további csomagokat is telepíteni kell.

menuconfig futtassa a következő parancsot:

sudo apt-get install libncurses5-dev

A használathoz szükséges csomagok telepítéséhez gconfig futtassa a következő parancsot:

sudo apt-get install libgtk2.0-dev libglib2.0-dev libglade2-dev

A használathoz szükséges csomagok telepítéséhez xconfig futtassa a következő parancsot:

Ubuntu 12.04 előtt: sudo apt-get install qt3-dev-tools libqt3-mt-dev

sudo apt-get install libqt4-dev

3. lépés: Foltok felhelyezése

Ez a lépés nem kötelező.

Ha a kernelt a fent leírt paranccsal szerezték be, hivatalos javításokat már alkalmaztak a forrásokra:

apt-get forrás linux-image-`uname -r`

Ha még soha nem alkalmazott javításokat a forráskódhoz, futtassa a következő parancsot:

sudo apt-get telepítési javítás

Ez a parancs telepíti a javítások alkalmazásához szükséges javítóprogramot. Most töltse le a javítófájlt abba a mappába, ahol kicsomagolta a kernelt. Ez lehet egy archív fájl (pl. Bzip2 vagy Gzip) vagy egy tömörítetlen javítófájl.

Ezen a ponton azt feltételezzük, hogy már elmentette a fájlt abba a mappába, ahol korábban kicsomagolta a kernelt, és telepítette a javítóprogramot.
Ha a letöltött fájl Gzip (*.gz) formátumú volt, akkor futtassa a következő parancsot az archívum tartalmának kibontásához:

Gunzip patch-2.6.x.y.gz

Ha a letöltött fájl Bzip2 (*.bz2) formátumú volt, akkor futtassa a következő parancsot az archívum tartalmának kibontásához:

Bunzip2 javítás-2.6.x.y.bz2

ahol a 2.6.x.y a kernel javítás verziója. A megfelelő parancsok kicsomagolják a javítófájlt a kernel forrásmappájába. A javítás alkalmazása előtt meg kell győződnie arról, hogy hibamentesen fog működni. Ehhez futtassa a parancsot:

Patch -p1 -i patch-2.6.x.y --dry-run

ahol a 2.6.x.y a kernel javítás verziója. Ez a parancs szimulálja a javítás alkalmazását anélkül, hogy magukat a fájlokat megváltoztatná.

Ha nem történik hiba a végrehajtás során, akkor a változtatások biztonságosan végrehajthatók magukban a fájlokban. Ehhez futtassa a parancsot:

Javítás -p1 -i patch-2.6.x.y

ahol a 2.6.x.y a kernel javítás verziója. Ha nem volt hiba, akkor a javítás sikeresen felkerült a forráskódra.

Figyelem! A javítás alkalmazása előtt tegye a következőket: 1. Töltse le a http://www.kernel.org webhelyről a forráskóddal megegyező verziójú javítást. 2. Futtassa a következő parancsot: patch -p1 -R

ahol a 2.6.x.y a javítás verziója és a források

4. lépés: A jövőbeli kernel build beállítása

A parancs futtatásával keresse meg azt a mappát, ahol kicsomagolta a kernelt

Cd ~/linux-2.6.x.y

ahol a 2.6.x.y a letöltött kernel verziója.

Ezen a ponton már el kell döntened a kernel konfigurációs módját (ha nem, nézd meg azokat a Felépítéshez szükséges csomagok beszerzése című részben. Ettől függően futtasd a következő parancsot a választott konfigurációs módszer elindításához:

    config- a hagyományos konfigurálási mód. A program egyenként jeleníti meg a konfigurációs paramétereket, és kéri, hogy mindegyikhez más-más értéket állítsunk be. A make config parancs hívja

    oldconfig- a konfigurációs fájl automatikusan létrejön az aktuális kernelkonfiguráció alapján. Kezdőknek ajánlott. A make oldconfig parancs hívja

    defconfig- a konfigurációs fájl automatikusan létrejön, az adott architektúra alapértelmezett értékei alapján. A make defconfig parancs hívja

    menuconfig- pszeudo-grafikus interfész a kézi konfiguráláshoz, nem igényli a paraméterértékek szekvenciális bevitelét. Terminálban való használatra javasolt. Hívás: make menuconfig

    gconfigés xconfig- grafikus konfigurátorok a kézi konfigurációhoz. Hívás: make gconfig

    Készítsd el az xconfig-ot

    illetőleg

    localmodconfigés localysconfig- automatikus konfigurátorok. A konfiguráció az aktuálisan hívott modulok és a futó kernel alapján jön létre. A két konfigurátor közötti különbség a modulok száma. Az első esetben a mag legalább 50% -a lesz, a másodikban pedig legfeljebb 2 modul. Hívás: make localmodconfig

    Állítsa be a localyesconfig-ot

    illetőleg

A hívás után elindul a megfelelő konfigurációs program. Végezze el a szükséges beállításokat igényei szerint, mentse el a konfigurációs fájlt, és folytassa a következő lépéssel.

5. lépés A kernel felépítése

Az előkészületek tehát befejeződtek. Most elindíthatja a kernel felépítési folyamatát. Ehhez futtassa a parancsot:

Fakeroot make-kpkg -j 5 --initrd --append-to-version=-custom kernel_image kernel_headers #-j<количество ядер процессора>+1

A kernel felépítése 20 perctől több óráig is tarthat, a kernel konfigurációjától és a számítógép műszaki paramétereitől függően. A többmagos processzorra építve többször is gyorsabb lehet

6. lépés Kernelképek és fejlécek telepítése

Amikor a kernel felépítése befejeződött, két deb csomag jelenik meg a saját mappájában. Telepíteni kell őket. Ehhez futtassa a parancsokat:

Cd ~/ sudo dpkg -i linux-image-2.6.x.y-custom_2.6.x.y-custom-10.00.Custom_arc.deb sudo dpkg -i linux-headers-2.6.x.y-custom_2.6.x.y-custom-10.00. Custom_arc.deb

ahol a 2.6.x.y a beépített kernel verziója, az arc a processzor architektúrája (i386 - 32 bites, amd64 - 64 bites).
Ha nem tudja a csomag pontos nevét, listázza ki a fájlokat a saját könyvtárában a paranccsal

és megtalálja ezt a két csomagot.

7. lépés Hozza létre a kezdeti RAM-lemezt

Az Ubuntu megfelelő működéséhez kezdeti RAM lemezképre van szükség. Létrehozásához futtassa a parancsot:

sudo update-initramfs -c -k 2.6.x.y-custom

ahol a 2.6.x.y a build kernel verziója.

8. lépés A GRUB rendszertöltő konfigurációjának frissítése

Ha a számítógép indításakor kiválaszthatóvá szeretné tenni az új kernelverziót, futtassa a következő parancsot:

sudo update-grub

A menu.lst (a GRUB 1-es verziójához) vagy a grub.cfg (a GRUB 2-es verziójához) fájl frissül, hogy tükrözze a telepített operációs rendszereket és a kernelképeket.

9. lépés A kernel ellenőrzése

A kernel fordítása és telepítése sikeresen befejeződött! Most indítsa újra a számítógépet, és próbálja meg elindítani a rendszert az új kernellel. Ha meg szeretné győződni arról, hogy a rendszer az új kernellel indul, futtassa a parancsot

Uname-r

Megjeleníti a használt kernel verziót.

Ha jól csinálja, törölheti a forrásarchívumot és a teljes linux-2.6.x.y könyvtárat a saját mappájában. Ez körülbelül 5 GB-ot szabadít fel a merevlemezen (a felszabaduló terület mérete a felépítési lehetőségektől függ).

Ezzel az összeszerelési és telepítési folyamat befejeződött, gratulálunk!

A Linux operációs rendszer legalapvetőbb összetevője a kernel. Ez a kernel, amely közbenső kapcsolatként működik a felhasználói programok és a számítógépes hardver között. Minden bináris disztribúcióban nem kell foglalkoznunk a kernel felépítésével és konfigurálásával, már mindent megcsináltak helyettünk a disztribúció fejlesztői. De ha saját disztribúciót akarunk építeni, vagy a legfrissebb rendszermagot akarjuk telepíteni, akkor manuálisan kell elkészítenünk a kernelt.

Az első lehetőség korábban azok számára volt releváns, akik maximális teljesítményt akartak elérni berendezéseikből, de most, tekintettel a számítógép teljesítményének gyors növekedésére, a kernel összeszerelésekor a teljesítmény növekedése teljesen észrevehetetlen. Mostantól szükség lehet egy kernel buildre a nem bináris disztribúciók felhasználóinak, mint például a Gentoo, azoknak, akik szeretnének néhány változtatást végrehajtani a kernelen, megszerezni a legújabb kernelverziót, és természetesen azoknak, akik szeretnék teljesen megérteni a rendszerük működését. .

Ebben az oktatóanyagban megvizsgáljuk, hogyan kell felépíteni a Linux rendszermagot. Az első rész megmondja, hogyan kell beállítani a kernelt automatikus módban. Úgymond azoknak, akik nem akarják megérteni, hogyan működik, akiknek csak a kész terméket kell megkapniuk a kimeneten - az összeszerelt magot. A második részben megnézzük a kernel kézi beállításának főbb lépéseit, ez a folyamat bonyolult és nem gyors, de megpróbálok alapot adni, hogy te magad is kitaláld.

A legelső dolog a kernelforrások letöltése. A legjobb források a disztribúciód webhelyéről származnak, ha vannak, vagy a kernel hivatalos webhelyéről: kernel.org. Megvizsgáljuk a forrás letöltését a kernel.org webhelyről.

A források letöltése előtt el kell döntenünk, hogy a kernel melyik verzióját fogjuk építeni. Két fő kiadási verzió létezik - stabil (stabil) és kiadásjelölt (rc), természetesen vannak még stabilak is, hosszú támogatási időszakkal (hosszú távú), de most fontos, hogy az első kettővel foglalkozzunk. A Stable általában nem a legújabb, de már jól tesztelt kernel, minimális számú hibával. Teszt - éppen ellenkezőleg, a legújabb, de különféle hibákat tartalmazhat.

Tehát, amikor eldöntöttük a verziót, felmegyünk a kernel.org oldalra, és letöltjük a szükséges forrásokat tar.xz formátumban:

Ez a cikk a legújabb, jelenleg instabil verziót, a 4.4.rc7-et fogja használni.

A Linux kernel forrásait a git segédprogrammal is beszerezheti. Először is hozzunk létre egy mappát a forrásoknak:

mkdir kernel_sources

A legújabb verzió letöltéséhez írja be:

git klón https://github.com/torvalds/linux

A kernelforrások kicsomagolása

Most mentettük a forrásokat. Lépjen a forrás mappába:

cd linux_sources

Vagy ha böngészővel töltötte le a linux kernelt, akkor először hozza létre ezt a mappát, és másolja be az archívumot:

mkdir linux_sources

cp ~/Downloads/linux* ~/linux_sources

Csomagolja ki az archívumot a tar segédprogrammal:

És menj a mappába a kicsomagolt kernellel, ez van:

cd linux-4.4-rc7/

Linux kernel build automatikus tuning

Mielőtt elkezdené a linux kernel felépítését, be kell állítani. Mint mondtam, először megvizsgáljuk a kernel felépítésének automatikus beállítását. A rendszer már rendelkezik egy beépített, a disztribúció gyártója által testreszabott és egy teljesen működő kernellel. Ha nem akarunk foglalkozni a kernelkonfiguráció bonyodalmaival, egyszerűen kibonthatjuk a régi kernel kész beállításait, és ezek alapján állíthatjuk elő az újat. Csak az új paraméterekhez kell értékeket megadnunk. Tekintettel arra, hogy a legújabb verziókban nem történtek és nem is terveznek jelentős változtatásokat, ezekre a paraméterekre a konfigurációs szkript szerint reagálhat.

A használt kernel paraméterei a /proc/config.gz címen található archívumban vannak tárolva. Csomagolja ki a konfigurációt, és helyezze el a mappánkba a zcat segédprogrammal:

Munkája során számos kérdésre kell válaszolnia. Ezek olyan új beállítások, amelyek megváltoztak vagy hozzáadásra kerültek az új kernelhez, és új hardver támogatása, a legtöbb esetben választhatja az alapértelmezett beállítást. Általában három lehetőség van: y - tartalmazza, n - nem tartalmazza, m - tartalmazza modulként. Az ajánlott opciót nagybetűvel írjuk, a kiválasztásához csak nyomja meg az Enter billentyűt.

Minden, ami mindenről van szó, körülbelül 10 percet vesz igénybe. A folyamat befejezése után a kernel készen áll a felépítésre. Ezután megnézzük a kernel manuális konfigurálását, és azonnal görgessen a Linux kernel összeállításához.

A Linux kernel kézi hangolása

A kézi konfigurálás összetett és időigényes folyamat, de lehetővé teszi, hogy megértse, hogyan működik a rendszer, milyen funkciókat használnak, és létrehozhat egy kernelt a minimálisan szükséges funkciókészlettel az Ön igényeinek megfelelően. Csak azokra a fő lépésekre térünk ki, amelyeket meg kell tenni a kernel üzembe helyezéséhez és működéséhez. Minden mást magadnak kell kitalálnod a kernel dokumentációja alapján. Szerencsére az egyes paraméterekhez tartozó konfigurációs segédprogram kiterjedt dokumentációval rendelkezik, amely segít megérteni, hogy milyen egyéb beállításokat kell engedélyezni.

Kezdjük. A linux kernel beállítási menüjének elindításához írja be:

Ez megnyitja a segédprogramot az ncurses felülettel:

Amint láthatja, néhány szükséges beállítás már megtalálható, hogy megkönnyítsék a beállítási folyamatot. Kezdjük a legalapvetőbb beállításokkal. A paraméter engedélyezéséhez nyomja meg az y-t, a modul engedélyezéséhez - m, a mozgatáshoz használja a nyilakat és az Entert, a szintre az Exit gombbal térhet vissza Elem megnyitása Általános beállítás.

Itt a következő paramétereket állítjuk be:

helyi verzió- a kernel helyi verziója, minden felépítéssel eggyel növekszik, hogy a telepítés során ne cseréljék le új kernelek a régieket, állítsa az értéket 1-re.

Verzióinformáció automatikus hozzáfűzése a verzió karakterlánchoz- verzió hozzáadása a kernelfájl nevéhez.

Kernel tömörítési mód- kernel képtömörítési mód, a leghatékonyabb lzma.

alapértelmezett gazdagépnév- a számítógép neve megjelenik a beviteli promptban

POSIX üzenetsorok- POSTIX sorok támogatása

Névtelen memória lapozásának támogatása - swap támogatás engedélyezése

Vezérlőcsoport támogatása- a folyamatcsoportok közötti erőforrás-allokáció mechanizmusának támogatása

Kernel .config támogatásaés Engedélyezze a hozzáférést a .config fájlhoz a /proc/config.gz fájlon keresztül- engedélyezze a kernelkonfiguráció kibontását a /proc/config.gz fájlból

Ez minden, visszatérünk a szintre, és bekapcsoljuk betölthető modul támogatás engedélyezése, ez a funkció lehetővé teszi a külső modulok betöltését, majd nyissa meg a menüjét és kapcsolja be:

modulok letiltásának támogatása

modulok kényszerleállása

Vissza és nyitni Processzor típusa és jellemzői:

Processzorcsalád (Opteron/Athlon64/Hammer/K8)- válassza ki a processzor típusát.

Ismét visszatérünk és megyünk a szakaszhoz Fájlrendszerek, majd jelölje be az összes szükséges jelölőnégyzetet.

Feltétlenül engedélyezze Az Extended 3 (ext3) fájlrendszerés Az Extended 4 (ext4) fájlrendszer- szabványos ext3 és ext4 fájlrendszerek támogatásához

Visszatérünk és odamegyünk Kernel hackelés.

Ide soroljuk Magic SysRq kulcs- a SysRq mágikus funkcióinak támogatása, ami nem elengedhetetlen, de néha hasznos.

Még egy pont van hátra, a legnehezebb, mert ezt neked kell végigcsinálnod. Eszközmeghajtók- át kell mennie a szakaszokon, és be kell kapcsolnia a berendezés illesztőprogramjait. Hardver alatt nem szabványos merevlemezeket, egereket, USB eszközöket, webkamerákat, Bluetooth, WIFI adaptereket, nyomtatókat stb.

A következő paranccsal láthatja, hogy milyen berendezés csatlakozik a rendszerhez:

Az összes lépés elvégzése után a kernel készen áll a felépítésre, de nagy valószínűséggel sok mindennel kell foglalkozni.

A kilépéshez nyomja meg néhányszor a gombot. kijárat.

A Linux kernel felépítése

Az összes előkészület befejezése után a linux kernel megépíthető. Az építési folyamat elindításához:

modulok készítése és készítése

Most már elmehet kávézni vagy sétálni, mert az összeszerelési folyamat hosszú és körülbelül fél órát vesz igénybe.

Új kernel telepítése

A kernel és a modulok felépítése után az új kernel telepíthető. A kernelfájlt manuálisan átmásolhatja a rendszertöltő mappába:

cp arch/x86_64/boot/bzImage /boot/vmlinuz

Vagy egyszerűen végrehajthatja a telepítő szkriptet, és azonnal telepítheti a modulokat egyidejűleg:

sudo make install && sudo make modules_install

A telepítés után ne felejtse el frissíteni a Grub rendszerbetöltő konfigurációját:

grub-mkconfig -o /boot/grub/grub.cfg

És indítsa újra a számítógépet, hogy lássa az új kernel működését:

megállapításait

Ez minden. Ebben a cikkben részletesen megvizsgáltuk, hogyan lehet forrásból Linux kernelt felépíteni. Ez mindenkinek hasznos lesz, aki jobban meg akarja érteni a rendszerét, és azoknak, akik a legújabb kernelverziót szeretnék beszerezni a rendszerükön. Ha kérdésed van, írj megjegyzéseket!

Mag- valami központi és legfontosabb, gyakran kerek.
Linus Torvalds (1991. szeptember 17.)

Sokan hallottatok már arról, hogy a linuxoidok gyakran fordítják le a kernelt. Ez csak egyfajta móka... Találjuk ki, mi ez, miért kell építeni, és próbáljuk meg megépíteni a saját kernelt az Ubuntu számára. Kezdjük a definíciókkal.
Linux rendszerekben a kernel a fő operációs rendszer program, amely hozzáférést biztosít a hardverhez, lefoglalja az erőforrásokat, kezeli a fájlrendszereket és a memóriát stb. stb. Azok. A kernel abszolút MINDENT vezérel a rendszerben.
A Linuxban kétféle kernel létezik a legszélesebb körben:

  • monolit kernel
  • moduláris mag

És nagyon röviden megvizsgáljuk a fenti 2 típusú magot.

NÁL NÉL monolit kernel minden összetevője egyetlen entitás, és ugyanabban a címtérben működik, ugyanazokat az adatstruktúrákat használva. Az ilyen kernelek alkalmasak a biztonság javítására, de megsínylik a stabilitást és a rugalmasságot. Monolit kerneleket manapság alig használnak, de a 0.01-es linux kernel első verziója monolitikus volt.
Moduláris mag nagyszámú modulból (erőforrás-kezelő programból) vagy illesztőprogramból áll, amelyek szükség szerint betöltődnek a memóriába. Például a legtöbb disztribúció támogatja az Intel és az AMD processzorokat is a kernelben.

A legtöbb modern disztribúció kernelei abból a szempontból jók, hogy szinte minden hardvert felismernek és betöltik a megfelelő modulokat/illesztőprogramokat. Ez az oka annak, hogy az olyan disztribúciók, mint az Ubuntu, a Fedora, a SuSE és még sokan mások, jól működnek a dobozból. De ebben rejlik a hiányosságuk.

A disztribúciós szállítók a lehető legtöbb modult beépítik kernelükbe, hogy a lehető legtöbb különböző rendszert lefedjék. De a Linux kernel az egyetlen olyan része a rendszernek, amely teljesen be van töltve a RAM-ba, és soha nem került áthelyezésre. Természetesen az Ubuntu kernel modularitása némileg menti a helyzetet: a rendszerben nem lévő berendezések moduljai nem töltődnek be (például az információs szalagos meghajtók támogatása, amelyek csak egyes adatközpontokban találhatók meg). De sok modul alapértelmezés szerint benne van a kernelben. Például a fent említett processzorok. Mindez ahhoz a tényhez vezet, hogy a mag erősen "duzzadt". Ez nem számít, ha sok RAM-mal és meglehetősen fejlett számítógéppel rendelkezik, de gyorsabban és jobban is működhet.

A rendszermag optimalizálása érdekében kerül újraépítésre, és csak a ténylegesen a számítógépre telepített hardver és a használt vagy potenciálisan használható modulok maradnak a kernelben.

Sok felhasználót nagyon megfélemlítenek a "build the kernel" szavak, és meg sem próbálják megtenni. De minden (mint mindig) sokkal egyszerűbb, mint amilyennek látszik. Most új kernelt fogunk építeni az Ubuntu disztribúciónkhoz (más disztribúcióknál minden pontosan ugyanúgy történik, kivéve a sudo).

Útmutató lépésről lépésre a kernel felépítéséhez Ubuntuban.

A kernel keresése és előkészítése

Minden paraméternek (néhány kivételével) 3 lehetséges állapota van: benne van a kernelben (pipáld be a jelölőnégyzetben), modulként lefordítva (pont a jelölőnégyzetben), semmilyen módon nem kapcsolódik (üres jelölőnégyzet).

A gconfig programban a csomag állapota pipával van jelölve a 3 oszlop egyikében: N - ne telepítse, M - telepítés modulonként, Y - telepítés a fő kernelbe.

Az, hogy melyik segédprogramot választja, az egyén dönti el, de én jobban szeretem az xconfig-ot.

Jelöljük a telepítéshez szükséges paramétereket.

  1. Új kernel építése előtt győződjön meg arról, hogy a jelenlegi konfigurációban minden eszköz megfelelően működik (ez nagyban megkönnyíti az életét).
  2. Az első indításakor a konfigurátor az aktuális kernel beállításfájlját fogja használni, mert. meg fogja találni a .config fájlt az új kernellel rendelkező mappában. Ezért, ha a rendszerben minden eszköz megfelelően működik, akkor NE HOZZON HOZZÁ semmilyen csomagot, mert. BIZTOSAN nem fognak használni a rendszerben.
  3. Ha nem biztos abban, hogy egy adott modulra/illesztőprogramra van szükség, válassza a „Modulonkénti telepítés” lehetőséget. Akkor van esély arra, hogy nem zavarja a rendszert, még akkor sem, ha nincs rá szükség.
  4. Gondosan olvassa el a modulok leírását (és tanuljon angolul), ha vannak ajánlások, akkor hallgassa meg őket.
  5. Csak azt törölje, amiről biztos, hogy nem lesz szüksége. Például, ha Intel processzorral rendelkezik, akkor minden, ami az AMD processzorokkal kapcsolatos, törölhető (és fordítva).
  6. Használja a keresést. Először engedélyezze az Összes megjelenítése lehetőséget a menüben a rejtett elemek megjelenítéséhez (az olyan beágyazott elemek, amelyek szülője nincs beállítva). Például van egy Asus laptopom, így beírtam a márkanevet a keresőbe, és sorban beírtam mindent, ami Asus laptopokkal kapcsolatos. Hasonlóképpen kizárhatja azokat a modulokat, amelyekre nincs szüksége. Például megtaláltam az összes modult a Dell, Compaq, Toshiba stb. laptopokhoz, és eltávolítottam őket a konfigurációból.
  7. Nyugodtan keressen át a segítséggel talált modulok között, és győződjön meg arról, hogy benne vannak a kernelben (teljesen benne van, nem modulként), ez növeli a számítógép teljesítményét.

Azt hiszem, ez elég az induláshoz. Ideális esetben természetesen figyelmesen olvassa el az egyes modulokról szóló információkat, és döntse el maga, hogy szükség van-e rá. De ehhez kell egy jó angol nyelvtudás, a számítógép működési elveinek mély ismerete, a hardver ismerete és legalább egy nap szabadidő, hogy mindezt elolvasd, megértsd. Azt javaslom, hogy kezdje az 1-7. tételek megvalósításával, és csak ezután (ha minden rendben) kezdje el a kísérletezést a fennmaradó modulokkal. Nekem személy szerint egy hónapba telt megépíteni a kernelt, ami tetszik, de még mindig sok a felesleg benne (azt hiszem, még hat hónapig ki fogom takarítani).
Most folytathatjuk a kernel felépítését. Ehhez csak az eredményül kapott konfigurációs fájl.config mentése és a konfigurátor bezárása szükséges. A szkript automatikusan megtisztítja a rendszert, és elindítja a kernel felépítési folyamatát. Az Ubuntu alapértelmezett paramétereivel rendelkező kernel 1,5 óra alatt áll össze nekem, az igényeimre optimalizált pedig 30 percet vesz igénybe.

A build-kernel.sh szkript eredményeként két fájlnak kell megjelennie abban a mappában, ahol a kernelmappa található (van /home/user/temp/):

linux-headers-2.6.32.6_bla-bla-bla.deb
linux-image-2.6.32.6_bla-bla-bla.deb

Ezek a fejlécek és a kernelkép. Most telepítse ezeket a .deb csomagokat a szokásos módon (jobb, ha előbb telepíti a fejléceket).
A grub menüben láthatod a kernelt. Valószínűleg nem fogja felvenni a grafikát, ezért a videokártya illesztőprogramjait újra kell telepíteni (ez akkor van, ha saját meghajtókat használ). Most ennyi. Gratulálunk – a semmiből építette fel kernelt!
De ne örülj túlságosan, még akkor sem, ha minden az első próbálkozásra beindult (ez is előfordul - mondták nekem).

  1. Ne rohanjon azonnal összegyűjteni a magot, még jobban levágva. Várjon 2-3 napot a számítógépen végzett intenzív munkával, az összes hiba és a rendszer nem szabványos / szokatlan viselkedésének javításával. Amikor a felépítés következő szakaszába ér, mentse el a konfigurációs file.config fájlt, hogy mindig vissza tudjon lépni a működő verzióra.
  2. Ne tartson nagy számú összegyűjtött magot, ezért ne felejtse el megtisztítani a rendszert a nukleáris túlterheltségtől.
  3. Amikor megjelenik a kernel új verziója, nyugodtan dobja be a .config fájlba, majd csak alaposan át kell tekintenie az új kernel változásait, és ki kell választania a megfelelő modulokat.
  4. Új kernel felépítése előtt készítsen biztonsági másolatot a .config fájlról (a kernellel együtt lévő mappában van). És futtassa a parancsot a kernel mappában sudo make mrproper az előző összeállításból megmaradt fájlok eltávolításához.

Ez ennyire egyszerű!

PS: És mégis, amikor magokat gyűjt, óvatosnak kell lennie. Lebonthatja a rendszert, és akkor egyáltalán nem akar adat-helyreállítást végezni. Kár, hogy az adathordozók emberi segítség nélkül is rendszeresen esnek és "esnek" (főleg a pendrive-ok), de szinte minden helyreállítható.

Amikor az emberek beszélnek nekem a Linux súlyos fékeiről az ugyanarra a gépre telepített Windowshoz képest, egyetlen kérdést teszek fel: „Van egy saját összeállítású kerneled, vagy olyan ellehetetlenülésig dagadt, ami alapértelmezés szerint a disztribúcióval együtt jár?” Általában a válasz: "Persze, mi van a disztribúcióban!"

Emellett nagy meglepetéssel érzékelik ugyanakkor, hogy a rendszer működésének javítása érdekében nem ártana újraépíteni a kernelt az adott számítógépedhez, hogy rengeteg mindent letiltsunk, ami egyáltalán nem szükséges. a hardverhez, de csak lelassítja a munkáját... Azonnal felvetődik a kérdés, hogy a disztribúciós készlet fejlesztői miért tettek bele olyan lassú magot, hogy egy hétköznapi felhasználónak, aki maga telepítette ezt a disztribúciós készletet, újra le kell fordítania. magát? .. És a kérdés logikusnak tűnik, de nem egészen ...

A disztribúciós fejlesztők általában olyan kernelt helyeznek bele, amely könnyen felismeri a lehető legnagyobb hardvert, mind azon a számítógépen, amelyet a nagyapja azért vásárolt, hogy szabadidejében a „Call of duty”-ba vágja magát a tévében való hírek nézésétől, és a legújabb rendszer, amelyet azért vásároltunk, hogy a legtöbbet hozza ki számítógépéből. Természetesen ebben az esetben a kernel teljesen felduzzadtnak bizonyul, és iszonyatosan lelassul működés közben, mert minden alkalommal, amikor a rendszernek egy nagy halom bejegyzést és illesztőprogramot kell „turkálnia” a kernelen belül, ami nem tud tetszeni. vagy a számítógéped... A saját kernel fordítása pedig lehetővé teszi, hogy minden szükségtelent kikapcsolj, csak a szükséges funkcionalitás marad meg... A helyzet az, hogy amikor a Linux operációs rendszer fut, a kernel az egyetlen memóriaterület, amely nem cserélődik , ezért teljesen logikus a lehető legkisebbre tenni. Remélem, tudományosan népszerű módon elmagyaráztam a kernel újjáépítésének feltétlenül szükségességét? ..

Általában a kezdő pingvintermesztők először ismerik fel a kernel összeállításának fontosságát, mert azt hiszik, hogy ez sok tudást és időt igényel, és ez általában a vörös szemű adminisztrátorok elfoglaltsága, akik csak pár miatt alszanak el. órákat egy laptoppal a hóna alatt, és persze nem olyan embernek, aki még érti a Linuxot... Azonban sietek megnyugtatni, hogy minden nagyon egyszerű, és nem kell félni a nem a legbonyolultabb eljárástól. Csak ismernie kell számítógépe teljes konfigurációját, és szánnia kell egy órát a kernel gondos konfigurálására. A telepítő összeállítja a kernelt, és csak fél órára kell teljes rendelkezésére bocsátani a gépet. 🙂

Szóval, ahogy korábban ígértem, elmesélem a saját kernelem beállításának és fordításának folyamatát... Gyerünk!

Az első dolog, amire szükségünk van, az a tényleges forráskód az új kernelhez, amely hamarosan futtatni fogja a Linuxot. Teljesen ingyenesen letöltheti a http://www.kernel.org címről. Le kell töltened a legfrissebb stabil kernelt (általában ez az első a listában, ahol ez áll: "A Linux kernel legújabb stabil verziója..."). Azt tanácsolom, hogy vedd a tar.bz2 archívumot, de csak azért, mert kisebb a mérete. Ha már lefordítottad a kernelt, akkor egyszerűen letöltheted a javításokat, vagyis a javításokat, hogy ne töltsd le a teljes kernelt, ami elég nagy volumenű... Valójában a teljes kernel használatát javaslom, mert azt olvastam, hogy a kernel patch-ekkel történő fordítása során különféle problémák adódhatnak, gyakran közvetlenül a kezek egyszerű görbületével kapcsolatosak, azonban megfelelő ismeretek nélkül jobb nem kockáztatni...

Tehát a kernel letöltődött... Beállítjuk a parancsot:

sudo chmod 777 /usr/src

Ezután dobja be (a letöltött archívumot) a /usr/src mappába. Csomagolja ki az archívumot a következő paranccsal:

tar -jxvf xxxxx.tar.bz2

Ebben a parancsban az xxxxx.tar.bz2 a kernel archív fájljának neve... Ha a kicsomagolás befejeződött, a források az /usr/src/xxxxx könyvtárban lesznek.

Mielőtt elkezdené a kernel hangolását, tájékozódjon pontosan a számítógép specifikációiról:
1) processzor típusa,
2) alaplapi lapkakészlet,
3) a videokártya típusa,
4) a hálózati kártya típusa,
5) a hangkártya típusa,
6) a merevlemez típusa,
7) USB-eszközök és még sok más…

Ha mindent telepítettünk és tanulmányoztunk, folytathatjuk a kernel tényleges konfigurációját.

Bemegyünk a /boot könyvtárba, és ott látunk egy olyan fájlt, aminek a neve config-2.6.24-19-generic. Ő az, akire szükségünk van. Másolja be a /usr/src/xxxxx forráskönyvtárba, és nevezze át .config-ra.

Először is megnyitjuk a Makefile fájlt, és az "EXTRAVERSION="" sorba hozzáadjuk a kernel nevét, például EXTRAVERSION=-mykernel. Ez a sor nem hordoz semmilyen más funkciót, kivéve a saját kernel azonosításának kényelmét.

Ez a parancs elindítja a konfigurációs konzol felületét. Ha a grafikus konfigurátort részesíti előnyben, akkor annak elindításához a következő parancsot kell használnia:

Van egy másik lehetőség a konzolbeállításokhoz:

Ez az opció csak akkor nagyon hasznos, ha már létezik egy generált konfigurációs fájl.config (használhatja a régi kernel beállításfájlját). Ennél az opciónál csak a rendszermag azon verziója óta megjelent szolgáltatásokról tesznek fel kérdéseket, amelyekhez a konfigurációs fájl készült.

Ha azt szeretné, hogy a kernel stabilan és a lehető leggyorsabban működjön, akkor felelősségteljesen közelítse meg a konfiguráció kérdését. Olvassa el figyelmesen az egyes tételeket. Ha valamit nem értesz, keress válaszokat az interneten. Például számos beállítás leírását és tippeket találhat a legjobb használatukhoz. Egyébként ugyanebben a „3.4 Kernel Tuning Példa” részben van néhány tipp a kernel optimalizálásához.

A konfigurálás után válassza a "Konfiguráció mentése új fájlba" elemet, ahol megadjuk a .config-tól eltérő fájl nevét, például.config_mykernel. Ezután átnevezzük a .config fájlt .config_old névre. És két fájlt kap: .config_old és .config_mykernel. Egyébként a szabvány és az Ön konfigurációja közötti különbségeket így láthatja:

diff .config .config_mykernel

Most másolja ki a configuration.config_mykernel fájlt .config néven. Azok. három konfigurációs fájlt kap. Fordításkor a .config fájl kerül felhasználásra. A .config_ubuntu és a .config_mykernel fájlok a jövőben segítségünkre lesznek egy új összeállításban. Ez csak arra az esetre vonatkozik, ha az új kernel működésképtelenné válik.

A kernel fordítását superuser alatt kell elvégezni. Miért legyél root és indítsd el a kernelépítési folyamatot:

sudo -s -H
make-kpkg --initrd --revision=mykernel.1 kernel_image kernel_headers

ebben a sorban a mykernel.1 a kernel neve. Azt írhatsz, amit akarsz.

A fordítási művelet elég sokáig tart, a számítógép teljesítményétől függően általában fél óráig tartott...

A folyamat végén két deb fájl jön létre egy kifejezetten az Ön igényei szerint konfigurált kernellel. Gratulálunk, a mag készen áll.

Most telepítenie kell az összeállított kernelt a rendszerre:

sudo dpkg -i linux-image-xxxxx.deb
sudo dpkg -i linux-headers-xxxxx.deb

Cserélje le a létrehozott deb-fájlok pontos nevével. Ezután újraindítjuk, és meglátjuk a kernelt a menüben. Ha minden a vártnak megfelelően van betöltve, szerintem azonnal teljesítménynövekedést fog érezni. Viszont ha pl egy nVidia kártya van telepítve, akkor nagy valószínűséggel ott lesz a vége... Például a kernel verzióm elindítása után csak fekete képernyőm volt és nulla érzelem...

Ezt az nVidia szabadalmaztatott illesztőprogramjainak telepítésével javították. Telepítésükre két lehetőség van: új kernel alatt (ebben az esetben a grafikus szerver csak a kerneled alatt fog működni (ajánlott, ha nem tervezed a saját kernelen kívül más kernelben dolgozni) és több meglévő kernel alatt (ebben az esetben a rendszer az általad létrehozott új kernelben és az előzőben is elindul) De ez egy teljesen más történet...

Hasonló cikkek

  • Nyugat-Szibéria: rövid fizikai és földrajzi áttekintés

    A nyugat-szibériai síkság bolygónk harmadik legnagyobb síksága az orosz után. Területe körülbelül 2,6 millió négyzetkilométer. A nyugat-szibériai alföld hossza északról délre (a parttól a dél-szibériai hegyekig ...

  • Nyugat-Szibéria átfogó jellemzői

    A nyugat-szibériai síkság bolygónk harmadik legnagyobb síksága az orosz után. Területe körülbelül 2,6 millió négyzetkilométer. A nyugat-szibériai alföld hossza északról délre (a parttól a dél-szibériai hegyekig ...

  • A vállízület rotátor mandzsetta szerkezete és patológiája

    A váll rotátor mandzsetta károsodása meglehetősen gyakori állapot, amely jelentős számú különböző tényező hatására alakul ki, valamivel gyakrabban munkaképes korú férfiaknál. Egy ilyen jogsértés...

  • A tanulók nemi kultúrája kialakításának problémájának elméleti alapjai

    Küldje el a jó munkát a tudásbázis egyszerű. Használja az alábbi űrlapot Azok a hallgatók, végzős hallgatók, fiatal tudósok, akik tanulmányaikban és munkájuk során használják a tudásbázist, nagyon hálásak lesznek Önnek. Közzétett...

  • Fizika alapfogalmak kezdőknek

    Ez a könyv lehetővé teszi az olvasó számára, hogy könnyen elsajátítsa az iskolai fizikatanfolyam alapjait. A szerző segít megérteni a fizika alapvető törvényeinek és jelenségeinek lényegét anélkül, hogy bonyolult elméleti számításokba merülne. A könyv alapvető információkat tartalmaz a főbb területekről...

  • Az eredmények elemzése ADOR módszer szerint

    Ebben a cikkben megmutatjuk, hogy a Bass-Darkey Kérdőív hogyan segít megtudni, mire képesek a beosztottak és jelöltek. Elmagyarázzuk a technika alkalmazását és az eredmények értelmezését. A cikk egy kérdőívet és annak kulcsát tartalmazza. Bónusz - 5 professzionális...