Jaunākais Linux kodols. Kodola izveide Ubuntu. Soli pa solim instrukcija. Kur lejupielādēt Linux kodolu

Es jau sen gribēju uzrakstīt rakstu par Linux kodola izveidi. Un tagad šis brīdis ir pienācis.

Patiesībā, kāpēc veidot kodolu, ja izplatīšana nodrošina perfekti lietojamu kodolu?

Piemēram, lai izmantotu jaunākos draiverus un risinājumus, kas nodrošināti jaunajā kodolā, kad no izplatīšanas ir pieejama tikai vecā filiāle. Arī, piemēram, lai to pielāgotu savai aparatūrai un nedaudz paātrinātu darbu. Uztaisīju sev 3.11, jo tajā ir ielāpu komplekts, kas uzlabo darbu ar ATI videokartēm, un vienai no tām esmu īpašnieks.

Par kodola salikšanu ir rakstīts ļoti daudz rakstu, tāpēc sīkāk neiedziļināšos, bet tikai rakstīšu, kā es pats sev montēju kodolu.

Pirmkārt, jums jāiegūst arhīvs ar vēlamās Linux kodola versijas pirmkodiem.

Vietnē https://www.kernel.org/ varat lejupielādēt vajadzīgo versiju. Es aprakstīšu izveides un instalēšanas procesu, kā piemēru izmantojot versiju 3.11.0.

Kodolu ieteicams veidot direktorijā, kas īpaši izveidots šim nolūkam, izmantojot nepievilcīgu lietotāju. Es apkopoju mapē ~ src/linux/linux-version

Pirms kompilēšanas jāpārliecinās, ka ir uzstādītas visas būvēšanai nepieciešamās atkarības un kompilācijas direktorijā ir brīvas vietas aptuveni 3GB.

Šeit ir sekmīgi kompilējamo pakotņu saraksts (Debian/Ubuntu):

gcc, veidot- Nepieciešamie montāžas un savienošanas instrumenti. Vēlams kādu no jaunākajām pieejamajām gcc versijām.

libncurses5-dev- nepieciešams, lai menuconfig darbotos

kešatmiņa- ļauj paātrināt montāžu

Ja vēlaties izmantot grafisko kodola konfiguratoru, jums vajadzētu instalēt arī pakotnes QT izstrādei, piemēram, libqt4-dev, g++, pkg-config.

Lzop, lz4c- ja jūs interesē alternatīvi kodola un initramfs saspiešanas mehānismi.

Tiek pieņemts, ka pašreizējais direktorijs ir izpakotā kodola direktorijs.

Pēc būvēšanas vides sagatavošanas ir jāģenerē kodola konfigurācija. Pašreizējo konfigurāciju var apskatīt šādi:

Cat /boot/config-`uname -r`

Zcat /proc/config.gz

Principā pašreizējo konfigurāciju var izmantot, rediģējot to kādā no konfigurācijas programmām. Kopējiet to direktorijā, kurā ir izpakots arhīvs ar kodolu, un pārdēvējiet to par .config

cp /boot/config-`uname -r` .config

Man patīk xconfig, man šķiet ērtākais.

Izveidojiet xconfig

Iepriekš nokopētais tiek ielādēts automātiski .config, kas kalpo par mūsu konfigurācijas pamatu. Kodola iestatīšanai ir daudz padomu, tikai iesaku izvēlēties savu procesora versiju, atslēgt aparatūras draiverus, kas tur nav, var izvēlēties arī papildu moduļus, piemēram, zram un kompresijas algoritmu, es izvēlējos lz4 kā ātrāko.

Pēc konfigurācijas saglabāšanas varat sākt kompilēšanu.

Ja esat pārāk slinks, lai manuāli konfigurētu kodolu, ir iespējams automātiski konfigurēt, izmantojot informāciju par ielādētajiem moduļiem: make localmodconfig

Tagad otrais galvenais solis ir kodola un moduļu kompilēšana. Izpildīts ar vienu komandu:

Make -j4 CC="ccache gcc" bzAttēlu moduļi

Kur -j4 atbilst procesora kodolu skaitam jūsu konfigurācijā.

Kompilācija neaizņems ilgu laiku, ja aparatūra ir pietiekami jaudīga un netiek izmantota izplatīšanas kodola konfigurācija. Manā klēpjdatorā ar AMD Phenom P820 procesoru un sešiem gigabaitiem operatīvo atmiņu kompilācija aizņem apmēram pusstundu.

Pēdējais solis ir kodola un moduļu instalēšana.

Sudo sed -i.bak "s/MODULES=most/MODULES=dep/" /etc/initramfs-tools/initramfs.conf

Tas ir nepieciešams, lai samazinātu initrd faila lielumu, iekļaujot tikai ielādei nepieciešamos moduļus.

Instalēšanu var veikt arī ar vienu komandu:

sudo make modules_install instalēt

Vai arī instalējiet visu manuāli. Vispirms moduļi

sudo make modules_install

Tad kodols

Version=`awk "NR<=3 {printf "%s.",$NF}" < Makefile | sed "s/\.$//"`

šādi mēs iegūstam kodola versiju no Makefile

sudo cp arch/`uname -m`/boot/bzImage /boot/vmlinuz-$version sudo cp .config /boot/config-$version sudo cp System.map /boot/System.map-$version sudo update-initramfs - c -k $versija sudo update-grub

Visbeidzot, es pievienoju skriptu, lai automatizētu procesu.

Konfigurācijas konfigurēšanas laikā viņš var uzdot pāris jautājumus, lai atbildētu pēc noklusējuma, jums vienkārši jānospiež Enter.

Laimīga kompilācija.

Kāpēc kāds vēlas kompilēt jaunu kodolu? Bieži vien tas nav nepieciešams, jo noklusējuma kodols, kas piegādāts kopā ar Debian, apstrādā lielāko daļu konfigurāciju. Turklāt Debian bieži piedāvā vairākus alternatīvus kodolus. Tāpēc vispirms varat pārbaudīt, vai ir alternatīva kodola attēla pakotne, kas labāk atbilst jūsu aparatūrai. Tomēr var būt noderīgi kompilēt jaunu kodolu, lai:

Nebaidieties mēģināt kompilēt kodolu. Tas ir jautri un izdevīgi.

Lai kompilētu kodolu Debian veidā, jums ir nepieciešamas dažas pakotnes: , un dažas citas, kas, iespējams, jau ir instalētas (pilnu sarakstu skatiet).

Šī metode izveidos jūsu kodola avota .deb failu un, ja jums ir nestandarta moduļi, izveidos arī no tiem sinhronizētu atkarīgu .deb. Tas ir labāks veids, kā pārvaldīt kodola attēlus; glabās kodolu, System.map un būvējuma aktīvā konfigurācijas faila žurnālu.

Ņemiet vērā, ka jums tā nav ir lai kompilētu savu kodolu “Debian veidā”; taču mēs atklājam, ka iesaiņošanas sistēmas izmantošana kodola pārvaldībai patiesībā ir drošāka un vienkāršāka. Faktiski kodola avotus varat iegūt tieši no Linus, nevis , tomēr joprojām izmantojiet kompilācijas metodi.

Ņemiet vērā, ka pilnu dokumentāciju par lietošanu atradīsit sadaļā . Šajā sadaļā ir tikai īsa apmācība.

Turpmāk mēs pieņemsim, ka jūs varat brīvi pārvaldīt savu datoru un izvilksim kodola avotu kaut kur jūsu mājas direktorijā. Mēs arī pieņemsim, ka jūsu kodola versija ir 3.16. Pārliecinieties, ka atrodaties direktorijā, kurā vēlaties izpakot kodola avotus, izvilkt tos, izmantojot un pāriet uz direktoriju, kas tiks izveidots.

Tagad jūs varat konfigurēt savu kodolu. Palaist, ja X11 ir instalēts, konfigurēts un tiek palaists; palaidiet citādi (jums būs jāinstalē). Veltiet laiku, lai izlasītu tiešsaistes palīdzību un rūpīgi izvēlieties. Ja rodas šaubas, parasti ir labāk iekļaut ierīces draiveri (programmatūru, kas pārvalda aparatūras perifērijas ierīces, piemēram, Ethernet kartes, SCSI kontrollerus utt.), par kuru neesat pārliecināts. Esiet piesardzīgs: citas opcijas, kas nav saistītas ar noteiktu aparatūru, ir jāatstāj noklusējuma vērtībā, ja tās nesaprotat. Neaizmirstiet atlasīt "Kodola moduļa ielādētājs" sadaļā "Loadable module support" (tas nav atlasīts pēc noklusējuma). Ja tas nav iekļauts, jūsu Debian instalācijā radīsies problēmas.

Notīriet avota koku un atiestatiet parametrus. Lai to izdarītu, dariet.

Tagad kompilējiet kodolu: . Versijas numuru “1.0” var mainīt pēc vēlēšanās; tas ir tikai versijas numurs, ko izmantosit, lai izsekotu kodola būvēm. Tāpat vārda “pielāgots” vietā varat ievietot jebkuru vārdu, kas jums patīk (piemēram, saimniekdatora nosaukums). Kodola kompilācija var aizņemt diezgan ilgu laiku atkarībā no jūsu iekārtas jaudas.

