{"id":6774,"date":"2019-12-04T08:00:53","date_gmt":"2019-12-04T07:00:53","guid":{"rendered":"https:\/\/alessandropagano.net\/blog\/?p=6774"},"modified":"2021-01-25T15:25:41","modified_gmt":"2021-01-25T14:25:41","slug":"kernel-linux-per-android","status":"publish","type":"post","link":"https:\/\/alessandropagano.net\/blog\/kernel-linux-per-android\/","title":{"rendered":"Kernel standard di Linux per Android. Google ci pensa"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_72 ez-toc-wrap-right counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommario<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6aa818cfe4fb6\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6aa818cfe4fb6\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/alessandropagano.net\/blog\/kernel-linux-per-android\/#Google_in_futuro_sogna_di_utilizzare_il_kernel_standard_di_Linux_per_Android\" title=\"Google, in futuro sogna di utilizzare il kernel standard di Linux per Android\">Google, in futuro sogna di utilizzare il kernel standard di Linux per Android<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/alessandropagano.net\/blog\/kernel-linux-per-android\/#Il_test\" title=\"Il test\">Il test<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/alessandropagano.net\/blog\/kernel-linux-per-android\/#Il_parere_degli_sviluppatori_Linux\" title=\"Il parere degli sviluppatori Linux\">Il parere degli sviluppatori Linux<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/alessandropagano.net\/blog\/kernel-linux-per-android\/#Alcuni_consigli_per_gli_acquisti\" title=\"Alcuni consigli per gli acquisti\">Alcuni consigli per gli acquisti<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Google_in_futuro_sogna_di_utilizzare_il_kernel_standard_di_Linux_per_Android\"><\/span>Google, in futuro sogna di utilizzare il kernel standard di Linux per Android<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Durante la <a href=\"https:\/\/www.linuxplumbersconf.org\/\" target=\"_blank\" rel=\"noopener\">Linux Plumbers Conference<\/a>, gli ingegneri di Google hanno mostrato i loro piani per cercare di ridurre la frammentazione che caratterizza il mondo Android. Il piano \u00e8 quello di poter <strong>integrare il kernel standard di Linux per le prossime versioni di Android<\/strong>. Come ben sappiamo, il sistema del robottino verde si basa su quello del pinguino ma subisce tantissime modifiche prima di approdare in versione definitiva sui vari smartphone.<\/p>\n<p>In pratica, tra il kernel di Linux LTS (Long Term Support) e ci\u00f2 che vediamo sugli smartphone Android che poi vengono rilasciati passano sostanzialmente tre fasi importanti. Il <strong>kernel Linux<\/strong> LTS viene <strong>modificato da Google<\/strong> che lo trasforma in un kernel <strong>Android<\/strong> standard.<\/p>\n<p>A questo punto, il kernel viene inviato ai produttori di SoC (come Qualcomm per i processori Snapdragon) che a loro volta apportano ulteriori modifiche sulla base della relativa piattaforma mobile.<\/p>\n<p>Questo kernel arriva infine nelle mani dei produttori di smartphone (Samsung, Huawei, Xiaomi, ecc\u2026) che lo modificano per renderlo compatibile con tutto il resto dei componenti hardware, come display, fotocamera, altoparlanti e qualsiasi altro componente aggiuntivo. Dopo questi passaggi, dal <strong>kernel di Linux LTS<\/strong> si arriva al <strong>Device Kernel<\/strong> che rappresenta il cuore di ogni dispositivo.<\/p>\n<p>In questo modo, <strong>diventa impossibile modificare il kernel di Linux<\/strong> una volta che il dispositivo \u00e8 stato realizzato.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Il_test\"><\/span>Il test<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Per evitare tutti questi passaggi, Google ha utilizzato un PocoPhone F1 per mostrare un<strong> software Android basato su un kernel di Linux<\/strong> puro. La dimostrazione effettuata non era esente da difetti. La percentuale della batteria, per esempio, segnava 0%. L\u2019obiettivo degli ingegneri di Big-G comunque \u00e8 quello di utilizzare un\u2019interfaccia nel kernel Linux (Generic Kernel Image) che permetta il caricamento dei driver di dispositivi proprietari come moduli plug-in evitando cos\u00ec modifiche al kernel stesso.<\/p>\n<p>In altre parole, i produttori di dispositivi Android potrebbero utilizzare il kernel standard di Linux aggiungendo man mano i moduli di cui hanno bisogno a seconda dello specifico caso. Il progetto, in pratica, segue un po\u2019 il <strong>principio di modularit\u00e0<\/strong> inaugurato con <strong>Project Treble<\/strong>. L\u2019idea di avvicinare il pi\u00f9 possibile <strong>Android<\/strong> al kernel standard di <strong>Linux<\/strong> ridurrebbe il sovraccarico tecnico per tutte le societ\u00e0 coinvolte, Google in primis, che non dovrebbero pi\u00f9 unire migliaia di modifiche in ogni nuova versione del kernel Linux.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Il_parere_degli_sviluppatori_Linux\"><\/span>Il parere degli sviluppatori Linux<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Insomma, si tratta di un progetto ambizioso che non \u00e8 detto che possa realizzarsi. Parte della comunit\u00e0 di <strong>sviluppatori<\/strong> Linux, inoltre,<strong> \u00e8 contraria<\/strong> all&#8217;idea di un\u2019interfaccia kernel stabile che \u2013 a parer loro \u2013 metterebbe <strong>a rischio la stabilit\u00e0 del sistema<\/strong> stesso.<\/p>\n<blockquote><p>\u201c<em>Lo sviluppo del kernel \u00e8 continuo e procede rapidamente, non si ferma mai. Gli sviluppatori scovano bug nelle interfacce e, di giorno in giorno, trovano vie migliori per fare le cose [\u2026] Questo modus operandi \u00e8 in netto contrasto con quanto viene fatto nei sistemi operativi closed source che devono mantenere il supporto per le vecchie interfacce nel tempo. Cos\u00ec facendo cresce la probabilit\u00e0 di fare danni e si abbassa la stabilit\u00e0 del sistema operativo. Inoltre, se le interfacce interne non possono essere modificate non \u00e8 possibile correggere i bug<\/em>\u201d \u00e8 il commento di Greg Kroah-Hartman, importante sviluppatore Linux.<\/p><\/blockquote>\n<p>In tutto questo contesto, non bisogna dimenticare che <strong>Google<\/strong> \u00e8 al lavoro da tempo su <strong>Fuchsia<\/strong>, il nuovo sistema operativo che non utilizza il kernel Linux come Android e ChromeOS, ma il <strong>microkernel Zircon<\/strong> che funziona in maniera differente rispetto al sistema del robottino verde.<\/p>\n<h2 class=\"entry-title\"><span class=\"ez-toc-section\" id=\"Alcuni_consigli_per_gli_acquisti\"><\/span>Alcuni consigli per gli acquisti<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ecco come sfruttare in maniera completa il sistema <strong>Android<\/strong> attraverso i dispositivi marchiati <strong>Google.<\/strong><\/p>\n<p>Vi segnalo qualche Smartphone Google che vi far\u00e0 entrare nella cosiddetta &#8220;Pixel Experience&#8221;<\/p>\n<p><iframe style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-eu.amazon-adsystem.com\/e\/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=aleko21-21&amp;language=it_IT&amp;o=29&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B07Z6QD7Q7&amp;linkId=36712bc7ad85b0a11131cceb4231315b\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><iframe style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-eu.amazon-adsystem.com\/e\/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=aleko21-21&amp;language=it_IT&amp;o=29&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B07Z6MTN27&amp;linkId=ff85c0c6664c4f9b7f794153c805703f\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><iframe style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-eu.amazon-adsystem.com\/e\/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=aleko21-21&amp;language=it_IT&amp;o=29&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B07RLVMT5N&amp;linkId=e7dc106f9c8951680ebb730fb79b873c\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il piano di Google \u00e8 integrare il kernel di Linux su Android. Questo ne ridurrebbe la frammentazione. Non tutti gli sviluppatori Linux sono d&#8217;accordo.<\/p>\n","protected":false},"author":1,"featured_media":6776,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[270,507,152,575,15,576],"class_list":["post-6774","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tecnologia","tag-android","tag-development","tag-google","tag-kernel","tag-linux","tag-opensource","infinite-scroll-item","masonry-post","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/11\/androidlinuxfeatureimage.png?fit=1200%2C600&ssl=1","uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/11\/androidlinuxfeatureimage.png?fit=1200%2C600&ssl=1",1200,600,false],"thumbnail":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/11\/androidlinuxfeatureimage.png?resize=150%2C150&ssl=1",150,150,true],"medium":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/11\/androidlinuxfeatureimage.png?fit=300%2C150&ssl=1",300,150,true],"medium_large":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/11\/androidlinuxfeatureimage.png?fit=768%2C384&ssl=1",768,384,true],"large":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/11\/androidlinuxfeatureimage.png?fit=1024%2C512&ssl=1",1024,512,true],"1536x1536":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/11\/androidlinuxfeatureimage.png?fit=1200%2C600&ssl=1",1200,600,true],"2048x2048":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/11\/androidlinuxfeatureimage.png?fit=1200%2C600&ssl=1",1200,600,true],"trp-custom-language-flag":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/11\/androidlinuxfeatureimage.png?fit=18%2C9&ssl=1",18,9,true]},"uagb_author_info":{"display_name":"aleko","author_link":"https:\/\/alessandropagano.net\/blog\/author\/aleko\/"},"uagb_comment_info":0,"uagb_excerpt":"Il piano di Google \u00e8 integrare il kernel di Linux su Android. Questo ne ridurrebbe la frammentazione. Non tutti gli sviluppatori Linux sono d'accordo.","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/posts\/6774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/comments?post=6774"}],"version-history":[{"count":0,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/posts\/6774\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/media\/6776"}],"wp:attachment":[{"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/media?parent=6774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/categories?post=6774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/tags?post=6774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}