Lines Matching +full:in +full:- +full:kernel

1 .. include:: ../disclaimer-ita.rst
8 Come partecipare allo sviluppo del kernel Linux
13 del kernel Linux e spiega come lavorare con la comunità di
14 sviluppo kernel Linux. Il documento non tratterà alcun aspetto
15 tecnico relativo alla programmazione del kernel, ma vi aiuterà
18 Se qualsiasi cosa presente in questo documento diventasse obsoleta,
20 file, indicati in fondo al presente documento.
23 ------------
24 Dunque, volete imparare come diventare sviluppatori del kernel Linux?
30 di spiegare alcune delle ragioni per le quali la comunità lavora in un
33 Il kernel è scritto prevalentemente nel linguaggio C con alcune parti
34 specifiche dell'architettura scritte in linguaggio assembly.
35 Per lo sviluppo kernel è richiesta una buona conoscenza del linguaggio C.
42 - "The C Programming Language" di Kernighan e Ritchie [Prentice Hall]
43 - "Practical C Programming" di Steve Oualline [O'Reilly]
44 - "C: A Reference Manual" di Harbison and Steele [Prentice Hall]
46 Il kernel è stato scritto usando GNU C e la toolchain GNU.
48 estensioni che non sono previste in questo standard. Il kernel è un
51 Le divisioni ``long long`` e numeri in virgola mobile non sono permessi.
52 Qualche volta è difficile comprendere gli assunti che il kernel ha
53 riguardo gli strumenti e le estensioni in uso, e sfortunatamente non
62 imparare, in anticipo, il più possibile circa questi standard, poichè ben
67 ------------
68 Il codice sorgente del kernel Linux è rilasciato sotto GPL. Siete pregati
72 del kernel Linux. Le persone presenti in queste liste non sono avvocati,
73 e non dovreste basarvi sulle loro dichiarazioni in materia giuridica.
77 https://www.gnu.org/licenses/gpl-faq.html
80 --------------
81 I sorgenti del kernel Linux hanno una vasta base di documenti che vi
82 insegneranno come interagire con la comunità del kernel. Quando nuove
83 funzionalità vengono aggiunte al kernel, si raccomanda di aggiungere anche i
85 Quando un cambiamento del kernel genera anche un cambiamento nell'interfaccia
89 in CC la lista linux-api@vger.kernel.org.
91 Di seguito una lista di file che sono presenti nei sorgente del kernel e che
94 :ref:`Documentation/translations/it_IT/admin-guide/README.rst <it_readme>`
95 Questo file da una piccola anteprima del kernel Linux e descrive il
96 minimo necessario per configurare e generare il kernel. I novizi
97 del kernel dovrebbero iniziare da qui.
102 a compilare e far funzionare il kernel con successo.
104 :ref:`Documentation/translations/it_IT/process/coding-style.rst <it_codingstyle>`
106 Questo file descrive lo stile della codifica per il kernel Linux,
108 seguire le linee guida in questo documento. Molti amministratori
112 :ref:`Documentation/translations/it_IT/process/submitting-patches.rst <it_submittingpatches>` e
113 :ref:`Documentation/translations/it_IT/process/submitting-drivers.rst <it_submittingdrivers>`
118 - Contenuto delle email
119 - Formato delle email
120 - I destinatari delle email
131 "Linux kernel patch submission format"
132 https://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html
134 :ref:`Documentation/translations/it_IT/process/stable-api-nonsense.rst <it_stable_api_nonsense>`
137 non avere un API stabile all'interno del kernel, incluso cose come:
139 - Sottosistemi shim-layers (per compatibilità?)
140 - Portabilità fra Sistemi Operativi dei driver.
141 - Attenuare i rapidi cambiamenti all'interno dei sorgenti del kernel
148 :ref:`Documentation/translations/it_IT/admin-guide/security-bugs.rst <it_securitybugs>`
149 Se ritenete di aver trovato un problema di sicurezza nel kernel Linux,
150 seguite i passaggi scritti in questo documento per notificarlo agli
151 sviluppatori del kernel, ed aiutare la risoluzione del problema.
153 :ref:`Documentation/translations/it_IT/process/management-style.rst <it_managementstyle>`
154 Questo documento descrive come i manutentori del kernel Linux operano
156 lettura per tutti coloro che sono nuovi allo sviluppo del kernel (o per
159 manutentori del kernel.
161 :ref:`Documentation/translations/it_IT/process/stable-kernel-rules.rst <it_stable_kernel_rules>`
163 kernel, e spiega cosa fare se si vuole che una modifica venga inserita
164 in uno di questi rilasci.
166 :ref:`Documentation/translations/it_IT/process/kernel-docs.rst <it_kernel_docs>`
167 Una lista di documenti pertinenti allo sviluppo del kernel.
169 documentazione interna del kernel.
171 :ref:`Documentation/translations/it_IT/process/applying-patches.rst <it_applying_patches>`
173 applicarla ai differenti rami di sviluppo del kernel.
175 Il kernel inoltre ha un vasto numero di documenti che possono essere
178 descrizione dell'API interna del kernel, e le regole su come gestire la
181 Tutte queste tipologie di documenti possono essere generati in PDF o in
187 rispettivamente dalla cartella principale dei sorgenti del kernel.
191 Questi posso essere generati anche in formato LaTex e ePub con::
196 Diventare uno sviluppatore del kernel
197 -------------------------------------
198 Se non sapete nulla sullo sviluppo del kernel Linux, dovreste dare uno
204 tipo di quesito relativo ai concetti fondamentali sullo sviluppo del kernel
206 quale è già stata fornita risposta in passato). Esistono inoltre, un canale IRC
207 che potete usare per formulare domande in tempo reale, e molti documenti utili
208 che vi faciliteranno nell'apprendimento dello sviluppo del kernel Linux.
213 la compilazione del kernel e l'applicazione di una modifica.
217 Kernel Janitor's.
223 kernel Linux. Lavorando con gli sviluppatori incaricati di questo progetto,
225 sorgenti del kernel Linux, e possibilmente, sarete indirizzati al lavoro
228 Prima di apportare una qualsiasi modifica al codice del kernel Linux,
233 il progetto Linux Cross-Reference, che è in grado di presentare codice
234 sorgente in un formato autoreferenziale ed indicizzato. Un eccellente ed
235 aggiornata fonte di consultazione del codice del kernel la potete trovare qui:
241 -----------------------
242 Il processo di sviluppo del kernel Linux si compone di pochi "rami" principali
245 - I sorgenti kernel 4.x
246 - I sorgenti stabili del kernel 4.x.y -stable
247 - Sorgenti dei sottosistemi del kernel e le loro modifiche
248 - Il kernel 4.x -next per test d'integrazione
250 I sorgenti kernel 4.x
253 I kernel 4.x sono amministrati da Linus Torvald, e possono essere trovati
254 su https://kernel.org nella cartella pub/linux/kernel/v4.x/. Il processo
257 - Non appena un nuovo kernel viene rilasciato si apre una finestra di due
260 inseriti nel ramo -next del kernel per alcune settimane. Il modo migliore
262 gestire i sorgenti del kernel, più informazioni sul sito
263 https://git-scm.com/) ma anche delle patch vanno bene.
265 - Al termine delle due settimane un kernel -rc1 viene rilasciato e
271 accettato dopo la -rc1 poiché non esistono rischi di una possibile
273 auto-contenuto e non influisce su aree esterne al codice che è stato
275 la -rc1 è stata rilasciata, ma è anche necessario inviare le patch ad
278 - Una nuova -rc viene rilasciata ogni volta che Linus reputa che gli attuali
279 sorgenti siano in uno stato di salute ragionevolmente adeguato ai test.
280 L'obiettivo è quello di rilasciare una nuova -rc ogni settimana.
282 - Il processo continua fino a che il kernel è considerato "pronto"; tale
283 processo dovrebbe durare circa in 6 settimane.
286 kernel-linux in merito ai rilasci del kernel:
288 *"Nessuno sa quando un kernel verrà rilasciato, poichè questo è
291 I sorgenti stabili del kernel 4.x.y -stable
294 I kernel con versioni in 3-parti sono "kernel stabili". Essi contengono
296 oppure significative regressioni scoperte in un dato 4.x kernel.
298 Questo è il ramo raccomandato per gli utenti che vogliono un kernel recente
302 Se non è disponibile alcun kernel 4.x.y., quello più aggiornato e stabile
303 sarà il kernel 4.x con la numerazione più alta.
305 4.x.y sono amministrati dal gruppo "stable" <stable@vger.kernel.org>, e sono
311 Il file Documentation/process/stable-kernel-rules.rst (nei sorgenti) documenta
312 quali tipologie di modifiche sono accettate per i sorgenti -stable, e come
316 Sorgenti dei sottosistemi del kernel e le loro patch
319 I manutentori dei diversi sottosistemi del kernel --- ed anche molti
320 sviluppatori di sottosistemi --- mostrano il loro attuale stato di sviluppo
321 nei loro repositori. In questo modo, altri possono vedere cosa succede nelle
322 diverse parti del kernel. In aree dove lo sviluppo è rapido, potrebbe essere
324 in modo da evitare i conflitti fra le sottomissioni ed altri lavori in corso
327 in uso, o file di patch pubblicate come una serie quilt.
329 MAINTAINERS. Molti di questi posso essere trovati su https://git.kernel.org/.
331 Prima che una modifica venga inclusa in questi sottosistemi, sarà soggetta ad
333 sezione dedicata qui sotto). Per molti sottosistemi del kernel, tale processo
337 come "in revisione", "accettate", o "rifiutate". Diversi siti Patchwork sono
338 elencati al sito https://patchwork.kernel.org/.
340 Il kernel 4.x -next per test d'integrazione
348 https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git
350 In questo modo, i kernel -next offrono uno sguardo riassuntivo su quello che
351 ci si aspetterà essere nel kernel principale nel successivo periodo
353 Coloro che vorranno fare dei test d'esecuzione del kernel -next sono più che
358 -------------
360 https://bugzilla.kernel.org è dove gli sviluppatori del kernel Linux tracciano
361 i bachi del kernel. Gli utenti sono incoraggiati nel riportare tutti i bachi
363 Per maggiori dettagli su come usare il bugzilla del kernel, guardare:
365 https://bugzilla.kernel.org/page.cgi?id=faq.html
367 Il file admin-guide/reporting-bugs.rst nella cartella principale del kernel
368 fornisce un buon modello sul come segnalare un baco nel kernel, e spiega quali
373 --------------------------
375 Uno dei modi migliori per mettere in pratica le vostre capacità di hacking è
377 diventare il kernel più stabile, ma imparerete a riparare problemi veri dal
384 https://bugzilla.kernel.org.
387 --------------------
389 Come descritto in molti dei documenti qui sopra, la maggior parte degli
390 sviluppatori del kernel partecipano alla lista di discussione Linux Kernel.
394 http://vger.kernel.org/vger-lists.html#linux-kernel
399 http://dir.gmane.org/gmane.linux.kernel
401 É caldamente consigliata una ricerca in questi archivi sul tema che volete
403 discusse in dettaglio e registrate negli archivi della lista di discussione.
405 Molti dei sottosistemi del kernel hanno anche una loro lista di discussione
409 Molte di queste liste sono gestite su kernel.org. Per informazioni consultate
412 http://vger.kernel.org/vger-lists.html
428 Ricordate di rimanere sempre in argomento e di mantenere le attribuzioni
430 in cima alla vostra replica e aggiungete le vostre risposte fra i singoli
434 leggibili come indicato in Documentation/process/submitting-patches.rst.
435 Gli sviluppatori kernel non vogliono avere a che fare con allegati o patch
437 il che può funzionare solo in questo modo.
447 ------------------------
449 L'obiettivo di questa comunità è quello di fornire il miglior kernel possibile.
453 - critiche
454 - commenti
455 - richieste di cambiamento
456 - richieste di spiegazioni
457 - nulla
460 all'interno del kernel. Dovete essere in grado di accettare le critiche,
469 - aspettarvi che la vostra modifica venga accettata senza problemi
470 - mettervi sulla difensiva
471 - ignorare i commenti
472 - sottomettere nuovamente la modifica senza fare nessuno dei cambiamenti
475 In una comunità che è alla ricerca delle migliori soluzioni tecniche possibili,
477 Siate cooperativi e vogliate adattare la vostra idea in modo che sia inserita
478 nel kernel. O almeno vogliate dimostrare che la vostra idea vale.
489 Differenze tra la comunità del kernel e le strutture aziendali
490 --------------------------------------------------------------
492 La comunità del kernel funziona diversamente rispetto a molti ambienti di
498 - "Questo risolve più problematiche."
499 - "Questo elimina 2000 stringhe di codice."
500 - "Qui una modifica che spiega cosa sto cercando di fare."
501 - "L'ho testato su 5 diverse architetture.."
502 - "Qui una serie di piccole modifiche che.."
503 - "Questo aumenta le prestazioni di macchine standard..."
507 - "Lo abbiamo fatto in questo modo in AIX/ptx/Solaris, di conseguenza
509 - "Ho fatto questo per 20 anni, quindi.."
510 - "Questo è richiesto dalla mia Azienda per far soldi"
511 - "Questo è per la linea di prodotti della nostra Azienda"
512 - "Ecco il mio documento di design di 1000 pagine che descrive ciò che ho
513 in mente"
514 - "Ci ho lavorato per 6 mesi..."
515 - "Ecco una patch da 5000 righe che.."
516 - "Ho riscritto il pasticcio attuale, ed ecco qua.."
517 - "Ho una scadenza, e questa modifica ha bisogno di essere approvata ora"
519 Un'altra cosa nella quale la comunità del kernel si differenzia dai più
527 potrebbe chiamarsi Pat. Gran parte delle donne che hanno lavorato al kernel
533 necessaria per esporre le proprie idee in maniera appropiata all'interno
535 email prima di inviarle in modo da essere certi che abbiano senso in inglese.
539 ----------------------------
541 La comunità del kernel Linux non accetta con piacere grossi pezzi di codice
542 buttati lì tutti in una volta. Le modifiche necessitano di essere
543 adeguatamente presentate, discusse, e suddivise in parti più piccole ed
549 discarica per le vostre aggiunte. In ogni caso, non inviate 50 email nello
550 stesso momento in una lista di discussione, il più delle volte la vostra serie
571 Qui un'analogia dello sviluppatore kernel Al Viro:
580 *"Lo stesso vale per lo sviluppo del kernel. I manutentori ed i
589 vostre modifiche in pezzettini che potrebbero essere già accettate, nonostante
592 In fine, rendetevi conto che non è accettabile inviare delle modifiche
597 --------------------------------
605 -------------------------------
612 - perchè la modifica è necessaria
613 - l'approccio d'insieme alla patch
614 - dettagli supplementari
615 - risultati dei test
632 ----------
644 Manutentore: Greg Kroah-Hartman <greg@kroah.com>