Kad kompilācija ir pabeigta, varat instalēt savu pielāgoto kodolu tāpat kā jebkuru pakotni. Kā root, dariet . Daļa ir izvēles apakšarhitektūra atkarībā no iestatītās kodola opcijas. instalēs kodolu kopā ar dažiem citiem jaukiem atbalsta failiem. Piemēram, tiks pareizi instalēts (noderīgs kodola problēmu atkļūdošanai) un tiks instalēts, iekļaujot pašreizējo konfigurācijas kopu. Jūsu jaunā kodola pakotne ir arī pietiekami gudra, lai automātiski atjauninātu sāknēšanas ielādētāju, lai izmantotu jauno kodolu. Ja esat izveidojis moduļu pakotni, jums būs jāinstalē arī šī pakotne.

Ir pienācis laiks atsāknēt sistēmu: uzmanīgi izlasiet visus brīdinājumus, ko, iespējams, radīja iepriekšminētā darbība, pēc tam .

Papildinformāciju par Debian kodoliem un kodola kompilāciju skatiet Debian Linux kodola rokasgrāmatā. Lai iegūtu papildinformāciju, izlasiet smalko dokumentāciju .

Ja atceraties, ne tik sen mēs uzzinājām, kā izveidot FreeBSD kodolu no avota. Jautājums ir, kāpēc neiemācīties darīt to pašu ar Linux kodolu? Iemesli Linux kodola izveidei no avota kopumā ir tie paši – jaunākās kodola versijas iegūšana, steidzama drošības ielāpu uzlikšana, optimizācija konkrētiem uzdevumiem un konkrētai aparatūrai, kā arī vēlme piedalīties kodola izstrādē, pat QA lomā.

Svarīgs! Ievērojot šajā ziņā sniegtos norādījumus, jūsu dati var tikt zaudēti. Izveidojiet dublējumus un atcerieties, ka jūs visu darāt, riskējot un riskējot. Viss, kas aprakstīts tālāk, ir pārbaudīts Ubuntu 14.04 LTS. Taču citās Ubuntu versijās, kā arī citos Linux izplatījumos atšķirībām jābūt minimālām.

Sāknēšanas ielādēja iestatīšana

Rediģējiet /etc/default/grub šādi:

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=10
#GRUB_HIDDEN_TIMEOUT_QUIET=patiess
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i-s2>/dev/null ||echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT = "kluss slampāt"
GRUB_CMDLINE_LINUX=""

Pēc rediģēšanas mēs sakām:

sudo update-grub

Tā rezultātā pirms sistēmas sāknēšanas jums 10 sekundes tiks piedāvāts izvēlēties kodolu, ar kuru vēlaties palaist. Ļoti ērti, ja esat sajaucis kodola konfigurāciju un vēlaties palaist ar iepriekšējo versiju!

Instalējiet atkarības

Mums būs nepieciešamas vismaz šādas paketes:

sudoapt-get installgitgccmakebc fakeroot dpkg-dev\
libncurses5-dev libssl-dev

Tomēr daudzās sistēmās tās visas jau būs pieejamas.

Avota iegūšana

wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.6.4.tar.xz
tar-xz-xvf Linux-4.6.4.tar.xz
cd Linux-4.6.4

Vai arī, ja vēlaties jaunāko, varat iegūt avotu tieši no Git:

# Spogulis: https://github.com/torvalds/linux
git clone'git://git.kernel.org/pub/scm/linux/kernel/git/'\
"torvalds/linux.git"
cd Linux

Spriežot pēc tā, ka Git nevarēju atrast v4.6.4 tagu, Linux kodola laidieni tiek veidoti tikai saspiestu tar arhīvu veidā.

Ja vaniļas kodola vietā vēlaties izveidot kodolu ar ielāpiem no Canonical:

git klons git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git
cd ubuntu-trusty
git tag|mazāk
git checkout Ubuntu-lts-4.4.0-31.50_14.04.1

Pēc manas pieredzes, ja izmantojat Ubuntu, varat droši izmantot vaniļas kodolu. Maz ticams, ka ar to jums būs problēmas.

Piezīme: Interesanti, ka no esošajiem salīdzinoši populārajiem Linux izplatījumiem tikai Gentoo, Slackware un Arch Linux, šķiet, izmanto kodolu bez saviem ielāpiem.

Jebkurā gadījumā tagad jums ir avota kods.

Kodola kompilēšana un instalēšana

Atlasiet opcijas, ar kurām tiks veidots kodols:

Ja nepieciešams, mainiet iestatījumus, noklikšķiniet uz Saglabāt un pēc tam uz Iziet. Rezultātā tiks izveidots fails ar mūsu atlasītajiem parametriem.

Plkst Atjaunināt kodols (vai jūs jau lietojat kādu kodolu?) ir ērti ņemt pašreizējā kodola konfigurāciju un iestatīt jaunajām opcijām to noklusējuma vērtības:

zcat/proc/config.gz > ./.config
izveidot olddefconfig

Visbeidzot, mēs savācam:

make-j4 bindeb-pkg LOCALVERSION=-pielāgots

Kodols ir samontēts diezgan ilgu laiku. Manā klēpjdatorā montāža aizņēma 1 stundu un 15 minūtes. Tomēr no šī laika par Pārējais tiek tērēts, veidojot milzīgu kodola pakotni ar atkļūdošanas simboliem.

Linux kodola manuāla uzbūve un konfigurēšana

Šīs pakotnes montāžu var atspējot, konfigurācijā komentējot parametru CONFIG_DEBUG_INFO. Vienkārši ņemiet vērā, ka šī pakete ir nepieciešama SystemTap un citiem noderīgiem rīkiem.

Papildus pašam kodolam varat arī apkopot dokumentāciju:

# ir arī `make pdfdocs` un citi, skaties `make help`
izveidot html dokumentus
chromium-browser Documentation/DocBook/index.html

Pēc montāžas pabeigšanas meitasuzņēmums direktorijā mēs redzam kaut ko līdzīgu:

linux-firmware-image-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-headers-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-image-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-image-4.4.13-custom-dbg_4.4.13-custom-1_amd64.deb
linux-libc-dev_4.4.13-custom-1_amd64.deb

Mēs ievietojam visas deb pakotnes, izņemot kodola dbg versiju ar parastajām, un pārstartējam. Pēc pārstartēšanas mēs skatāmies uz komandas izvadi. Mēs pārliecināmies, ka mēs patiešām sāknējām ar jauno kodolu. Ja kaut kas nav kārtībā ar jauno kodolu, sāknēšanas ielādētājā mēs vienkārši atlasām to, ar kuru sistēma tika sāknēta iepriekš. Pēc sāknēšanas ar veco kodolu mēs ātri noņemam jaunā kodola pakotnes, un voila - sistēma atgriezās iepriekšējā stāvoklī.

Turklāt pēc jauna kodola ielādes varat palaist tā testus:

sudomake kselftest
sudomake kselftest-clean

Apsveicam! Tagad jūs zināt, kā izveidot Linux kodolu!

Secinājums

Materiāli par Linux kodola iekšējām ierīcēm:

  • KernelNewbies.org, vietne Linux kodola iesācējiem ar savu adresātu sarakstu, IRC kanālu, forumu, wiki un daudz ko citu;
  • LKML.org, vietne, kurā ērti lasīt Linux kodola izstrādātāju adresātu sarakstu, izmantojot pārlūkprogrammu. Esiet uzmanīgi, tas bieži sabojā burtu formatējumu! Šajā ziņā adresātu sarakstu arhīvs vietnē marc.info ir daudz labāks;
  • Linux Cross Reference, vietne ērtai Linux kodola koda lasīšanai, izmantojot pārlūkprogrammu;
  • Grāmata Linux Kernel Development, 3rd Edition ir jaunākā grāmata par Linux kodolu angļu valodā (2010, kodols 2.6.x), ir tulkojums krievu valodā;
  • Grāmata Linux-Treiber entwickeln, 4th Edition ir jaunāka (2015, kodols 4.x), taču tā ir uzrakstīta vācu valodā un tai nav tulkojuma;
  • Bezmaksas grāmata Linux Insides, ko autors ir Aleksandrs Kulešovs jeb @0xAX, šķiet vispieejamākā un visjaunākā, taču šobrīd tā ir tapšanas procesā;
  • Dažreiz jūs varat atrast kaut ko noderīgu Linux kodola HTML dokumentācijā, oficiālajā dokumentācijā no Linux kodola avotiem;
  • Piemēri grāmatai Linux Device Drivers, 3rd Edition, kas cenšas būt aktuāla, kā arī avoti 4. izdevumam, kas pašlaik tiek rakstīts;

Vai veidojat kodolu no avota, un ja jā, tad kāpēc? 🙂

Papildinājums: Iespējams, jūs interesēs arī raksts Skandalozā patiesība par kodola koda atkļūdošanu operētājsistēmā Linux.

Birkas: Linux, Ring0.

Linux kodola kompilēšana


