4 maaliskuun, 2022

vaiheet Linux—ytimen edistämiseen

yksi suurimmista—ja nopeimmin liikkuvista-avoimen lähdekoodin projekteista, Linux-ydin, koostuu noin 53 600 tiedostosta ja lähes 20 miljoonasta koodirivistä. Kun projektiin osallistuu maailmanlaajuisesti yli 15 600 ohjelmoijaa, Linux-ydin noudattaa yhteistyön ylläpitäjämallia.

tässä artikkelissa annan nopean tarkistuslistan ensimmäisen ytimen panoksen tekemiseen liittyvistä vaiheista, ja katson, mitä sinun pitäisi tietää ennen laastarin lähettämistä. Saadaksesi perusteellisemman kuvan ensimmäisen laastarin toimittamisprosessista, Lue KernelNewbies First Kernel Patch-opetusohjelma.

osallistuminen ytimeen

Vaihe 1: Valmista järjestelmäsi.

tämän artikkelin vaiheet olettavat, että järjestelmässäsi on seuraavat työkalut:

  • tekstieditori
  • sähköpostiohjelma
  • versionhallintajärjestelmä (esim.)

Vaihe 2: lataa Linux kernel code repository:

git clone -b staging-testing
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git

Kopioi nykyinen asetuksesi:

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

Vaihe 3: Rakenna/asenna ydin.

make -jX
sudo make modules_install install

Vaihe 4: Tee haara ja vaihda siihen.

git checkout -b first-patch

Vaihe 5: Päivitä ytimen osoittamaan viimeisintä koodipohjaa.

git fetch origin
git rebase origin/staging-testing

Vaihe 6: tee muutos koodipohjaan.

käännä uudelleen käyttäen make – komentoa varmistaaksesi, ettei muutos aiheuta virheitä.

Vaihe 7: toimita muutokset ja luo paikkaus.

git add <file>
git commit -s -v
git format-patch -o /tmp/ HEAD^

aihe koostuu tiedostonimen polusta, joka on erotettu kaksoispisteillä, ja sen jälkeen siitä, mitä laastari tekee imperatiivisessa aikamuodossa. Tyhjän rivin jälkeen tulee laastarin kuvaus ja pakollinen allekirjoitettu tunniste sekä lopuksi paikkasi vertailu.

tässä on toinen esimerkki yksinkertaisesta paikkauksesta:

lähetä paikkaus seuraavaksi komentoriviltä sähköpostilla (tässä tapauksessa Mutt):

mutt -H /tmp/0001-<whatever your filename is>

jos haluat tietää luettelon ylläpitäjistä, joille laastari lähetetään, käytä get_maintainer.pl käsikirjoitus.

mitä tietää ennen kuin lähettää ensimmäisen laastarin

  • Greg Kroah-Hartmanin staging tree on hyvä paikka lähettää ensimmäinen laastari, sillä hän ottaa vastaan helppoja laastareita uusilta avustajilta. Kun tutustut korjaustiedostojen lähettämiseen, voit lähettää alijärjestelmäkohtaisia korjauksia, joiden monimutkaisuus lisääntyy.
  • Voit myös aloittaa koodaustyyliongelmien korjaamisesta koodissa. Lue lisää Linux kernel coding style-dokumentaatiosta.
  • kirjoitus checkpatch.pl tunnistaa koodaustyylivirheet puolestasi. Esimerkiksi run:
    perl scripts/checkpatch.pl -f drivers/staging/android/* | less
  • voit suorittaa tehtäviä, jotka kehittäjät ovat jättäneet keskeneräisiksi:
    find drivers/staging -name TODO 
  • Coccinelle on hyödyllinen työkalu kuvion sovittamiseen.
  • Lue ytimen postitusarkisto.
  • käy läpi linux.git log nähdäksesi aiempien kirjoittajien tekemät toimitukset inspiraation saamiseksi.
  • huomaa:älä ota yhteyttä paikkasi arvostelijaan! Tässä esimerkki:

    Wrong way:

    Chris,
    Yes Let ’ s ajoittaa The meeting tomorrow, on the second floor.
    > pe 26.4.2013 klo 9.25 Chris kirjoitti:
    > Hey John, I had some questions:
    > 1. Sopiiko Tapaaminen huomiseksi?
    > 2. Missä kerroksessa toimistossa?
    > 3. Mikä aika sopii sinulle?

    (huomaa, että viimeinen kysymys jäi vastauksessa tahattomasti vastaamatta.)

    oikea tapa:

    Chris,
    Katso vastaukseni alta…
    > pe 26.4.2013 klo 9.25 Chris kirjoitti:
    > Hey John, I had some questions:
    > 1. Sopiiko Tapaaminen huomiseksi?
    Yes tomorrow is fine.
    > 2. Missä kerroksessa toimistossa?
    pidetään se toisessa kerroksessa.
    > 3. Mikä aika sopii sinulle?
    09: 00 am would be alright.

    (kaikkiin kysymyksiin vastattiin, ja näin lukuaikaa säästyy.)

  • Eudyptula challenge on loistava tapa oppia ytimen perusasiat.

Lue lisää KernelNewbies First Kernel Patch-opetusohjelmasta. Sen jälkeen, jos sinulla on vielä kysyttävää, kysy kernelnewbies-postituslistalta tai #kernelnewbies IRC-kanavalta.

Vastaa

Sähköpostiosoitettasi ei julkaista.