lépések a Linux kernelhez való hozzájáruláshoz
az egyik legnagyobb—és leggyorsabban mozgó—nyílt forráskódú projekt, a Linux kernel körülbelül 53 600 fájlból és közel 20 millió sornyi kódból áll. Mivel világszerte több mint 15 600 programozó járul hozzá a projekthez, a Linux kernel az együttműködés fenntartói modelljét követi.
ebben a cikkben egy gyors ellenőrzőlistát adok az első kernel-hozzájárulás elvégzésének lépéseiről, és megnézem, mit kell tudni a javítás benyújtása előtt. Az első javítás hozzájárulásának benyújtási folyamatának részletesebb áttekintéséhez olvassa el a KernelNewbies első Kernel javítás oktatóanyagát.
hozzájárulás a kernelhez
1.lépés: készítse elő a rendszert.
a cikk lépései feltételezik, hogy a következő eszközök vannak a rendszeren:
- szövegszerkesztő
- e-mail kliens
- verziókezelő rendszer (pl. git)
2. lépés: Töltse le a Linux kernel kódtárat:
git clone -b staging-testing
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
másolja az aktuális konfigurációt:
cp /boot/config-`uname -r`* .config
3. lépés: Építsd / telepítse a kernelt.
make -jX
sudo make modules_install install
4.lépés: készítsen egy ágat, és váltson rá.
git checkout -b first-patch
5.lépés: frissítse a kernelt úgy, hogy a legújabb kódbázisra mutasson.
git fetch origin
git rebase origin/staging-testing
6.lépés: módosítsa a kódbázist.
fordítsd újra a make
paranccsal annak biztosítására, hogy a módosítás ne okozzon hibákat.
7.lépés: Végezze el a módosításokat, és hozzon létre egy javítást.
git add <file>
git commit -s -v
git format-patch -o /tmp/ HEAD^
a téma a fájlnév elérési útjából áll, kettőspontokkal elválasztva, majd azt, amit a javítás imperatív időben tesz. Egy üres sor után megjelenik a javítás leírása és a kötelező aláírt címke, végül pedig a javítás különbsége.
itt van egy másik példa egy egyszerű javításra:
ezután küldje el a javítást e-mailben a parancssorból (ebben az esetben Mutt):
mutt -H /tmp/0001-<whatever your filename is>
a karbantartók listájának megismeréséhez, akiknek a javítást el kell küldeni, használja a get_maintainer.pl forgatókönyv.
mit kell tudni az első javítás benyújtása előtt
- Greg Kroah-Hartman ‘ s staging tree jó hely az első javítás benyújtására, mivel elfogadja az új közreműködők egyszerű javításait. Amikor megismeri a javítás-küldési folyamatot, alrendszer-specifikus javításokat küldhet fokozott összetettséggel.
- akkor is lehet kezdeni kijavítása kódolási stílus kérdések a kódot. További információkért olvassa el a Linux kernel kódolási stílusának dokumentációját.
- a forgatókönyv checkpatch.pl érzékeli kódolási stílus hibákat az Ön számára. Például futtassa:
perl scripts/checkpatch.pl -f drivers/staging/android/* | less
- lehet teljes TODOs maradt hiányos a fejlesztők:
find drivers/staging -name TODO
- Coccinelle egy hasznos eszköz a minta megfelelő.
- olvassa el a kernel levelezési archívumát.
- menjen át a Linuxon.git log látni elköveti a korábbi szerzők inspirációt.
- Megjegyzés: Ne top-post kommunikálni a véleményező a javítás! Íme egy példa:
rossz út:
Chris,
Igen ütemezzük a találkozót holnap, a második emeleten.
>a P, április 26, 2013 at 9:25 AM, Chris írta:
>Hé John, volt néhány kérdésem:
> 1. Be akarod ütemezni a találkozót holnapra?
> 2. Melyik emeleten az irodában?
> 3. Milyen idő alkalmas az Ön számára?(vegye figyelembe, hogy az utolsó kérdést akaratlanul megválaszolatlanul hagyták a válaszban.)
helyes út:
Chris,
lásd a válaszokat alább…
>a P, április 26, 2013 at 9:25 AM, Chris írta:
>Hé John, volt néhány kérdésem:
> 1. Be akarod ütemezni a találkozót holnapra?
igen, holnap rendben van.
> 2. Melyik emeleten az irodában?
tartsuk a második emeleten.
> 3. Milyen idő alkalmas az Ön számára?
09: 00 am rendben lenne.(minden kérdésre választ kaptunk, így időt takaríthatunk meg az olvasással.)
- az Eudyptula challenge egy nagyszerű módja annak, hogy megtanulják kernel alapjait.
további információkért olvassa el a KernelNewbies első Kernel javítás oktatóanyagát. Ezt követően, ha még mindig kérdése van, kérdezze meg a kernelnewbies levelezőlistán vagy a #kernelnewbies IRC csatornán.