Daudzi to uzskata par bezjēdzīgu laika tērēšanu, lai parādītu sevi kā gudru un progresīvu "Linuxoid". Faktiski kodola kompilēšana ir ļoti svarīga lieta. Pieņemsim, ka esat iegādājies jaunu klēpjdatoru, kuram nav funkcionējošas tīmekļa kameras. Tavas darbības? Jūs meklējat meklētājprogrammu un meklējat problēmas risinājumu šajā jautājumā. Diezgan bieži var izrādīties, ka jūsu tīmekļa kamera darbojas jaunākā kodola versijā nekā jums. Ja nezināt, kāda versija jums ir, terminālī ierakstiet uname -r, kā rezultātā jūs iegūsit kodola versiju (piemēram, linux-2.6.31-10). Arī kodola kompilācija tiek plaši izmantota, lai palielinātu veiktspēju: kodola izplatījumi pēc noklusējuma tiek apkopoti “visiem”, tāpēc tajā ir iekļauts milzīgs skaits draiveru, kas jums, iespējams, nav vajadzīgi. Tātad, ja labi pārzināt savu aparatūru, konfigurācijas posmā varat atspējot nevajadzīgos draiverus. Ir iespējams arī iespējot atbalstu vairāk nekā 4 gigabaitiem RAM, nemainot sistēmas bitu dziļumu.

Kā izveidot Linux kodolu? Linux kodola izveide

Tātad, ja jums joprojām ir nepieciešams savs kodols, sāksim kompilēšanu!


Pirmā lieta, kas jādara, ir iegūt vēlamās kodola versijas avota kodu. Parasti jums ir jāiegūst jaunākā stabilā versija. Visas oficiālās kodola versijas ir pieejamas vietnē kernel.org.

Ja jums jau ir instalēts X serveris (mājas dators), varat doties uz vietni savā iecienītākajā pārlūkprogrammā un lejupielādēt vajadzīgo versiju tar.gz (gzip saspiests) arhīvā. Ja strādājat konsolē (piemēram, vēl neesat instalējis X serveri vai konfigurējat serveri), varat izmantot teksta pārlūkprogrammu (piemēram, elinks).

Varat arī izmantot standarta wget lejupielādes pārvaldnieku:


tar -zxvf ceļš uz_arhīvu

Kodola konfigurācija.

Kompilācija.
izveidot un veikt instalēšanu
Mēs gaidām no 20 minūtēm līdz vairākām stundām (atkarībā no datora jaudas). Kodols ir instalēts. Lai tas tiktu parādīts grub(2) sarakstā, ierakstiet (kā root)
update-grub


Rakstu arhīvs:
2017. gada maijs
2017. gada marts
2016. gada aprīlis
2016. gada marts
2013. gada oktobris
2013. gada septembris
2013. gada maijs
2013. gada marts
2012. gada novembris
2012. gada jūlijs
2012. gada jūnijs
2012. gada aprīlis
2012. gada marts
2012. gada februāris
2011. gada aprīlis
2011. gada marts
2011. gada februāris
2011. gada janvāris
2010. gada decembris
2010. gada novembris
2010. gada oktobris
2010. gada septembris
2010. gada augusts
2010. gada jūlijs
2010. gada jūnijs
2010. gada maijs
2010. gada aprīlis
2010. gada marts

Nejauši:

Stellarium virtuālais planetārijs: jaunu funkciju pārskats

BOINC: skaitļošana zinātnei

Gambas: Linux pamata izstrāde

SSH 2.0 sērijas diagrammas

Linuxnow.ru: nākotnes plāni

Vai pēkšņi pietrūkst brīvas vietas diskā? Iespējams, problēma ir žurnālos.

Kolēģi: visi
Linux visiem

Mūsu baneri:


Iestatīt reklāmkarogu

Linux kodola konfigurācija

Avota pakotņu pārbaude

Kodola pārkompilēšanai ir nepieciešami tā avoti.

Blogs par sistēmas administrēšanu. Raksti par Linux, Windows, NetApp krātuvi un virtualizāciju.

Red Hat ievieto kodola avotus vienā rpm pakotnē, bet pēc noklusējuma netiek instalēts. Šīs pakotnes nosaukums:

kernel-source-2.4.2-2.1386.rpm

Papildus avota kodam, lai pārkompilētu kodolu, jums ir nepieciešams kompilators, kas sastāv no diviem komponentiem:

padarīt lietderību;

pašas C valodas kompilators ir gcc vai egcs.

Pašreizējā kodola rezerves kopijas izveide tiek veikta trīs posmos:

1. Kodola avotu rezerves kopijas izveide, kas ļauj to atjaunot, ja konfigurācija ir bojāta.

2. Paša kodola rezerves kopijas izveidošana kā zināms darba līdzeklis sistēmas palaišanai.

3. Jauna operētājsistēmas ielādētāja ieraksta izveide, ko var izmantot boot no kodola dublējuma.

Avota dublējuma izveide tiek veikta, kopējot kodola avota direktoriju diskā. Atkopšana tiek veikta, kopējot pretējā virzienā.

Kad kodols tiek pārkompilēts, vecais kodols tiek ierakstīts failā ar paplašinājumu .old. Tomēr šo kodola kopiju vēl nevar izmantot sistēmas sāknēšanai. Tas izskaidro nepieciešamību veikt iepriekš minētās darbības.

LILO tipa operētājsistēmas ielādētājs, ko parasti izmanto, lai palaistu Linux, tiek konfigurēts, izveidojot saiti uz kodola failu saknes failu sistēmā.

Pēc kodola dublēšanas failam /etc/lilo.conf jāpievieno vēl viens ieraksts, lai varētu startēt Linux ar veco kodolu:

atveriet failu /etc/lilo. conf teksta redaktorā

izveidot visa nodalījuma kopiju;

mainīt divas pozīcijas kopijā:

aizstāt kodola faila nosaukumu ar tā rezerves kopijas nosaukumu (kopā ar paplašinājumu);

nomainiet nodalījuma etiķeti ar kaut ko līdzīgu Linux. oriģināls (oriģināls Linux) vai Linux iepriekšējais (vecais Linux).

rindas, kas sākas ar initrd, jāaizstāj ar atbilstošiem atkāpšanās variantiem, piemēram, initrd-2 .4.2-2. orig. img;

ierakstiet izmaiņas mapē /etc/lilo. konf.

ievadiet komandu /sbin/lilo, lai bootloader ievadītu jaunu ierakstu. Palaižot komandu lilo, ekrānā tiek parādītas operētājsistēmas sāknēšanas ielādētājā ievadīto attēlu etiķetes.

Nākamajā reizē, kad sistēma tiks pārstartēta, LILO sāknēšanas ielādēja rīka padoms tiks parādīts jaunais kodola ID.

Jauna kodola konfigurēšana

Konfigurācija izlemj, kuras funkcijas iekļaut kodolā, kuras neiekļaut utt. Varat izvēlēties starp vecā kodola konfigurēšanu vai jauna kodola instalēšanu/konfigurēšanu. Piemēram, izmantojot Red Hat Linux 7.1, varat pārkonfigurēt esošu 2.4.2 kodolu ar jaunām opcijām. Varat arī lejupielādēt un instalēt jauno 2.4.4 kodolu. Lai gan konfigurācijas informācija abos gadījumos atšķiras, izmantotās utilītas un pati konfigurācijas metodika ir vienāda.

Linux ir trīs atsevišķas konfigurācijas utilītas, katrai no kurām ir savas īpašības.

Lietderība ar komandrindas interfeisu. Lietotājs konsekventi atbild uz jautājumiem par funkcijām, kas jāiekļauj kodolā. Šī utilīta ir noderīga tiem, kas zina, kā strādāt ar kodolu, un tiem, kuriem ir šīs utilītas konfigurācijas skripti.

Lietderība ar teksta režīma izvēlni. Šīs utilītas daudzlīmeņu izvēlne ļauj iestatīt un pārinstalēt kodola parametrus jebkurā secībā.

GUI utilīta. Šī ir vispievilcīgākā utilīta, taču tā darbojas tikai grafiskajā X Window sistēmā.

Norādītās utilītas izveido to pašu konfigurācijas failu, ko izmanto utilīta make, kompilējot pilnus vai daļējus kodolus.

Kodola opcijas

Apskatot parametrus jebkurā konfigurācijas programmā (komandrindā, teksta vai grafiskā interfeisā), ir jābūt skaidrībai par šo parametru ietekmi uz kodola darbību.

Parametru identifikācija katrā programmā ir atšķirīga, taču visās trijās tiek uzrādīta viena un tā pati to kopa. Parametri ir sadalīti divās galvenajās grupās:

modulāra;

nemodulārs.

Ja šim parametram atbilstošais programmas bloks netiek ielādēts kā kodola modulis, tas var būt viens no diviem faktoriem:

[*] kodola neatņemama sastāvdaļa;

Neatņemama kodola sastāvdaļa.

Rakstzīmes kvadrātiekavās (kopā ar iekavām) atbilst opciju apzīmējumiem konfigurācijas programmu izvēlnē (izņemot komandrindas utilītu).

Moduļu parametriem ir trīs iestatīšanas iespējas (atbilstoši to attēlojumam konfigurācijas utilītu izvēlnē):

<>nav iekļauts kodolā un nav izveidots kā modulis, kuru var ielādēt vēlāk:

<*>ir iekļauts kodolā, tāpēc nav nepieciešams to vēlāk ielādēt kā moduli:

<М>Iekļauts kā modulis, bet ne kā daļa no kodola. Bloku var instalēt vai noņemt no kodola jebkurā laikā.

Dažreiz parametra vērtību nevar mainīt, kamēr nav iestatīts cits parametrs. Piemēram, jūs varat instalēt atbalstu konkrētai SCSI ierīcei tikai pēc tam, kad ir iespējots atbalsts šīm ierīcēm kopumā.

Kad sistēmā ir instalēti nepieciešamie rīki (utilīta make un gcc kompilators) un avota teksti, varat palaist kādu no konfigurācijas utilītprogrammām un sākt kodola konfigurēšanu.

GUI konfigurators

Konfigurācijas utilīta palaišana ar grafisko interfeisu tiek veikta šādā secībā.

Palaidiet X Windows sistēmu (ar jebkuru grafisko vidi un darbvirsmu).

Atveriet termināļa emulatora logu (komandrindas logu).

Tāpat kā iepriekšējās utilītas palaišanas gadījumā, ekrānā mirgos vairāki ziņojumi par utilītas apkopošanu, un pēc dažām minūtēm tiks atvērts tās galvenais logs.

Rīsi. 8. Kodola konfigurācijas utilīta ar grafisko interfeisu: izvēlnes pogas parametru vērtību iestatīšanai

Grafiskā utilīta pārāk neatšķiras no menuconf ig utilīta. Šeit opcijas ir arī iedalītas kategorijās; noklikšķinot uz konkrētas kategorijas, tiek atvērts dialoglodziņš ar opciju sarakstu, no kurām katrai var iestatīt vērtību, kas nosaka, vai attiecīgais rīks ir jāizmanto kā kodola daļa, kā ielādējams modulis vai vispār neizmantojams.

Šāds dialoglodziņš ir parādīts attēlā.

Rīsi. 9. Dialoglodziņi, piemēram, šis, nosaka kodola konfigurācijas opcijas

Red Hat Linux kodols 2.4.2 atbalsta simetrisko daudzprocesoru arhitektūru pēc noklusējuma. Ja datoram ir tikai viens procesors, attiecīgā opcija jāiestata uz n.

Katras opcijas labajā pusē ir palīdzības poga.

Liela grafiskās konfigurācijas utilīta priekšrocība (īpaši pirmreizējiem kodola konfigurētājiem) ir tā, ka izvēlne parāda dažādu opciju atkarības. Piemēram, sadaļā Bloķēt ierīces nevar instalēt kodolā iebūvēto RAID atbalstu, kamēr nav iespējota opcija Vairāku ierīču draiveru atbalsts.

Ja utilītprogrammā menuconfig parametru atkarība viens no otra tiek parādīta ar parametru nosaukumu atkāpi izvēlnē, tad grafiskajā utilītprogrammā vienkārši nav iespējams iestatīt neatļautas parametru kombinācijas. Darbs ar grafisko utilītu palīdz izprast dažādu moduļu atkarības.

Grafiskās utilītas galvenās izvēlnes beigās ir komandas, kas ir līdzīgas attiecīgajām utilīta komandām no teksta režīma izvēlnes.

Saglabāt un iziet (Iziet ar saglabāšanu). Kodola konfigurācijas faila izveide un utilīta izslēgšana.

Iziet bez saglabāšanas. Lietderības izslēgšana, neveidojot kodola konfigurācijas failu.

Neizveidojot kodola konfigurācijas failu, izmantojot kādu no uzskaitītajām utilītprogrammām, kodola pārkompilēšana nav iespējama.

Ielādēt konfigurāciju no faila. Notiek iepriekš izveidotā konfigurācijas faila ielāde.

Saglabāt konfigurāciju failā. Konfigurācijas datu ierakstīšana failā ar norādīto nosaukumu (turpmākai lietošanai vai nodošanai kolēģim). Tas neietekmē nepieciešamību izpildīt komandu Saglabāt un iziet, kas izveido konfigurācijas failu kodola pārkompilēšanai.

Jauna kodola kompilēšana un palaišana

Kad konfigurācija ir pabeigta, jums ir jāpārbauda jauns konfigurācijas fails (.config), kas atrodas direktorijā /usr/src/linux-2 .4.2 (atkarībā no versijas numura). Ja ir konfigurācijas fails .config, varat izmantot komandu make, lai pārkompilētu kodolu.

Parasti kodola pārkompilācija ilgst no 15 minūtēm līdz vairākām stundām. Tas ir atkarīgs no procesora ātruma, operatīvās atmiņas apjoma un vairākiem citiem faktoriem, tāpēc visas kompilācijas laikā ievadītās komandas ir ērti apvienot vienā, atdalītas ar semikolu, lai tās tiktu izpildītas secīgi.

Tiek sākts pārkompilācijas process

Tālāk norādītās komandas ir paredzētas, lai izveidotu jaunu kodolu, pārkompilējot visus tā moduļus un ierakstot tos atbilstošajos sistēmas direktorijos. (Tur tie būs pieejami kodola komandām.)

Lai pārkompilētu sistēmu, tiks ievadītas šādas komandas.

# make dep; padarīt tīru; padarīt bzlmage; izgatavot moduļus; veikt modules_install

Katru make komandu var ievadīt atsevišķi pēc tam, kad ir pabeigta iepriekšējā.

Pēc šo komandu ievadīšanas ekrānā mirgos rindas, kas apraksta direktorijus, kuriem piekļūst programma make, gcc kompilatora palaišanu. dažādu avota failu apkopošanai un dažādu bloku saistīšanai. Katras no šīm komandām izpilde prasīs vairākas minūtes.

Tagad varat izveidot sāknēšanas disku jaunajam kodolam ar komandu

Pirms šīs komandas izpildes diskdzinī ir jāievieto formatēta diskete. Gatavais sāknēšanas disks ir jāpārbauda. Restartējiet datoru, neizņemot disketi no diskdziņa.

Pēc kodola kompilācijas komandu izpildes un atgriešanās komandrindā tiek izveidots jauns kodols. Lai palaistu sistēmu ar jaunu kodolu, tā ir jāpārvieto uz standarta direktoriju, no kuras tā darbosies. Tas tiek darīts, ievadot komandu

# cf /usr/src/linux-2.4.2/arch/i386/boot/bzlmage /boot/vmlinuz-2.4.2-2

Visbeidzot, lai atjauninātu sāknēšanas karti, palaidiet komandu lilo:

Kopējamā kodola attēla nosaukumā varat norādīt versijas numuru. Ir svarīgi, lai šī faila nosaukums atbilstu /etc/lilo.conf failā norādītajam nosaukumam.

Jauna kodola testēšana

Pēc jaunā kodola faila pārvietošanas uz noklusējuma direktoriju (norādīts failā lilo.conf), sistēmu var pārstartēt ar šo kodolu.

Tūlīt pēc pārstartēšanas pārbaudiet to jauno rīku darbību, kuriem tika sākta atkārtota kompilācija. Varat veikt tālāk norādītās darbības.

Veco un jauno serdeņu tilpumu salīdzinājums. Jums vajadzētu pārbaudīt operētājsistēmas aizņemtās atmiņas apjomu, izdodot bezmaksas komandu.

Failu sistēmas uzstādīšana vai mēģinājums piekļūt ierīcei, neielādējot kodola moduli, lai to atbalstītu (ja šīs ierīces atbalsts ir iebūvēts kodolā).

Tīkla resursu (piemēram, IP aizstājvārdu) izmantošana, kas nebija vecajā kodolā.

Var būt nepieciešams pārbaudīt pašreizējā kodola faila laikspiedolu. Lai to izdarītu, ievadiet komandu uname. Tas ļauj pārliecināties, vai sistēma pašlaik darbojas ar pārkompilēto kodolu. Kodola laika zīmogam un datumam ir jāatbilst tā pārkompilēšanas laikam.

Ja atbilde no komandas uname norāda, ka sistēma netika sāknēta ar jauno kodolu, meklējiet LILO sāknēšanas ielādētāju. Pārbaudiet, vai failā /etc/lilo.conf ir pareizs sāknējamā kodola nosaukums.

SKATĪT VAIRĀK:

Linux kodola kompilēšana un instalēšana no avota pakalpojumā Debian

Materiāls no Bryansk Linux Users Group un www.rm.pp.ru

Katram izplatīšanai ir sava kodola izveides specifika, un šis raksts koncentrējas uz to, kā tieši to izdarīt programmā Debian Etch. Tas arī atklāj jautājumu par to, kā uzlikt šo vai citu ielāpu kodolam, ja ir nepieciešams atbalstīt noteiktu funkcionalitāti vai jaunu aparatūru jūsu sistēmā. Raksts ir paredzēts galvenokārt pieredzējušiem lietotājiem, un nav garantijas, ka šī metode darbosies tā, kā vajadzētu, un visas aprakstītās darbības un atbildība gulstas uz jums.

  1. Piezīme
  2. Pirmā metode. Kodola izveide .deb pakotnēs
  3. Plāksteru uzlikšana
  4. Kodola konfigurācija
  5. Kodola kompilēšana
  6. Jauna kodola instalēšana
  7. Otrā metode. "tradicionālajā" veidā
  8. Problēmas
  9. Saites

Piezīme

Tiks aprakstītas divas kodola veidošanas metodes. Vispirms tiks aprakstīts jūsu vai citā sistēmā instalēto .deb pakotņu būvēšanas variants.

Otrā metode ir tā sauktais "tradicionālais" veids.

Pirmā metode. Kodola izveide .deb pakotnēs

Kodola kompilēšanai nepieciešamo pakotņu instalēšana

Vispirms atjaunināsim pakotņu sarakstus:

# apt-get update

Instalējiet mums nepieciešamās pakotnes:

# apt-get install kodola pakotne libncurses5-dev fakeroot wget bzip2 build-essential

Kodola avotu lejupielāde

Dodieties uz direktoriju /usr/src, dodieties uz www.kernel.org un atlasiet vajadzīgo kodola versiju. Šajā gadījumā tiks ņemta vērā versija linux-2.6.23.1.tar.bz2. Notiek lejupielāde:

# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.1.tar.bz2

Izpakojiet avotus un izveidojiet simbolisku saiti:

# tar xjf linux-2.6.23.1.tar.bz2 # rm linux (noņemt iepriekšējo simbolu) # ln -s linux-2.6.23.1 linux # cd /usr/src/linux

Plāksteru uzlikšana

Pēc izvēles un nevajadzīgi nedariet to!

Dažreiz ir nepieciešami draiveri vai līdzekļi, kas netiek atbalstīti pašreizējā kodolā, piemēram, virtualizācijas tehnoloģija vai cita specifika, kas nav pašreizējā laidienā. Jebkurā gadījumā tas tiek labots, uzliekot tā sauktos ielāpus (ja tādi ir).

Tātad, pieņemsim, ka esat lejupielādējis nepieciešamo ielāpu (piemēram, sauksim to par patch.bz2) mapē /usr/src. Lietojiet lejupielādēto ielāpu mūsu avotiem (Jums joprojām jāatrodas direktorijā /usr/src/linux):

# bzip2 -dc /usr/src/patch.bz2 | ielāps -p1 --dry-run # bzip2 -dc /usr/src/patch.bz2 | ielāps-p1

Pirmā komanda ir tikai pārbaude, un avotiem netiks piemērotas nekādas izmaiņas. Ja pēc pirmās komandas netika atgrieztas kļūdas, varat palaist otro komandu, lai lietotu ielāpu. Nekādā gadījumā neizpildiet otro komandu, ja kļūdas tika izdotas pēc pirmās!

Tādā veidā jūs varat lietot ielāpus kodola avotiem. Piemēram, ir daži līdzekļi, kas ir pieejami tikai kodolā 2.6.23.8, un avotos nebija vajadzīgās funkcionalitātes, taču tika izlaists ielāps-2.6.23.8.bz2. Šo ielāpu var lietot 2.6.23 kodola avotiem, bet ne 2.6.23.1 vai 2.6.23.3 utt. Vairāk par to varat lasīt:

Prefiksi (prepatches) - līdzvērtīgi alfa izlaidumiem; ielāpi ir jāpiemēro pilna iepriekšējā laidiena avotiem ar 3 ciparu versiju (piemēram, ielāpu 2.6.12-rc4 var lietot versijas 2.6.11 avotiem, bet ne versijai 2.6.11.10.)

Tas nozīmē, ka, ja vēlamies izveidot kodolu 2.6.23.8, mums ir jālejupielādē versijas 2.6.23 avoti (http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6. 23.tar.gz) pielietots otrā veidā "tradicionālā" veidā!

Lietojiet ielāpu 2.6.23.8.bz2 kodolam 2.6.23:

# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.22.8.bz2 # cd /usr/src/linux # bzip2 -dc /usr/ src/patch-2.6.23.8.bz2 | ielāps -p1 --dry-run # bzip2 -dc /usr/src/patch-2.6.23.8.bz2 | ielāps-p1

Kodola konfigurācija

Ir lietderīgi izmantot esošā kodola konfigurācijas failu arī jaunajam. Tāpēc mēs kopējam esošo konfigurāciju uz /usr/src/linux:

# make clean && make mrproper # cp /boot/config-`uname -r` ./.config

# izveidot izvēlnes konfigurāciju

pēc tam tiks ielādēta grafiskā kodola konfigurācijas izvēlne. Konfiguratora izvēlnē atlasiet "Ielādēt alternatīvu konfigurācijas failu" un noklikšķiniet uz "OK". Pēc tam (ja nepieciešams) veiciet nepieciešamās izmaiņas kodola konfigurācijā, pārvietojoties pa izvēlnēm (kodola konfigurācijas informāciju var atrast vietnē www.google.com ). Kad esat pabeidzis un nospiedīsit "Iziet", tiks uzdots jautājums "Vai vēlaties saglabāt savu jauno kodola konfigurāciju?", mēs atbildam apstiprinoši "Jā".

Linux kodola izveide

Kodola kompilēšana

Kodola izveide tiek veikta tikai divās komandās:

# make-kpkg clean # fakeroot make-kpkg --initrd --append-to-version=-cybermind kernel_image kernel_headers

Pēc --append-to-version= varat rakstīt jebkuru nosaukumu, bet tam ir jāsākas ar mīnusa zīmi (-) un tajā nedrīkst būt atstarpes.

.deb pakotņu kompilēšanas un veidošanas process var aizņemt diezgan ilgu laiku. Viss būs atkarīgs no kodola konfigurācijas un jūsu procesora iespējām.

Problēmas atrisināšana, izveidojot initrd.img

Nesen Debian parādījās kļūda, kas sastāvēja no tā, ka pēc pakotņu instalēšanas ar kodoliem, kas uzbūvēti šeit aprakstītajā veidā, tiem atbilstošais /boot/initrd.img fails netiek izveidots. Lai labotu jau instalētu kodolu, jums būs manuāli jāizveido initrd.img:

update-initramfs -c -k<полная-версия-ядра>

Lai atrisinātu problēmu "nākotnei", komentējiet, kā parādīts attēlā, otro no tālāk minētajām rindām failā /etc/kernel/postinst.d/initramfs-tools:

# kodola pakotne nodod papildu arg; uzlauzt, lai nedarbotos zem kodola pakotnes #[ -z "$2" ] || izeja 0

Jauna kodola instalēšana

Kad kodola izveide ir veiksmīgi pabeigta, direktorijā /usr/src tiks izveidotas divas .deb pakotnes:

# cd /usr/src # ls -l

linux-image-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb — faktiskais kodols un linux-headers-2.6.23.1-cybermind_2.6.23.1-cybermind-10.03 headers.Customnel_b nepieciešams, lai izveidotu citus moduļus (piemēram, veidojot nVidia draiveru moduļus). To uzstādīšana:

# dpkg -i linux-image-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb # dpkg -i linux-headers-2.6.23.1-cybermind_2.6.23.1-cybermind_2.6.23.1-cybermind_2.6.23.1-cybermind.6.b.i8.

(Šīs pakotnes tagad var instalēt citā sistēmā bez nepieciešamības tās izveidot vēlreiz.)

Viss, instalēšana ir pabeigta, bootloader izvēlne, jauna RAM diska un kodola instalēšana tiks veikta automātiski. Atliek tikai restartēt:

Otrā metode. "tradicionālajā" veidā

Mēs veicam visus iepriekš aprakstītos punktus PIRMS punkta "Kodola kompilēšana".

# make all # make modules_install # make install

Kā parasti, izveide var aizņemt ilgu laiku, atkarībā no kodola konfigurācijas un procesora iespējām.

Šīs metodes galvenais trūkums ir tāds, ka, ja jūs bieži atjaunināsiet kodolus, tad pēc kāda laika uzkrāsies liels skaits to un jūs vēlaties noņemt neizmantotos. Lai to atvieglotu, varat izveidot kodolu un citus failus, kas tiek instalēti sistēmā, izmantojot komandas "make modules_install" un "make install" deb pakotnē (vai drīzāk divās, sākot no kodola 2.6.27), tāpat kā pirmajā. metodi, bet mēs šeit izmantosim ar kodola skriptiem:

# make all # make deb-pkg

Divi .deb faili parādīsies direktorijā vienu līmeni virs avota direktorija. Es kompilēju kodolu direktorijā /usr/src/linux-2.6.27.10 un saņēmu failus direktorijā /usr/src/

# linux-2.6.27.10_2.6.27.10-1_amd64.deb # linux-firmware-image_2.6.27.10-1_all.deb

Kodols tiek instalēts ar komandu

# dpkg -i linux-2.6.27.10_2.6.27.10-1_amd64.deb

Vecos kodolus var noņemt, piemēram, no synaptic

Nākamie soļi

Kodols ir uzbūvēts un instalēts, bet tagad ir jāizveido RAM disks (bez kura kodols vienkārši netiks bootēts) un jāatjaunina GRUB bootloader. Lai to izdarītu, rīkojieties šādi:

# depmod 2.6.23.1 # apt-get install yaird

Instalējiet RAM disku:

# mkinitrd.yaird -o /boot/initrd.img-2.6.23.1 2.6.23.1

Atjaunināsim sāknēšanas ielādētāju viegli un nesāpīgi:

Viss, sāknēšanas ielādētājs un jaunais kodols ir gatavi, atliek tikai pārstartēt:

Problēmas

Ja pēc pārstartēšanas jūsu izvēlētais jaunais kodols netiek palaists, restartējiet un atlasiet iepriekšējo kodolu, un varat mēģināt vēlreiz veikt visu procesu, lai izveidotu strādājošu kodolu. Šajā gadījumā neaizmirstiet dzēst nestrādājošā kodola rindas mapē /boot/grub/menu.lst.

Linux kodola kompilēšana

Kāpēc vispār jākompilē kodols pašam?
Iespējams, galvenais jautājums, kas tiek uzdots par kodola kompilēšanu, ir: "Kāpēc man tas jādara?".
Daudzi to uzskata par bezjēdzīgu laika tērēšanu, lai parādītu sevi kā gudru un progresīvu "Linuxoid". Faktiski kodola kompilēšana ir ļoti svarīga lieta. Pieņemsim, ka esat iegādājies jaunu klēpjdatoru, kuram nav funkcionējošas tīmekļa kameras. Tavas darbības? Jūs meklējat meklētājprogrammu un meklējat problēmas risinājumu šajā jautājumā. Diezgan bieži var izrādīties, ka jūsu tīmekļa kamera darbojas jaunākā kodola versijā nekā jums. Ja nezināt, kāda versija jums ir, terminālī ierakstiet uname -r, kā rezultātā jūs iegūsit kodola versiju (piemēram, linux-2.6.31-10). Arī kodola kompilācija tiek plaši izmantota, lai palielinātu veiktspēju: kodola izplatījumi pēc noklusējuma tiek apkopoti “visiem”, tāpēc tajā ir iekļauts milzīgs skaits draiveru, kas jums, iespējams, nav vajadzīgi. Tātad, ja labi pārzināt savu aparatūru, konfigurācijas posmā varat atspējot nevajadzīgos draiverus.

Ir iespējams arī iespējot atbalstu vairāk nekā 4 gigabaitiem RAM, nemainot sistēmas bitu dziļumu. Tātad, ja jums joprojām ir nepieciešams savs kodols, sāksim kompilēšanu!

Kodola pirmkoda iegūšana.
Pirmā lieta, kas jādara, ir iegūt vēlamās kodola versijas avota kodu. Parasti jums ir jāiegūst jaunākā stabilā versija. Visas oficiālās kodola versijas ir pieejamas vietnē kernel.org. Ja jums jau ir instalēts X serveris (mājas dators), varat doties uz vietni savā iecienītākajā pārlūkprogrammā un lejupielādēt vajadzīgo versiju tar.gz (gzip saspiests) arhīvā. Ja strādājat konsolē (piemēram, vēl neesat instalējis X serveri vai konfigurējat serveri), varat izmantot teksta pārlūkprogrammu (piemēram, elinks). Varat arī izmantot standarta wget lejupielādes pārvaldnieku:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.1.tar.gz
Taču ņemiet vērā, ka jums jāzina precīzs nepieciešamais versijas numurs.

Avota koda arhīva izpakošana.
Kad esat saņēmis arhīvu ar avota kodu, jums ir jāizpako arhīvs mapē. To var izdarīt, izmantojot grafiskos failu pārvaldniekus (delphin, nautilus utt.) vai izmantojot mc. Vai arī izmantojiet tradicionālo tar komandu:
tar -zxvf ceļš uz_arhīvu
Tagad jums ir avota mape, dodieties tajā, izmantojot cd kernel_source_directory (lai uzskaitītu direktorijus mapē, izmantojiet komandu ls).

Kodola konfigurācija.
Kad esat mainījis kodola avota direktoriju, jums ir jāveic kodola konfigurācija "20 minūtes". Tās mērķis ir atstāt tikai nepieciešamos draiverus un funkcijas. Visas komandas jau ir jāizpilda superlietotāja vārdā.

make config - konfiguratora konsoles režīms.

padarīt menuconfig - konsoles režīmu kā sarakstu.

padarīt xconfig - grafiskais režīms.

Pēc nepieciešamo izmaiņu veikšanas saglabājiet iestatījumus un izejiet no konfiguratora.

Kompilācija.
Ir pienācis laiks montāžas noslēguma posmam - apkopošanai. Tas tiek darīts ar divām komandām:
izveidot un veikt instalēšanu
Pirmā komanda apkopos visus failus mašīnkodā, bet otrā komanda instalēs jauno kodolu jūsu sistēmā.
Mēs gaidām no 20 minūtēm līdz vairākām stundām (atkarībā no datora jaudas).

Linux kodola konfigurēšana un kompilēšana

Kodols ir instalēts. Lai tas tiktu parādīts grub(2) sarakstā, ierakstiet (kā root)
update-grub
Tagad pēc pārstartēšanas nospiediet "Escape", un sarakstā redzēsit jauno kodolu. Ja kodols neieslēdzas, vienkārši sāknējiet ar veco kodolu un konfigurējiet rūpīgāk.

KernelCheck - kodola kompilācija, neieejot konsolē.
KernelCheck ļauj izveidot kodolu pilnībā grafiskā režīmā Debian un tā pamatā esošajiem izplatījumiem. Pēc palaišanas KernelCheck piedāvās jaunākās kodola versijas un ielāpus, un pēc jūsu piekrišanas lejupielādējiet avota kodu, palaidiet grafisko konfiguratoru. Programma izveidos kodolu .deb pakotnēs un instalēs tās. Jums vienkārši ir jāpārstartē.

Rakstu arhīvs:
2017. gada maijs
2017. gada marts
2016. gada aprīlis
2016. gada marts
2013. gada oktobris
2013. gada septembris
2013. gada maijs
2013. gada marts
2012. gada novembris
2012. gada jūlijs
2012. gada jūnijs
2012. gada aprīlis
2012. gada marts
2012. gada februāris
2011. gada aprīlis
2011. gada marts
2011. gada februāris
2011. gada janvāris
2010. gada decembris
2010. gada novembris
2010. gada oktobris
2010. gada septembris
2010. gada augusts
2010. gada jūlijs
2010. gada jūnijs
2010. gada maijs
2010. gada aprīlis
2010. gada marts

Nejauši:

Aurorae: logu dekorēšanas dzinējs priekš KDE

Sblogs tiks pārrakstīts .NET

Linuxnow.ru: nākotnes plāni

Bolgenosa. Telekona atspēkojums

GRUB 2 ātrā atkopšana

Bezmaksas programmatūras fonds un copyleft.

Kolēģi: visi
Linux visiem

Mūsu baneri:


Iestatīt reklāmkarogu

Jautājums ir, kāpēc neiemācīties darīt to pašu ar Linux kodolu? Iemesli Linux kodola izveidei no avota kopumā ir tie paši – jaunākās kodola versijas iegūšana, steidzama drošības ielāpu uzlikšana, optimizācija konkrētiem uzdevumiem un konkrētai aparatūrai, kā arī vēlme piedalīties kodola izstrādē, pat QA lomā.

Svarīgs! Ievērojot šajā ziņā sniegtos norādījumus, jūsu dati var tikt zaudēti. Izveidojiet dublējumus un atcerieties, ka jūs visu darāt, riskējot un riskējot. Viss, kas aprakstīts tālāk, ir pārbaudīts Ubuntu 14.04 LTS. Taču citās Ubuntu versijās, kā arī citos Linux izplatījumos atšķirībām jābūt minimālām.

Sāknēšanas ielādēja iestatīšana

Rediģējiet /etc/default/grub šādi:

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=10
#GRUB_HIDDEN_TIMEOUT_QUIET=patiess
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR =` lsb_release -i -s 2 > /dev/null || echo Debian'
GRUB_CMDLINE_LINUX_DEFAULT = "kluss slampāt"
GRUB_CMDLINE_LINUX=""

Pēc rediģēšanas mēs sakām:

sudo update-grub

Tā rezultātā pirms sistēmas sāknēšanas jums 10 sekundes tiks piedāvāts izvēlēties kodolu, ar kuru vēlaties palaist. Ļoti ērti, ja esat sajaucis kodola konfigurāciju un vēlaties palaist ar iepriekšējo versiju!

Instalējiet atkarības

Mums būs nepieciešamas vismaz šādas paketes:

sudo apt-get install git gcc make bc fakeroot dpkg-dev \
libncurses5-dev libssl-dev

Tomēr daudzās sistēmās tās visas jau būs pieejamas.

Avota iegūšana

wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.6.4.tar.xz
tar --xz -xvf Linux-4.6.4.tar.xz
cd Linux-4.6.4

Vai arī, ja vēlaties jaunāko, varat iegūt avotu tieši no Git:

# Spogulis: https://github.com/torvalds/linux
git klons "git://git.kernel.org/pub/scm/linux/kernel/git/"\
"torvalds/linux.git"
cd Linux

Spriežot pēc tā, ka Git nevarēju atrast v4.6.4 tagu, Linux kodola laidieni tiek veidoti tikai saspiestu tar arhīvu veidā.

Ja vaniļas kodola vietā vēlaties izveidot kodolu ar ielāpiem no Canonical:

git klons git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git
cd ubuntu-trusty
git tag | mazāk
git checkout Ubuntu-lts-4.4.0-31.50_14.04.1

Pēc manas pieredzes, ja izmantojat Ubuntu, varat droši izmantot vaniļas kodolu. Maz ticams, ka ar to jums būs problēmas.

Piezīme: Interesanti, ka no esošajiem salīdzinoši populārajiem Linux izplatījumiem tikai Gentoo, Slackware un Arch Linux, šķiet, izmanto kodolu bez saviem ielāpiem.

Jebkurā gadījumā tagad jums ir avota kods.

Kodola kompilēšana un instalēšana

Atlasiet opcijas, ar kurām tiks veidots kodols:

izveidot izvēlnes konfigurāciju

Ja nepieciešams, mainiet iestatījumus, noklikšķiniet uz Saglabāt un pēc tam uz Iziet. Tādējādi tiks izveidots .config fails, kurā būs ietvertas mūsu atlasītās opcijas.

Plkst Atjaunināt kodols (vai jūs jau lietojat kādu kodolu?) ir ērti ņemt pašreizējā kodola konfigurāciju un iestatīt jaunajām opcijām to noklusējuma vērtības:

zcat /proc/config.gz > ./.config
izveidot olddefconfig

Visbeidzot, mēs savācam:

make -j4 bindeb-pkg LOCALVERSION=-custom

Kodols ir samontēts diezgan ilgu laiku. Manā klēpjdatorā montāža aizņēma 1 stundu un 15 minūtes. Tomēr no šī laika par Pārējais tiek tērēts, veidojot milzīgu kodola pakotni ar atkļūdošanas simboliem. Šīs pakotnes montāžu var atspējot, konfigurācijā komentējot parametru CONFIG_DEBUG_INFO. Vienkārši ņemiet vērā, ka šī pakete ir nepieciešama SystemTap un citiem noderīgiem rīkiem.

Papildus pašam kodolam varat arī apkopot dokumentāciju:

# ir arī `make pdfdocs` un citi, skaties `make help`
izveidot html dokumentus
chromium-browser dokumentācija/ DocBook/ index.html

Pēc montāžas pabeigšanas meitasuzņēmums direktorijā mēs redzam kaut ko līdzīgu:

linux-firmware-image-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-headers-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-image-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-image-4.4.13-custom-dbg_4.4.13-custom-1_amd64.deb
linux-libc-dev_4.4.13-custom-1_amd64.deb

Mēs ievietojām visas deb pakotnes, izņemot kodola dbg versiju ar parasto sudo dpkg -i un restartējiet. Pēc pārstartēšanas apskatiet komandas izvadi uname-a. Mēs pārliecināmies, ka mēs patiešām sāknējām ar jauno kodolu. Ja kaut kas nav kārtībā ar jauno kodolu, sāknēšanas ielādētājā mēs vienkārši atlasām to, ar kuru sistēma tika sāknēta iepriekš. Pēc sāknēšanas ar veco kodolu mēs ātri noņemam jaunā kodola pakotnes, un voila - sistēma atgriezās iepriekšējā stāvoklī.

Marta vidū pēc gandrīz divu mēnešu izstrādes un septiņiem izlaiduma kandidātiem Linuss Torvalds iepazīstināja ar jaunu 4.5 kodola versiju. Papildus labojumiem izlaidumā patiešām ir daudz jaunu lietu. Izmaiņas skāra visas apakšsistēmas – tika pievienoti diski, atmiņa, sistēmas un tīkla pakalpojumi, drošība un, protams, arī jauno ierīču draiveri. Mēģināsim tikt galā ar dažiem interesantākajiem.

Par atbrīvošanu

4.4 kodola izlaidums tika izlaists salīdzinoši nesen, 2016. gada janvāra sākumā, taču šajā īsajā laikā ir sakrājies liels skaits papildinājumu. Un, lai gan Linus jauno laidienu nosauca par "normālu", var redzēt, ka, salīdzinot ar versiju 4.4, ielāpa izmērs ir pieaudzis gandrīz par trešdaļu - 70 MB pret 49 MB. Izstrādē piedalījās aptuveni 1528 cilvēki, kuri veica aptuveni 13 tūkstošus labojumu. Vairāk nekā 11 tūkstošos failu tika pievienotas 1 146 727, noņemtas 854 589 koda rindas. 4.4 bija attiecīgi 714 106 un 471 010 rindas. Gandrīz puse (45%) no visām izmaiņām ir saistītas ar ierīču draiveriem, 17% skar aparatūras arhitektūru kodu, 14% skar tīkla steku, 4% - failu sistēmas, bet 3% skar iekšējās kodola apakšsistēmas. Galvenie ieguldītāji bija Dags Ledfords no Red Hat, kurš veica lielāko daļu tīrīšanas darbu (7,7%), Tomijs Valkeinens no Texas Instruments, kurš strādāja pie OMAP apakšarhitektūras atbalsta (5,3%), trīs izstrādātāji, kas koncentrējās uz AMD grafikas draiveriem: Ēriks. Huangs - 3,3%, Alekss Dešers - 2,4% un janjans1 - 1,6%. Izmaiņu kopu vadītāji - Linuss Valejs no Linaro, kurš ieviesa daudzas zema līmeņa izmaiņas, tostarp viņa atbalstītajā GPIO (2,0%), Ārnds Bergmans, kurš daudz strādāja, lai atbalstītu ARM (1,9%), un Leo Kims, kurš strādāja. uz wilc1000 draivera (1,7%). Tāpat kā iepriekš, daudzas korporācijas ir ieinteresētas kodola attīstībā. Darbu pie versijas 4.5 atbalstīja vairāk nekā 200 uzņēmumu, tostarp Red Hat, Intel, AMD, Texas Instruments, Linaro, Linux Foundation, Samsung, IBM, Google. Lielākā daļa no tiem izstrādā atbalstu savām ierīcēm un saistītajām apakšsistēmām un rīkiem, taču, piemēram, Google tradicionāli veic daudzas izmaiņas Linux tīkla apakšsistēmā.

Kodols un draiveri

Sarežģīta un slikti uzturēta koda pārnešana, kas rakstīta montāžā (x86/asm) uz C, turpinājās 4.0 versijā. Kodolu tagad var izveidot ar opciju -fsanitize=undefined. Pats parametrs parādījās pirms diviem gadiem GCC 4.9+ un aktivizē UBSan (Undefined Behavior Sanitizer) atkļūdošanas režīmu, kas nosaka nedefinētu uzvedību, kas raksturīga C un C ++ valodām: nestatisko mainīgo izmantošana pirms inicializācijas, dalīšana ar nulli, veselu skaitļu pārpilde utt. Kompilators parasti pieņem, ka šādas darbības nekad nenotiks, un, ja tās notiek, rezultāts var būt jebkas un ir atkarīgs no paša kompilatora. Tagad kompilators konstatē šādas situācijas, izdod "izpildlaika kļūdu:" (varat atspējot -fno-sanitize-recover) un turpina izpildi. Pēc noklusējuma katrā OS komplektā visas bibliotēkas tiek ielādētas noteiktās adresēs, kas atvieglo uzbrukuma ieviešanu. Lai palielinātu drošību, tiek izmantotas vairākas tehnoloģijas, viena no tām ir nejauša nobīde, zvanot uz mmap (), kas ieviesta ASLR (Address Space Layout Randomization) veidā. ASLR tehnoloģija pirmo reizi parādījās operētājsistēmā Linux 2005. gadā 2,6 bitu kodolā un izsniedza 8 bitu nobīdi 32 bitu sistēmām (tas ir, 256 adreses opcijas, lai gan faktiski mazāk), un x64 nobīde jau ir 28 bitu. Attiecībā uz x64 ir pietiekami daudz iespēju, taču 32 bitu sistēmām, tostarp Android, šodien ar to acīmredzami nepietiek. Ir jau zināmi ļaunprātīgi veidi, kas var iegūt adresi. Problēmas risinājuma meklēšanas rezultātā ir uzrakstīts ielāps, kas ļauj iestatīt lielāku nejaušību ASLR, izmantojot /proc/sys/vm/mmap_rnd_bits un /proc/sys/vm/mmap_rnd_compat_bits (x64 sistēmām x86 procesi). Katrai arhitektūrai ir norādītas minimālās un maksimālās vērtības, ņemot vērā pieejamo adrešu telpu. Attiecībā uz x86 vērtība var būt no 8 līdz 16 bitiem vai no 28 līdz 32 (versijai x64). Veidojot kodolu, var iestatīt noklusējuma opcijas.
ASLR konfigurēšana jaunajā kodolā Paplašinātas DRM draivera iespējas NVIDIA (Nouveau) un Intel videokartēm (atbalsts Kaby Lake nākamās paaudzes mikroshēmām), pievienots atbalsts jaunām skaņas kartēm, USB kontrolleriem un kriptovalūtu paātrinātājiem. Grafikas karšu ražotāji Intel un NVIDIA jau sen ir atteikušies no UMS (Userspace Mode Setting) izmantošanas savos atvērtā pirmkoda draiveros par labu KMS (Kernel Mode Setting), tagad kārta ATI Radeon draiverim, kas noņēma UMS režīma kodu. Kopš 3.9 to bija iespējams iespējot ar parametru DRM_RADEON_UMS vai GRUB iestatot radeon.modeset=0. Tagad paliek tikai KMS (kodola režīma iestatījums). Tas ir jāņem vērā, ja nepieciešams izmantot vecākus draiverus vai UMS režīmu (UMS dažreiz parāda labāku veiktspēju). AMDGPU draiverim ir pievienots eksperimentāls atbalsts PowerPlay dinamiskajai jaudas pārvaldības tehnoloģijai, lai uzlabotu GPU veiktspēju Tonga un Fiji GPU un integrētajiem Carrizo un Stoney. PowerPlay režīmā GPU sāk darboties mazjaudas režīmā, bet, ja palielinās grafikas apakšsistēmas slodze, tas automātiski palielina frekvenci. Pēc noklusējuma PowerPlay ir atspējots; lai to iespējotu, nosūtiet kodolam parametru amdgpu.powerplay=1. Jaunā Media kontrollera API versija paplašina atbalstu Video4Linux ierīcēm un ļauj izmantot multivides kontrollera funkcionalitāti citās apakšsistēmās, piemēram, DVB, ALSA un IIO. Daudz ir paveikts KVM (uz kodolu balstītā virtuālajā mašīnā), lai atbalstītu s390 arhitektūru (tagad tā var izmantot līdz 248 vCPU), ARM/ARM64 un uzlabot x86 veiktspēju Hyper-V.

Kodola 4.5 instalēšana Ubuntu

Vienkāršākais veids, kā iepazīties ar jauno kodolu, ir izmantot Ubuntu kodola komandas būvējumu. Pēc plašas testēšanas jaunais kodols nonāk ppa:canonical-kernel-team/ppa, taču tas parasti prasa laiku. $ wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500-generic_4.5.0-040500.201603140130_amd64.deb http://kernel .ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500_4.5.0-040500.201603140130_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline /v4.5-wily/linux-image-4.5.0-040500-generic_4.5.0-040500.201603140130_amd64.deb $ sudo dpkg -i linux*.deb Mēs varam strādāt pēc pārstartēšanas.

ARM atbalsts

ARM datori tiek izmantoti kā mini serveri noteiktiem uzdevumiem vai kā automatizācijas kontrolieri, kas padara tos ļoti populārus un pieprasītus. Linux ARM kopiena ir kļuvusi par vienu no aktīvākajām pēdējo piecu gadu laikā, veicot milzīgu darbu, lai atbalstītu 32 bitu ARM platformas, kas ieņem ievērojamu tirgus daļu, un šis darbs kopumā tika pabeigts, izlaižot 4.5. filiāle. Iepriekš katrai ARM ierīcei bija nepieciešams izveidot savu kodolu, nodrošinot atbalstu tikai noteiktām ierīcēm. Taču problēma ir tā, ka ierīces kļuva sarežģītākas, kļuva iespējams mainīt konfigurāciju, un paši lietotāji ARM ierīcēs vēlējās izmantot parastos izplatījumus bez liekiem žestiem. Bet galu galā mums bija vairāki simti iespēju kodola izveidei, kas ļoti apgrūtina Linux lietošanu. Liela koda daudzuma tīrīšanas un pārstrukturēšanas rezultātā radās iespēja kodolā iekļaut ARMv6 un ARMv7 atbalsta kodu, tas ir, tagad mēs varam izveidot universālu kodolu, kas var sāknēties abās sistēmās. Šeit, iespējams, ir jāatgādina nesen reklamētā Device Tree specifikācija, kas radās kā daļa no Open Firmware izstrādes. Ierīču koks ļauj konfigurēt aparatūru sāknēšanas laikā, izmantojot īpašus dts failus, kas glabājas mapē /boot/dtbs, un mainīt iestatījumus, nepārbūvējot kodolu. Ierīču koka izmantošana kļūst obligāta visiem jaunajiem ARM jauninājumiem, nevis tikai ierīcēm. Tas viss kopā dod pārliecību, ka Linux distribūcijas nākotnē varēs droši palaist jebkurā ARM ierīcē. Paralēli Gregs Kroah-Hartman no Linux Foundation izlaida ielāpu, kas ievieš līdzīgu funkciju kodola agrīnajām versijām. Programmā arch/arm64 mēs atrodam kodu, kas nodrošina atbalstu jaunajai 64 bitu ARM arhitektūrai (ARMv8). Pievienotas jaunas funkcijas visām populārajām ARM arhitektūrām — Allwinner, Amlogic, Samsung, Qualcomm un atbalsts jaunām ARM platēm no dažādiem izstrādātājiem.

Sistēmas pakalpojumi

Lai piekļūtu UEFI (Unified Extensible Firmware Interface) programmaparatūras datiem operētājsistēmā Linux, tiek izmantota īpaša efivars pseidofailu sistēma (konfigurējama ar EFIVAR_FS), kas ir uzstādīta mapē /sys/firmware/efi/efivars. Dažās implementācijās, izpildot komandu rm -rf /*, tika izdzēsts arī šī direktorija saturs, kā rezultātā tika iznīcināta programmaparatūra. Uzņēmumi - ierīču izstrādātāji to neuzskata par nopietnu trūkumu, jo situācija, protams, nav visizplatītākā, un diezin vai kāds lietotājs iedomātos to pārbaudīt. Tomēr pastāv problēma, un vīrusu rakstītāji patiešām var izmantot šo iespēju. Kodols 4.5 tagad pievieno īpašu aizsardzību direktorijam /sys/firmware/efi/efivars, lai novērstu tajā esošo failu dzēšanu.

Turpinājums pieejams tikai dalībniekiem

1. iespēja. Pievienojieties "vietnes" kopienai, lai lasītu visus vietnes materiālus

Dalība kopienā norādītajā laika posmā dos jums piekļuvi VISIEM Hacker materiāliem, palielinās jūsu personīgo kumulatīvo atlaidi un ļaus jums uzkrāt profesionālu Xakep Score reitingu!

Kodols(Angļu) kodols) ir tas, uz ko tiek veidots viss pārējais. Tas ir tas, ko sauc par Linux. Tagad vārdu Linux ikdienā sauc par operētājsistēmu, kas uz tā ir uzbūvēta, lai gan labā nozīmē to sauc par GNU / Linux (Linux kodols un programmatūra no GNU projekta, kas ir izstrādāts daudzus gadu desmitus).

Ubuntu izmanto kodolu ar lielu skaitu ielāpu, no kuriem daži pievieno nestabilas un eksperimentālas funkcijas.

Katrai Ubuntu laidienai ir sava kodola versija. LTS laidieni kopš 10.04 ir spējuši jaunināt kodolu uz versijām, kas iekļautas jaunākos laidienos.

Ubuntu versijaKodola versija
4.10 2.6.9
5.04 2.6.11
5.10 2.6.13
6,06 LTS 2.6.15
6.10 2.6.18
7.04 2.6.19
7.10 2.6.20
8,04 LTS 2.6.24
8.10 2.6.27
9.04 2.6.28
9.10 2.6.31
10,04 LTS 2.6.32
10.10 2.6.35
11.04 2.6.38
11.10 3.0.4
12.04LTS 3.2
12.10 3.5
13.04 3.8
13.10 3.11
14.04LTS 3.13
14.10 3.16
15.04 3.19

dakšas

Ubuntu kodola un kernel.org vietnes versiju numerācija nesakrīt, jo Canonical izstrādātāji pievieno mikro versiju, lai norādītu pievienotos ielāpus. Piemēram, versija 3.2.0-23 nozīmētu, ka kodols ir balstīts uz 3.2 atzaru, kurā ir 23 ielāpi.

Ubuntu repozitorijā tiek atbalstīti šādi kodolu veidi:

generic-pae kodols ļauj 32 bitu sistēmai izmantot līdz 64 GB kopējās RAM, atvēlot ne vairāk kā 4 GB konkrēta procesa vajadzībām, savukārt vienkāršs vispārējs kodols darbojas ar ne vairāk kā 4 GB RAM.

64 bitu kodols ļauj adresēt līdz pat 1 TB atmiņu, ko patērē procesi.

Ja jums ir jāatjaunina kodols uz jaunāku galveno versiju (parasti tas ir saistīts ar faktu, ka jaunās versijas pievieno atbalstu jaunai aparatūrai, novērš regresijas), varat izmantot oficiāli atbalstīto arhīvu http://kernel.ubuntu.com/ ~kernel-ppa/mainline/ .

Kodola kompilēšana

Kodola izveidei no avota ir nepieciešamas dažas prasmes un zināšanas par OS darbību.

Pirms sākat veidot kodolu, jums jāinstalē šādas pakotnes:

Build-essential fakeroot ncurses-dev libssl-dev

Visas turpmākās darbības jāveic superlietotāja vārdā:

sudo su

Avota koda iegūšana

Ubuntu izmantotā kodola avota kodu var iegūt, instalējot linux avota pakotni:

apt-get install Linux avots

Pēc instalēšanas direktorijā /usr/src būs arhīvs sauc linux-source-verify_kernels.tar.bz2.

Varat arī lejupielādēt arhīvu ar kodola pirmkodu no vietnes kernel.org.

Lejupielādējot kodolu no vietnes kernel.org, jums būs jāpieliek tam ielāpi

Konfigurācija

Izsaiņojiet iegūto arhīvu un ērtības labad izveidojiet simbolisku saiti uz iegūto direktoriju:

cd / usr/ src tar xjf ./ linux-source-3.2.0.tar.bz2 ln -s ./ linux-source-3.2.0 ./ linux cd ./ linux

Lai vienkāršotu kodola konfigurācijas procesu, varat kopēt pašreizējās iestatījumus.

Vai jums ir jautājumi?

Ziņot par drukas kļūdu

Teksts, kas jānosūta mūsu redaktoriem: