3.10 65 միջուկի տարբերակը: Linux միջուկի թարմացում նոր տարբերակով

«Եվ ես ... լվանում եմ կարբյուրատորը»:
Կատակ

Ներածություն

Մանկապարտեզում համախոհների հետ բաժանում էինք մորեխներին՝ նրանց կառուցվածքը հասկանալու հույսով։ «Ռոսիա» ռադիոընդունիչը դպրոցում զոդել են. Ինստիտուտում հերթը հասավ մեքենաներին, որոնց ընկույզները բազմիցս վերադասավորվեցին։ Հետաքրքրությունները փոխվել են, բայց «ապամոնտաժվելու» ցանկությունը երբեմն արթնանում է, և այսօր այն ուղղված է Android-ին։

Քանի՞ անգամ եք փրկվել Android աղբյուրների առկայությամբ: Ինձ այլևս չի կարելի հաշվել։ Android - բաց նախագիծ, բայց ցավոք մենք միայն կարդալու ունակություն ունենք; Android-ի կոդը խմբագրելը առանց Google-ի աշխատակից լինելու գրեթե անհնար է։ Եկեք սգանք այս պահը և ներբեռնենք շտեմարանը։ Ինչպես դա անել, հիանալի նկարագրված է պաշտոնական կայքում:


Ընդհանուր ճարտարապետություն

Android-ի ճարտարապետությունը սխեմատիկորեն կարելի է պատկերել հետևյալ կերպ.

Սեղանի համակարգիչներն ու դյուրակիր համակարգիչները ունեն հզորության ռեժիմների լավ կայացած համակարգ (x86 պրոցեսորներն ունեն դրանցից մի քանիսը). համակարգիչը աշխատում է «ամբողջ արագությամբ», երբ ինչ-որ բան արվում է, և անցնում է էներգախնայողության ռեժիմի, երբ համակարգը անգործուն է: «Քնի» ռեժիմին անցնելը տեղի է ունենում կա՛մ բավականին երկար անգործությունից հետո, կա՛մ ձեռքով, օրինակ՝ նոութբուքի կափարիչը փակելիս:

Հեռախոսների վրա այլ մեխանիզմ էր պահանջվում՝ համակարգի հիմնական վիճակը «ձմեռումն է», դրանից դուրս գալն իրականացվում է միայն անհրաժեշտության դեպքում։ Այսպիսով, համակարգը կարող է քնել, նույնիսկ եթե որոշ հավելվածներ ակտիվ են: Android-ը ներդրեց wakelock մեխանիզմը. եթե հավելվածը (կամ դրայվերը) անում է մի կարևոր բան, որը պետք է հասնի իր տրամաբանական ավարտին, այն «գրավում» է wakelock-ը՝ թույլ չտալով սարքի քունը:

Wakelock մեխանիզմը միջուկ տեղափոխելու փորձերը առաջացրել են բազմաթիվ մշակողների դիմադրություն: Android-ի ծրագրավորողները լուծեցին կոնկրետ խնդիր, որի լուծումը որոշակի մեխանիզմ էր։ Առաջադրանքի պայմանները շատ նեղ էին. Թիրախային հարթակը ARM-ն է, ուստի օգտագործվել են դրա հնարավորությունները. ARM պրոցեսորներն ի սկզբանե ենթադրում են քնի և արթնացման ռեժիմների հաճախակի փոփոխություններ՝ ի տարբերություն x86-ի: Android-ում հավելվածները հաղորդակցվում են էներգիայի կառավարման համակարգի հետ PowerManager-ի միջոցով, իսկ ինչ վերաբերում է Linux հաճախորդի հավելվածներին:

Android-ի մշակողները չեն էլ փորձել գտնել ընդհանուր որոշում«ապագայի համար», որն այնուհետև առանց որևէ խնդիրների կհոսի հիմնական միջուկ, այս հարցի շուրջ չի խորհրդակցել Linux միջուկի համայնքի հետ: Նրանց կարելի՞ է մեղադրել սրա համար։ Չնայած բոլոր խնդիրներին և քննարկումներին, ինչպես նշվեց վերևում, միջուկում հայտնվեց API՝ նույնական autosleep ֆունկցիոնալությամբ:

Android հավելվածների ծրագրավորողները հազվադեպ են ստիպված լինում գործ ունենալ wakelocks-ի հետ, քանի որ հարթակը և վարորդները կատարում են իրենց վերապահված պարտավորությունները՝ հաշվի առնելով «քնելու» ռեժիմը։ Այնուամենայնիվ, ծանոթ PowerManager-ը կօգնի միջամտել այս գործընթացին: Ի դեպ, հեղինակը ենթադրում է միայն մեկ սցենար՝ թույլ չտալ, որ հեռախոսը չքնի, երբ ծառայությունը սկսվում է BroadcastReceiver-ից, որը լուծում է Android Support Library WakefulBroadcastReceiver-ի օժանդակ դասը:

Ցածր հիշողության մարդասպան

Ստանդարտ Linux միջուկն ունի Out of Memory Killer, որը, հիմնվելով վատության պարամետրի վրա, որոշում է ոչնչացման գործընթացը.

Badness_for_task = total_vm_for_task / (sqrt(cpu_time_in_seconds) *
sqrt(sqrt(cpu_time_in_րոպեներում)))

Այսպիսով, որքան ավելի շատ հիշողություն սպառի գործընթացը և որքան քիչ ապրի, այնքան քիչ բախտավոր կլինի:

Դիագրամը ցույց է տալիս ընդհանուր համակարգ android գրանցում. Լոգինգի դրայվերը յուրաքանչյուր բուֆերի մուտք է ապահովում /dev/log/*-ի միջոցով: Հավելվածներին դրանք հասանելի են ոչ թե ուղղակիորեն, այլ liblog գրադարանի միջոցով։ liblog գրադարանը հաղորդակցվում է Log, Slog և EventLog դասերի հետ: Adb logcat հրամանը ցույց է տալիս «հիմնական» բուֆերի բովանդակությունը:

Եզրակացություն

Այս գրառման մեջ մենք հակիրճ վերանայեցինք Android-ի որոշ առանձնահատկություններ՝ որպես Linux համակարգ: Որոշ այլ մասեր դուրս են մնացել փակագծերից (pmem, RAM կոնսոլ և այլն), ինչպես նաև հարթակի այնպիսի կարևոր ասպեկտներ, ինչպիսիք են System Service-ը, համակարգի գործարկման գործընթացը և այլն: Եթե ​​այս թեման հետաքրքիր է, մենք դրանք կքննարկենք հաջորդ հոդվածներում։

Կիրակի երեկոյան Լինուս Տորվալդս, Linux-ի ծնող և միջուկի մշակող օպերացիոն համակարգ, երկամսյա աշխատանքից հետո հայտարարեց Linux kernel 3.10-ի նոր տարբերակի թողարկման մասին:

Ինքը՝ մշակողի խոսքով, այս միջուկը վերջին մի քանի տարիների ընթացքում նորարարության առումով ամենամեծն է դարձել։

Լինուսը խոստովանեց, որ սկզբում մտադիր էր ազատ արձակել մեկ այլ ազատ արձակման թեկնածուի, բայց որոշ մտածելուց հետո նա թեքվեց դեպի վերջնական թողարկումը անմիջապես 3.10 համարով թողարկելու համար: Թորվալդսն իր ուղերձում նշել է նաև, որ նոր միջուկը, ինչպես 3.9 տարբերակը, լիովին պատրաստ է ամենօրյա օգտագործման համար։

Բացի այդ, միջուկի RC տարբերակի հայտարարության մեջ Լինուս Տորվալդսը գրել է, որ նախկինում միշտ ներառել է այն մարդկանց անունների ցուցակը, ովքեր ուղարկել են կոդի որոշ մասեր, բայց այս անգամ այս ցուցակն այնքան մեծ է լինելու, որ չի կարող լինել։ ամբողջությամբ տրված է մեկ թերթիկով.փոստով.

3.10 միջուկում կատարված հիմնական փոփոխությունների ցանկը.

  • Այժմ հնարավոր է կանխել սկրիպտների կատարումը որպես ծրագրեր. «#!» վերնագրում թարգմանչի ուղին պարունակող սկրիպտների գործարկման գործառույթն այժմ կարող է կազմվել որպես միջուկի մոդուլ;
  • Google-ի կողմից մշակված և օգտագործվող Bcache համակարգը ինտեգրված է: Bcache-ը թույլ է տալիս արագ SSD կրիչների վրա դանդաղ կոշտ սկավառակների մուտքը քեշավորել; քեշավորումն իրականացվում է բլոկային սարքի մակարդակով, և դա թույլ է տալիս արագացնել մուտքը դեպի սկավառակ՝ անկախ սարքում օգտագործվող ֆայլային համակարգերից.
  • Միջուկը կարող է կազմվել Clang կոմպիլյատորով LLVMLinux նախագծի կողմից պատրաստված patches-ի շնորհիվ;
  • Հայտնվել է ժամանակաչափի ընդհատումների առաջացման դինամիկ կառավարման համակարգ։ Այժմ, կախված ընթացիկ վիճակից, դուք կարող եք փոխել ընդհատումները վայրկյանում հազարավոր տիզերից մինչև վայրկյանում մեկ ընդհատում. սա թույլ է տալիս նվազագույնի հասցնել պրոցեսորի բեռը համակարգի անգործության դեպքում ընդհատումները մշակելիս: Ներկայումս այս հատկությունն օգտագործվում է իրական ժամանակի համակարգերի և HPC-ի համար (բարձր արդյունավետությամբ հաշվարկներ), սակայն միջուկի ապագա թողարկումներում այն ​​կակտիվացվի նաև աշխատասեղանի համակարգերի համար.
  • Այժմ հնարավոր է ստեղծել իրադարձություն, որը տեղեկացնում է հավելվածին գործընթացի/համակարգի համար հասանելի հիշողության սպառմանը մոտենալու մասին (cխմբերում);
  • Հիշողության հասանելիության պրոֆիլավորումը հասանելի է դարձել perf հրամանի համար;
  • iSCSI ենթահամակարգին ավելացվել է RDMA (iSER) արձանագրության աջակցություն;
  • Կա նոր «համաժամեցում» դրայվեր (փորձարարական): Այն մշակվել է շրջանակներում Android հարթակներև օգտագործվում է այլ վարորդների միջև համաժամացման համար.
  • QXL վիրտուալ գրաֆիկական քարտի դրայվերը ինտեգրվել է (օգտագործվում է վիրտուալացման համակարգերում արագ դուրսբերումգրաֆիկներ՝ օգտագործելով SPICE արձանագրությունը);
  • AMD 16h (Jaguar) պրոցեսորներով ներդրված էներգիայի կառավարման նոր գործառույթներն այժմ աջակցվում են.
  • Radeon DRM-ին ավելացվել է արագացված տեսանյութերի ապակոդավորման աջակցություն՝ օգտագործելով ժամանակակից AMD GPU-ներում ներկառուցված UVD ապակոդավորիչը;
  • Հայտնվել է Microsoft Hyper-V վիրտուալ վիդեո ադապտերների դրայվեր (կան նաև բարելավումներ Hyper-V-ի շահագործման մեջ որպես ամբողջություն);
  • Գաղտնագրման գործառույթների կատարումը (sha256, sha512, blowfish, twofish, serpent և camellia) օպտիմիզացված է AVX/AVX2 և SSE հրահանգների միջոցով:

Օգտատերեր շարժական սարքերմիշտ չէ, որ գոհ են իրենց գաջեթների աշխատանքից և հնարավորություններից: Այս պատճառով օգտվողները փնտրում են լավագույն միջոցըինչպես բռնկել android օպերացիոն համակարգի միջուկը: Մի կողմից, նման գործողություն կարելի է հեշտությամբ իրականացնել ձեր պլանշետի կամ սմարթֆոնի միջոցով: Հազարավոր օգտատերեր հաջողությամբ թարթել են միջուկը՝ առանց որևէ դժվարության կամ խնդիրների: Բայց, մյուս կողմից, այս գործընթացի ընթացքում ցանկացած սխալ կարող է հանգեցնել, որոնց թվում է գաջեթի խափանումը և թանկարժեք սարքի անհրաժեշտությունը. հետվաճառքի սպասարկում. Տարբեր փուլերում կա չընտրելու վտանգ ճիշտ տարբերակմիջուկի որոնվածը, որը ստեղծվել է ոչ հմուտ մշակողների կողմից կամ չի համապատասխանում ձեր շարժական սարքին: Խորհուրդ ենք տալիս չափազանց զգույշ լինել, երբ ցածր մակարդակով սարքի ծրագրային մասում փոփոխություններ են կատարում ցանկացած գործողություն: Միջուկը հաջողությամբ թարթելուց հետո շատերի մոտ զգացվում է, որ ձեռքերում բոլորովին նոր սարք են բռնում։ Այդպիսով, առաջադեմ օգտվողները կարող են հարմարեցնել գաջեթը իրենց կարիքներին և նախասիրություններին համապատասխան՝ միաժամանակ ձեռք բերելով նոր գիտելիքներ և փորձ ժամանակակից բջջային տեխնոլոգիաների վերաբերյալ:

Android օպերացիոն համակարգի միջուկը և դրա որոնվածը

Ո՞րն է բջջային սարքի առանցքը:

Օպերացիոն համակարգի միջուկը հիմքն է ծրագրային ապահովում, որը վերահսկում է սարքի ապարատը։ Ցանկացած գաջեթի հիմնական պարամետրերը կախված են դրանից։ Հարկ է նշել, որ այն բաղկացած է երեք փոխկապակցված բաղադրիչներից՝ Linux միջուկից, Dalvik ուղղահայաց մեքենայից և ցածր մակարդակի տարբեր ծառայություններից ու գրադարաններից։ Եթե ​​մենք խոսում ենք մաքսային որոնվածի մասին, ապա ազդում են միայն երկու բաղադրիչ, որոնք թույլ են տալիս ավելացնել համակարգի նոր ծառայություններ, օպտիմալացնել առկա պարամետրերը և փոխել գրաֆիկական վահանակը:

Նրանք, ովքեր ցանկանում են տեղադրել միջուկը Android-ում, պետք է հասկանան, որ տարբերություն կա մաքսային միջուկի և մաքսային որոնվածի հասկացությունների միջև: Վերջինս ծրագրաշարի ոչ պաշտոնական տարբերակն է։ Հատուկ որոնվածը մշակվել է մասնագետների թիմի կողմից հատուկ սարքեր. Հատուկ միջուկը հիմնված է Linux միջուկի վրա, որը ներկայացնում է դրա ոչ պաշտոնական տարբերակը: Հաճախ հարմարեցված միջուկը գալիս է որոնվածի հետ: Բայց որոնվածը փոխելուց հետո այն կարող է տեղադրվել առանձին: Փաստորեն, այն չի փոխարինում բջջային սարքի բնիկ միջուկը, որը նման գործողության վերջնական նպատակն է:

Android-ի միջուկի թարթումը հիմնականում արվում է սարքի շահագործման ժամանակը մի քանի ժամով ավելացնելու համար՝ կարգավորելով էներգիայի սպառման պարամետրերը։ Թերևս դա է հիմնական պատճառը, որ օգտատերերը կատարում են իրենց գաջեթների ծրագրային ապահովման բարդ վերափոխումները։ Որոնվածը թույլ կտա նաև փոխել վիդեո չիպն առանց հետևանքների ձեր սմարթֆոնի կամ պլանշետի համար։ Ընդլայնված օգտվողներն այսպիսով կարգավորում են էկրանը՝ փոխելով դրա գունային վերարտադրությունը, զգայունությունը: Kernel որոնվածը թույլ է տալիս բարելավել սարքի ձայնը, թարմացնել դրայվերները և աջակցել ոչ ստանդարտ արտաքին սարքերին:

Նախքան միջուկը թարթելը, խորհուրդ ենք տալիս համոզվել, որ ընտրել եք ճիշտ տարբերակը, որը ստեղծվել է փորձառու մշակողների կողմից։ Բացի այդ, կարևոր է համոզվել, որ այն համապատասխանում է ձեր Android որոնվածի տարբերակին: Ցանկալի է կարդալ այն մարդկանց ակնարկները, ովքեր կարողացել են տեղադրել միջուկի համապատասխան տարբերակը իրենց բջջային հեռախոսում։ Կարծիքները կարող են պարունակել կարևոր տեղեկություններ այն խնդիրների մասին, որոնք կարող են առաջանալ որոնվածի կամ սարքի հետագա շահագործման ընթացքում:

Գործիքների որոնվածը Fastboot-ի միջոցով

Դուք կարող եք թարթել ձեր Android սարքը Fastboot-ի միջոցով: Բայց նախ դուք պետք է տեղադրեք կոմունալ ծրագիրը ձեր գործիքի վրա: Այս ծրագրի երկու տարբերակ կա. Առաջինը ներառում է Fastboot-ի ներբեռնումը պաշտոնականի հետ համատեղ Android ծրագիր SDK. Երկրորդ տարբերակը ներառում է կոմունալ ծրագիրը առանձին ներբեռնելու համար:

Խորհուրդ ենք տալիս ստուգել՝ արդյոք ձեր շարժական սարքը տեսնում է նոութբուք կամ համակարգիչ: Դա անելու համար դուք պետք է կատարեք: Համակարգչում ներբեռնելուց և տեղադրելուց հետո նոութբուքը աշխատում է օպերացիոն համակարգով Windows համակարգ, fastboot կոմունալ ծառայություններև սմարթֆոնը միացնելով, դուք պետք է բացեք հրամանի տողը: Դա անելու համար բացեք Որոնումը: Windows 8-ում անհրաժեշտ է միայն մկնիկի կուրսորը ուղղել էկրանի աջ կողմում և ընտրել համապատասխան բաժինը: Որոնման մեջ պետք է մուտքագրեք «cmd», որից հետո ձեր դիմաց կհայտնվի հրամանի տողը։ Սարքը պետք է դրվի որոնվածի ռեժիմի: Հաջորդը, մուտքագրեք հրաման, որը կփորձարկի համակարգչի և շարժական սարքի փոխազդեցությունը.

fastboot սարքեր

Եթե ​​ամեն ինչ աշխատում է, դուք պետք է բեռնեք boot.img միջուկի որոնվածի ճիշտ տարբերակը: Մենք խորհուրդ չենք տալիս թարթել միջուկը բնօրինակ որոնվածը, քանի որ դա կարող է խնդիրներ առաջացնել սմարթֆոնի աշխատանքի հետ: Ֆայլը պետք է պահվի C drive-ի նախապես ստեղծված բաժանման մեջ, որը կոչվում է «Android»: Դրանից հետո դուք պետք է բեռնեք ձեր բջջային սարքը Fastboot-ի մեջ և միացնեք այն ձեր համակարգչին: Էկրանի վրա կհայտնվի «Fastboot USB» հաղորդագրությունը:

  • cd C:\Android.
  • fastboot flash boot boot.img.
  • fastboot ջնջել քեշը:
  • fastboot reboot.

Շատ կարևոր է բոլոր բառերը ճիշտ մուտքագրել՝ հաշվի առնելով մեծատառերը և բացատները։ cd հրամանը բացում է անհրաժեշտ թղթապանակը, որը պարունակում է անհրաժեշտ ֆայլերը: Դրանից հետո տեղի է ունենում թարթում: «Fastboot erase cache» հրամանը ջնջում է քեշի բաժանումը: Վերջին հրամանը` fastboot reboot-ը վերագործարկում է սարքը որոնվածի ռեժիմից նորմալ: Եթե ​​այս բոլոր քայլերը ճիշտ եք կատարել, ապա գործընթացը հաջող կլինի:

Որոնվածը օգտագործելով ClockworkMod Recovery-ը

ClockworkMod Recovery-ը (կամ կարճ՝ CWM) վերականգնման համակարգ է, որն օգտագործվում է գործարանային սկզբնական վերականգնման փոխարեն: CWM-ը թույլ է տալիս բջջային սարքի վրա տեղադրել նոր որոնվածը, ֆլեշ միջուկը, պատրաստել կրկնօրինակումֆայլեր և վերականգնել կեղևը: Նման համակարգը կարող է աշխատել որոնվածի թարմացման ֆայլերի հետ, որոնք ունեն zip ձևաչափ: ClockworkMod-ը տեղադրված է , փոխարինելով գործարանային վերականգնումը: CWM-ն գործարկելու համար դուք պետք է իմանաք ձեր գաջեթի համար հարմար բանալիների համակցությունը: Շատ դեպքերում սա ձայնի իջեցման և միացման կոճակների համակցություն է, որոնք պետք է սեղմվեն սարքի բեռնման ժամանակ:

Միջուկը բռնկելու համար ներբեռնեք արխիվը zip ընդլայնմամբ: Այն պետք է պարունակի META-INF թղթապանակը: Հաջորդը, կան երկու տարբերակ. Առաջին դեպքում դուք պետք է նշեք որոնվածի ֆայլը: Երկրորդ տարբերակը ներառում է որոնվածի ֆայլը / sdcard թղթապանակում տեղադրելը: Դրանից հետո դուք պետք է ակտիվացնեք ClockworkMod Recovery-ը, այնտեղ գտնեք Apply update from sdcard ֆունկցիան և նշեք անհրաժեշտ ֆայլը։

Հարկ է նշել, որ ClockworkMod Recovery ընտրացանկը հարմար և հասկանալի է օգտատերերի մեծ մասի համար: Բացի որոնվածի վերականգնման նման համակարգից, կարող եք օգտագործել TWRP Recovery-ը: Այս գործիքը հարմար է և հայտնի է Android-ի օգտատերերի շրջանում: Հիմնական բանը որոնվածի ճիշտ ֆայլն ընտրելն է:

Android-ի միջուկը թարթելը ընթացակարգ է, որին խորհուրդ չենք տալիս դիմել, եթե լիովին գոհ եք գաջեթի աշխատանքից: Նման գործողությունները պայմանավորված են բջջային հեռախոսի կամ պլանշետի աշխատանքը բարելավելու ցանկությամբ: Ընդլայնված օգտվողները հնարավորություն են ստանում պարամետրեր սահմանել ավելի ցածր մակարդակում: Բայց առանց որոշակի գիտելիքների և օբյեկտիվ պատճառների, ավելի լավ է չփոխել բջջային սարքի ծրագրային մասը, քանի որ դա կապված է դրա շահագործման ռիսկերի և անսարքությունների հետ:

Մենք արդեն մեկից ավելի անգամ գրել ենք մաքսային որոնվածի, արմատային հավելվածների և այլընտրանքային բեռնման ընտրացանկերի մասին: Սրանք բոլորը ստանդարտ թեմաներ են Android հաքերային համայնքում, սակայն, ի լրումն վերը նշված բոլորի, կա նաև այնպիսի բան, ինչպիսին է «մաքսային միջուկը», որը կարող է գրեթե անսահմանափակ հնարավորություններ տալ սմարթֆոնը և դրա սարքավորումը նվազագույն չափով կառավարելու համար: մակարդակ. Այս հոդվածում ես ձեզ կասեմ, թե ինչ է դա, ինչու է դա ձեզ անհրաժեշտ և ինչպես ընտրել ճիշտ մաքսային միջուկը:

մաքսային միջուկ?

Ի՞նչ է սովորական միջուկը: Ինչպես մենք բոլորս գիտենք, Android-ը կարկանդակ է, որը բաղկացած է երեք հիմնական շերտերից՝ Linux միջուկ, ցածր մակարդակի գրադարանների և ծառայությունների մի շարք և վիրտուալ մեքենա Dalvik-ը, որի վերևում աշխատում են գրաֆիկական կեղևը, բարձր մակարդակի գործիքներն ու ծառայությունները, ինչպես նաև շուկայից տեղադրված գրեթե բոլոր հավելվածները։ Այլընտրանքային հարմարեցված որոնվածների մեծամասնության ստեղծողները սովորաբար աշխատում են միայն վերին երկու շերտերի հետ՝ ավելացնելով գրաֆիկական պատյան (օրինակ՝ վարագույրի կոճակները), փոխելով այն (թեմայի շարժիչը CyanogenMod-ում), ինչպես նաև ավելացնելով նոր համակարգի ծառայություններ (հավասարիչ): CyanogenMod-ում) և գործողների օպտիմալացում:

Հանրաճանաչ որոնվածի հեղինակները նաև հնարավորինս փոփոխություններ են կատարում Linux-ի միջուկում. նրանք օպտիմիզացնում են (կառուցում են ավելի ագրեսիվ կոմպիլյատորների օպտիմալացման դրոշներով), ներառում են նոր գործառույթներ (օրինակ՝ Windows-ի համօգտագործման աջակցություն), ինչպես նաև կատարում են այլ փոփոխություններ, օրինակ՝ պրոցեսորի հաճախականությունը արտադրողի հաճախականությունը բարձրացնելու ունակություն: Հաճախ այս ամենը մնում է կուլիսներում, և մաքսային որոնվածի շատ օգտատերեր նույնիսկ տեղյակ չեն այս հատկանիշների մասին, հատկապես, որ նույն CyanogenMod-ը հատուկ միջուկով է գալիս միայն սարքերի սահմանափակ շրջանակի համար, որոնց համար երկուսն էլ բնօրինակ միջուկի կոդն են: և առկա է այն փոխարինելու հնարավորություն։ Օրինակ, Motorola սմարթֆոնների համար CyanogenMod-ի գրեթե բոլոր որոնվածը օգտագործում է ստանդարտ միջուկ. անհնար է այն փոխարինել ձեր միջուկով՝ բեռնիչի անթափանց պաշտպանության պատճառով:

Այնուամենայնիվ, բացված բեռնիչով սմարթֆոնների միջուկը կարող է փոխարինվել հիմնական որոնվածից առանձին: Եվ ոչ միայն փոխարինեք, այլ տեղադրեք միջուկը հսկայական թվով տարբեր գործառույթներով, որոնք կառավարելու համար պահանջում են որոշակի տեխնիկական գիտելիքներ, և, հետևաբար, սովորաբար ներկառուցված չեն հանրաճանաչ որոնվածի միջուկներում, ինչպիսիք են CyanogenMod, AOKP և MIUI: Այս հատկանիշներից կարող եք գտնել պրոցեսորի բարձր հաճախականությունների աջակցություն, էկրանի գամմա կառավարում, էներգախնայողության ռեժիմներ, բարձր արդյունավետ էներգիայի կառավարիչներ և մի շարք այլ գործառույթներ:

Այս հոդվածում մենք կխոսենք այն մասին, թե ինչ կարող են մեզ առաջարկել մաքսային միջուկներ ստեղծողները, հաշվի առնել հիմնական մաքսային միջուկները: տարբեր սարքեր, ինչպես նաև փորձենք տեղադրել միջուկը՝ անկախ հիմնական որոնվածից և ամեն ինչ ստուգել մեր մաշկի վրա։ Այսպիսով, ի՞նչ են սովորաբար առաջարկում այլընտրանքային միջուկների մշակողները:

խելացի երթեւեկության վերահսկիչ

OMAP35XX SoC-ները, որոնք օգտագործվում են, օրինակ, Galaxy S II-ում և Galaxy Nexus-ում, ունեն SmartReflex ֆունկցիա, որը գործում է որպես խելացի համակարգլարման կարգավորում, երբ պրոցեսորի բեռը փոխվում է: Փաստորեն, դա վերացնում է օգտագործողի կողմից լարման նուրբ թյունինգի անհրաժեշտությունը:


Օպտիմալացումներ

Հաճախ հատուկ միջուկ կառուցելու հիմնական նպատակը կատարողականի օպտիմալացումն է: Սովորաբար, բջջային տեխնոլոգիաների մատակարարը փորձում է հավասարակշռություն պահպանել կատարողականի և կայունության միջև, այնպես որ նույնիսկ լավ օպտիմալացման տեխնիկան, որը կարող է զգալիորեն մեծացնել սարքի արագությունը, արտադրողը կարող է մերժել միայն այն հիմքով, որ դրանց կիրառումից հետո որոշ հավելվածներ սկսեցին խափանվել: յուրաքանչյուր տասներորդ մեկնարկը: Իհարկե, նման մանրուքները չեն անհանգստացնում էնտուզիաստներին, և նրանցից շատերը պատրաստ են կիրառել ցանկացած կոմպիլյատորի տարբերակ, էներգախնայող ալգորիթմներ իրենց իսկ հավաքման հիմքում և բարձրացնել պրոցեսորի հաճախականությունը այնքան բարձր, որքան սարքը կարող է դիմակայել: Օպտիմալացման բոլոր մեթոդների շարքում չորսը ամենատարածվածն են.



Օպտիմիզացիայի մեկ այլ տեսակ՝ լռելյայն I/O ժամանակացույցի փոփոխություն: Իրավիճակն այս ոլորտում ավելի հետաքրքիր է, քանի որ փոխանակ հասկանալու, թե ինչպես են աշխատում ժամանակացույցները, որոշ միջուկ ստեղծողներ պարզապես կարդում են փաստաթղթերը Linux I/O ժամանակացույցների վրա համացանցում և եզրակացություններ անում: Օգտատերերի շրջանում այս մոտեցումն էլ ավելի տարածված է։ Իրականում, Linux-ի գրեթե բոլոր ամենահզոր և խելացի ժամանակացույցերը լիովին անպիտան են Android-ի համար. դրանք նախատեսված են մեխանիկական տվյալների պահեստների հետ օգտագործելու համար, որոնցում տվյալների հասանելիության արագությունը տատանվում է կախված գլխի դիրքից: Ժամանակացույցն օգտագործում է տարբեր սխեմաներխմբավորելով հարցումները՝ հիմնված տվյալների ֆիզիկական դիրքի վրա, ուստի այն տվյալների համար հարցումները, որոնք մոտ են ընթացիկ գլխի դիրքին, ավելի բարձր առաջնահերթություն կստանան: Սա միանգամայն անտրամաբանական է պինդ վիճակի հիշողության դեպքում, որը երաշխավորում է բոլոր բջիջների մուտքի նույն արագությունը: Ընդլայնված պլանավորողները սմարթֆոնի վրա ավելի շատ վնաս կտան, քան օգուտ, իսկ ամենաանշնորհքներն ու պարզունակները ցույց կտան լավագույն արդյունքները: Linux-ն ունի երեք այդպիսի ժամանակացույց.

  • Noop (ոչ մի գործողություն)- այսպես կոչված ոչ ժամանակացույցը: Պարզ FIFO հարցումների հերթ, առաջին հարցումը կմշակվի առաջինը, երկրորդը երկրորդը և այլն: Լավ հարմարեցված է պինդ վիճակի հիշողության համար և թույլ է տալիս բավականին առաջնահերթություն տալ հավելվածներին՝ սկավառակ մուտք գործելու համար: Լրացուցիչ գումարած. ցածր բեռնվածություն պրոցեսորի պատճառով շատ պարզ սկզբունքաշխատանք։ Մինուս. սարքի առանձնահատկությունները հաշվի չառնելը, ինչը կարող է առաջացնել աշխատանքի ձախողումներ:
  • SIO (պարզ I/O)- Deadline ժամանակացույցի անալոգը, առանց հաշվի առնելու սեկտորների միմյանց մոտիկությունը, այսինքն՝ նախատեսված է հատուկ պինդ վիճակի հիշողության համար: Երկու հիմնական շեշտադրումներ՝ կարդալու գործողությունների առաջնահերթությունը գրելու գործառնությունների նկատմամբ և գործողությունների խմբավորումն ըստ գործընթացների՝ յուրաքանչյուր գործընթացի համար գործողությունների կատարման համար ժամանակի բաշխումով: Սմարթֆոններում, որտեղ կարևոր է ընթացիկ հավելվածի արագությունը և ընթերցումների գերակշռությունը գրելու նկատմամբ, այն ցույց է տալիս շատ լավ կատարում։ Հասանելի է Leankernel-ում, Matr1x միջուկում՝ Nexus 4-ի և SiyahKernel-ի համար:
  • ՇԱՐՔ (ԿԱՐԴԱՑԵԼ և ԳՐԵԼՈՎ)ժամանակացույց է, որը հատուկ նախագծված է շարժական սարքերի համար և ավելացվել է հիմքում ընդամենը մի քանի ամիս առաջ: Հիմնական մարտահրավերը՝ կարդալու հարցումների առաջնահերթ մշակում, բայց գրելու հարցումների ժամանակի արդար բաշխում: Համարվում է ներկայումս հասանելի լավագույն NAND ժամանակացույցը, որը լռելյայն է Leankernel-ում և Matr1x-ում:

Արժե ասել, որ գրեթե բոլոր ստանդարտ որոնվածը և սովորականների կեսը դեռ օգտագործում են միջուկը ստանդարտ Linux CFQ ժամանակացույցով, ինչը, այնուամենայնիվ, այնքան էլ վատ չէ, քանի որ այն կարող է ճիշտ աշխատել պինդ վիճակի կրիչներով: Մյուս կողմից, այն չափազանց բարդ է, ավելի մեծ ծանրաբեռնվածություն է ստեղծում պրոցեսորի (և հետևաբար՝ մարտկոցի) վրա և հաշվի չի առնում շարժական ՕՀ-ի առանձնահատկությունները: Մեկ այլ հանրաճանաչ ընտրություն է Deadline ժամանակացույցը, որը նույնքան լավն է, որքան SIO-ն, բայց չափազանց մեծ է: Դուք կարող եք դիտել հասանելի ժամանակացույցների ցանկը հետևյալ հրամանով.

# կատու /sys/block/*/հերթ/ժամանակացույց

Փոխելու համար կիրառեք սա (որտեղ տողը ժամանակացույցի անունն է).

# i-ի համար /sys/block/*/queue/scheduler-ում; անել echo տող > $1; կատարած

Որոշ միջուկ կառուցողներ օգտագործում են նաև մեկ այլ տեսակի I/O-ի հետ կապված օպտիմալացում: Սա fsync համակարգի զանգի անջատումն է, որն օգտագործվում է փոփոխված բովանդակությունը լցնելու համար: բաց ֆայլերսկավառակի վրա: Կարծիք կա, որ առանց fsync-ի համակարգը ավելի քիչ հաճախակի կմտնի սկավառակ և այդպիսով խնայում է պրոցեսորի ժամանակը և մարտկոցի էներգիան: Բավականին հակասական հայտարարություն. fsync-ը շատ հաճախ չի օգտագործվում հավելվածներում և միայն իսկապես կարևոր տեղեկություններ պահելու համար, սակայն դրա անջատումը կարող է հանգեցնել նույն տեղեկատվության կորստի օպերացիոն համակարգի խափանման կամ այլ խնդիրների դեպքում: Fsync-ն անջատելու հնարավորությունը հասանելի է franco.Kernel և GLaDOS միջուկներում և վերահսկվում է /sys/module/sync/parameters/fsync_enabled ֆայլի միջոցով, որը պետք է գրվի 0՝ անջատելու համար կամ 1՝ ակտիվացնելու համար: Կրկին, այս հատկությունը խորհուրդ չի տրվում:

Միջուկին նոր հնարավորություններ ավելացնելով

Իհարկե, բացի օպտիմիզացումներից, ճշգրտումներից և տարբեր առաջադեմ ապարատային կառավարման համակարգերից, մաքսային միջուկները պարունակում են նաև բոլորովին նոր գործառույթներ, որոնք հասանելի չեն ստանդարտ միջուկներում, բայց որոնք կարող են օգտակար լինել օգտատերերի համար:

Հիմնականում դրանք տարբեր դրայվերներ և ֆայլային համակարգեր են: Օրինակ, որոշ միջուկներ ներառում են CIFS մոդուլի աջակցություն, որը թույլ է տալիս տեղադրել Windows-ի բաժնետոմսերը: Նման մոդուլը գտնվում է Nexus S-ի համար Matr1x միջուկում, Nexus 7-ի, SiyahKernel-ի և GLaDOS-ի համար՝ faux123: Ինքնին դա անօգուտ է, բայց շուկայում կան մի քանի հավելվածներ, որոնք թույլ են տալիս օգտագործել դրա հնարավորությունները։

Մեկ այլ օգտակար բան ntfs-3g դրայվերի ներառումն է միջուկում (ավելի ճիշտ՝ միջուկով փաթեթում, դրայվերն ինքը աշխատում է որպես Linux հավելված), որն անհրաժեշտ է NTFS ֆայլային համակարգում ֆորմատավորված ֆլեշ կրիչներ տեղադրելու համար։ Այս դրայվերը հասանելի է faux123 և SiyahKernel միջուկներում: Սովորաբար այն ավտոմատ կերպով ակտիվանում է, բայց եթե դա տեղի չունենա, կարող եք օգտագործել StickMount հավելվածը շուկայից։

Շատ միջուկներ ներառում են նաև այսպես կոչված zram տեխնոլոգիայի աջակցություն, որը թույլ է տալիս փոքր քանակությամբ RAM (սովորաբար 10%) պահել և օգտագործել այն որպես սեղմված փոխանակման տարածք: Արդյունքում տեղի է ունենում հիշողության ծավալի մի տեսակ ընդլայնում՝ առանց կատարման համար լուրջ հետեւանքների։ Հասանելի է Leankernel-ում, միացված է Trickster MOD կամ zram enable հրամանով:

Վերջին երկու հետաքրքիր գործառույթներն են՝ Արագ USB լիցքավորումը և Sweep2wake-ը: Առաջինը ոչ այլ ինչ է, քան ստիպել ներառել «արագ լիցքավորման» ռեժիմը, նույնիսկ եթե սմարթֆոնը միացված է համակարգչի USB պորտին։ Արագ լիցքավորման ռեժիմը հասանելի է բոլոր քիչ թե շատ նոր սմարթֆոններում, սակայն տեխնիկական սահմանափակումների պատճառով այն չի կարող միանալ հիշողության քարտին միևնույն ժամանակ: Արագ USB լիցքավորման գործառույթը թույլ է տալիս միշտ միացնել այս ռեժիմը՝ միաժամանակ անջատելով մուտքը դեպի սկավառակ:

Sweep2wake-ն է նոր ճանապարհ Wake up սարքը, որը հորինել է Breaked-kernel-ի հեղինակը: Դրա իմաստը սմարթֆոնը միացնելն է՝ սահեցնելով նավիգացիոն ստեղները, որոնք գտնվում են էկրանի տակ կամ հենց էկրանի վրայով: Սա իսկապես հարմար հատկություն է, սակայն այն միացնելը կպահի սենսորն ակտիվ, նույնիսկ երբ սարքը քնած է, ինչը կարող է նկատելիորեն սպառել մարտկոցը:

Overclocking, լարման և էներգիայի խնայողություն

Overclocking-ը տարածված է ոչ միայն ստացիոնար համակարգիչների և նոթբուքերի սեփականատերերի, այլև բջջային տեխնոլոգիաների սիրահարների շրջանում: Ինչպես x86 ճարտարապետության քարերը, շարժական տեխնոլոգիայի պրոցեսորներն ու գրաֆիկական միջուկները հիանալի են աշխատում: Այնուամենայնիվ, օվերկլոկինգի մեթոդն ինքնին և դրա իրականացման համար ձեռնարկված քայլերն այստեղ որոշակիորեն տարբերվում են: Փաստն այն է, որ SoC-ների ստանդարտ դրայվերները, որոնք պատասխանատու են էներգիայի խնայողության և պրոցեսորի հաճախականությունը փոխելու համար, սովորաբար արգելափակված են ստանդարտ հաճախականություններով, ուստի լավ թյունինգի համար պետք է տեղադրել կամ այլընտրանքային դրայվեր կամ հատուկ միջուկ:

Գրեթե բոլոր քիչ թե շատ բարձրորակ և հանրաճանաչ մաքսային միջուկներն արդեն ներառում են ապակողպված դրայվերներ, ուստի դրանք տեղադրելուց հետո պրոցեսորի «հզորությունը» կառավարելու հնարավորությունը մեծապես ընդլայնվում է։ Սովորաբար, հատուկ միջուկի ստեղծողները երկու բան են անում, որոնք ազդում են հաճախականության ընտրության վրա: Սա հաճախականության տիրույթի ընդլայնումն է սկզբում սահմանվածներից դուրս. դուք կարող եք սահմանել և՛ պրոցեսորի ավելի բարձր հաճախականություն, և՛ շատ ցածր, ինչը թույլ է տալիս խնայել մարտկոցը և ավելացնել հաճախականության աստիճանավորումը, օրինակ՝ երեք հնարավոր հաճախականությունների փոխարեն, Ձեզ առաջարկվում է ընտրություն վեցից: Երկրորդը պրոցեսորի լարումը կարգավորելու հնարավորության ավելացումն է, որի շնորհիվ դուք կարող եք նվազեցնել պրոցեսորի լարումը ցածր հաճախականություններում՝ մարտկոցի էներգիան խնայելու համար և բարձրացնել այն բարձր հաճախականություններում՝ կայունությունը բարձրացնելու համար:

Այս ամենը կարելի է կառավարել՝ օգտագործելով հայտնի վճարովի կոմունալ SetCPU կամ անվճար Trickster MOD-ը: Կառավարման առաջարկությունները նույնն են, ինչ աշխատասեղանի համակարգերի համար: Ավելի լավ է պրոցեսորի ցածր հաճախականությունը սահմանել նվազագույնի, բայց ոչ ցածր, քան 200 ՄՀց (ուշացումներից խուսափելու համար), վերին շեմը աստիճանաբար ավելանում է կայունության փորձարկումով, երբ այն իջնում ​​է, խորհուրդ է տրվում մի փոքր բարձրացնել լարումը տվյալ տվյալի համար։ հաճախականությունը. Լարման առաջարկություններ չկան, քանի որ յուրաքանչյուր պրոցեսոր եզակի է, և բոլորի համար արժեքները տարբեր կլինեն:

Ի հավելումն հաճախականությունների փոփոխմանը, հավաքողները հաճախ միջուկին ավելացնում են էներգախնայողության կառավարման նոր ալգորիթմներ (ավտոմատ պրոցեսորի հաճախականության կառավարում), որոնք, նրանց կարծիքով, կարող են ավելի լավ արդյունքներ ցույց տալ, քան ստանդարտները: Գրեթե բոլորը հիմնված են Android-ի նոր տարբերակներում լռելյայնորեն օգտագործվող Ինտերակտիվ ալգորիթմի վրա, որի էությունն այն է, որ բեռի ավելացման դեպքում պրոցեսորի հաճախականությունը կտրուկ բարձրացվի առավելագույնի, այնուհետև աստիճանաբար նվազեցնել այն նվազագույնի: . Այն փոխարինեց նախկինում օգտագործված OnDemand ալգորիթմը, որը սահուն կերպով ճշգրտում էր հաճախականությունը երկու ուղղություններով՝ բեռին համամասնորեն և թույլ է տալիս համակարգը դարձնել ավելի պատասխանատու։ Այլընտրանքային միջուկ կառուցողները առաջարկում են հետևյալ ալգորիթմները՝ Ինտերակտիվը փոխարինելու համար.

  • SmartAssV2- Ինտերակտիվ ալգորիթմի վերաիմաստավորում՝ կենտրոնանալով մարտկոցի խնայողության վրա: Հիմնական տարբերությունը բեռնվածության կարճ պոռթկումների դեպքում պրոցեսորը բարձր հաճախականությունների չքաշելն է, ինչի համար պրոցեսորի ցածր կատարողականությունը բավական է։ Նախնականը օգտագործվում է Matr1x միջուկում:
  • InteractiveX- կարգավորված Ինտերակտիվ ալգորիթմ, որի հիմնական առանձնահատկությունը պրոցեսորի կողպումն է օգտագործողի կողմից սահմանված նվազագույն հաճախականությամբ և երկրորդ պրոցեսորի միջուկի անջատումը էկրանի անջատման ժամանակ: Լռելյայն օգտագործվում է Leankernel-ում:
  • LulzactiveV2- ըստ էության վերահայտնագործված OnDemand: Երբ պրոցեսորի ծանրաբեռնվածությունը գերազանցում է նշվածը (լռելյայն 60%), ալգորիթմը բարձրացնում է հաճախականությունը որոշակի թվով բաժիններով (կանխադրված 1) և իջեցնում է այն, երբ բեռը նվազում է: Առանձնահատուկ հետաքրքրություն է այն, որ այն թույլ է տալիս ինքնուրույն սահմանել աշխատանքի պարամետրերը, հետևաբար այն հարմար է կարծրացած գիքերի համար:

Ընդհանրապես, միջուկ կառուցողները շատ են սիրում նոր էներգախնայող ալգորիթմներ ստեղծել՝ դրանց իրականացման պարզության պատճառով, այնպես որ կարող եք գտնել մոտ մեկ տասնյակ այլ ալգորիթմներ: Դրանցից շատերը լրիվ խարամ են, և ժամանակացույց ընտրելիս պետք է առաջնորդվել կանոնով՝ կա՛մ վերը նկարագրված երեքից մեկը, կա՛մ ստանդարտ Ինտերակտիվը, որն, ի դեպ, շատ լավն է։ Դուք կարող եք ընտրություն կատարել՝ օգտագործելով նույն Trickster MOD-ը:

Կառավարման միջերեսներ

Հանրաճանաչ մաքսային միջուկներից շատերը ներառում են վարորդների տարբեր պարամետրերի մանրահատիկ հսկողության մի քանի մեխանիզմներ, որոնցից ամենատարածվածներն են ColorControl, GammaControl, SoundControl և TempControl:

Առաջին երկու ինտերֆեյսները հասանելի են գրեթե ամենուր, ներառյալ CyanogenMod միջուկները, երկրորդ երկուսը` Leankernel-ում և միգուցե մյուսներում: Այսպես թե այնպես, դրանք բոլորը կարելի է կառավարել Trickster MOD-ի միջոցով:

Միջուկներ

Ինչ միջուկ ընտրել: Այս հարցին մեկ պատասխան չկա, և ոչ այն պատճառով, որ «յուրաքանչյուրն իր սեփականը», այլ այն պատճառով, որ աշխարհում կան հսկայական թվով Android սարքեր և գրեթե նույնքան տարբեր միջուկներ: Այնուամենայնիվ, կան մի քանի հայտնի միջուկներ, որոնք մշակվում են միանգամից մի քանի սարքերի համար: Այսպես թե այնպես, ես պատմվածքի ընթացքում նշեցի դրանցից շատերը, բայց այստեղ կտամ դրանց համառոտ նկարագրությունը։

  • Leankernel-ը Galaxy Nexus-ի, Nexus 7-ի և Galaxy S III-ի միջուկն է: Մշակման մեջ հիմնական շեշտը դրված է աշխատանքի պարզության և արագության վրա: Էլեկտրաէներգիայի խնայողության ալգորիթմ՝ InteractiveX V2, I/O ժամանակացույց՝ ROW, բոլոր վերը նշված կառավարման միջերեսները, USB արագ լիցքավորման աջակցություն, փոխանակում և zram, պրոցեսորի և պրոցեսորի ճկուն օվերկլոկավորում: Մեկը լավագույն միջուկները. Կարգավորելի Trickster MOD-ի հետ:
  • Matr1x (http://goo.gl/FQLBI , goo.gl/ZcyvA) - միջուկ Nexus S-ի և Nexus 4-ի համար: Պարզ և չխճճված միջուկ: Աջակցություն CPU-ի և GPU-ի գերժամկետման, GammaControl-ի, արագ USB լիցքավորման, Sweep2wake, I/O ժամանակացույցների՝ SIO, ROW և FIOPS: Կատարման ճշգրտումներ. Կարգավորելի Trickster MOD-ի հետ:
  • Bricked-Kernel-ը (http://goo.gl/kd5F4 , goo.gl/eZkAV) պարզ և անխռով միջուկ է Nexus 4-ի և HTC One X. Օպտիմալացումներ Snapdragon S4-ի և NVIDIA Tegra 3-ի համար, վերափոխված էներգախնայողության ռեժիմ Tegra 3-ի համար, օվերկլոկինգի հնարավորություն, էներգախնայողության ալգորիթմ. կարգավորված OnDemand (Ինտերակտիվը նույնպես հասանելի է):
  • SiyahKernel-ը Galaxy S II-ի և S III-ի միջուկն է: Օվերքլոկի ճկուն տարբերակներ, մարտկոցի ավտոմատ չափաբերում, սենսորային էկրանի բարելավված վարորդ, էներգախնայողության ալգորիթմներ՝ smartassV2 և lulzactiveV2, I/O ժամանակացույցներ՝ noop, վերջնաժամկետ, CFQ, BFQV3r2 (լռելյայն), V(R), SIO: CIFS և NTFS դրայվերներ (ավտոմոնտաժով): Կարգավորելի ExTweaks-ի հետ:
  • franco.Kernel - միջուկ Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, Galaxy Note, Optimus One և One X-ի համար:

Միջուկի հնարավորությունները մեծապես տարբերվում են սարքից սարք, ուստի մանրամասները պետք է տեղում դիտարկվեն: Այնուամենայնիվ, այս միջուկը թարթելով՝ դուք կստանաք օվերկլոկավորման, վարորդի թյունինգի, գերազանց կատարողականության, ինչպես նաև էներգախնայողության տարբեր ալգորիթմների և ժամանակացույցների աջակցություն: Փաստորեն, միջուկը ներառում է հոդվածում նկարագրված գրեթե բոլոր փոփոխությունները: Համարվում է առկա լավագույն միջուկներից մեկը: Դիմում կա ավտոմատ թարմացում franko.kernel թարմացնող: Դուք կարող եք կարգավորել Trickster MOD-ի միջոցով:

Ինչպե՞ս տեղադրել:

Բոլոր միջուկները բաշխված են ստանդարտ Android ZIP արխիվներում, որոնք պետք է հայտնվեն վերականգնման վահանակի միջոցով նույն կերպ, ինչպես այլընտրանքային որոնվածը. Սովորաբար միջուկները համատեղելի են ցանկացած որոնվածի հետ, հետևաբար, ընտրելով ճիշտ միջուկը, կարող եք ապահով տեղադրել այն: Միակ բանը, որին պետք է ուշադրություն դարձնեք, Android-ի այն տարբերակն է, որի հետ համատեղելի է միջուկը։ Այն կարող է երկուսն էլ մոտենալ բոլոր հասանելի սարքերին Android տարբերակները, և աշխատեք միայն մեկի հետ (մշակողը սովորաբար բացահայտ ասում է դա): Ջրամեկուսացումից առաջ համոզվեք, որ կրկնօրինակեք ընթացիկ որոնվածը, օգտագործելով նույն վերականգնման վահանակը: Եթե ​​ինչ-որ բան սխալ է, դուք միշտ կարող եք հետ գլորվել:

եզրակացություններ

Ինչպես տեսնում եք, սովորական միջուկները շատ առավելություններ ունեն ստանդարտ կամ երրորդ կողմի որոնվածում օգտագործվող միջուկների համեմատ: Եվ ավելի կարևոր է, որ դրանք օգտագործելու համար ձեզ հարկավոր չէ իմանալ Android-ի բոլոր բարդությունները, պարզապես ներբեռնեք և տեղադրեք ZIP արխիվը:

AT վերջին ժամանակներըմիջուկների նոր տարբերակները բավականին հաճախ են հայտնվում: Մի քանի ամիսը մեկ կա կայուն թողարկում: Դե, անկայուն ազատ արձակման թեկնածուները նույնիսկ ավելի հաճախ են դուրս գալիս: Լինուս Տորվալդսը և աշխարհի շատ ծրագրավորողներ անընդհատ աշխատում են նոր միջուկները բարելավելու և դրանց ավելի ու ավելի ֆունկցիոնալություն ավելացնելու ուղղությամբ:

Յուրաքանչյուր նոր տարբերակի հետ Linux միջուկն ավելացնում է աջակցություն մի քանի նոր սարքերի համար, ինչպիսիք են նոր պրոցեսորները, գրաֆիկական քարտերը կամ նույնիսկ սենսորային էկրանները: Վերջերս նոր սարքավորումների աջակցությունը շատ է բարելավվել: Բացի այդ, միջուկում ներառված են նոր ֆայլային համակարգեր, բարելավվել է ցանցի ստեկը, շտկվել են սխալներն ու սխալները։

Եթե ​​Ձեզ անհրաժեշտ է լրացուցիչ տեղեկություններ միջուկի որոշակի տարբերակի փոփոխությունների մասին, տես դրա Changelog-ը kernel.org կայքում, և այս հոդվածում մենք կքննարկենք Linux միջուկի վերջին տարբերակի թարմացումը: Ես կփորձեմ հրահանգը չկապել կոնկրետ միջուկի տարբերակի հետ, նոր միջուկներ թողարկվում են բավականին հաճախ, և դա տեղին կլինի դրանցից յուրաքանչյուրի համար։

Մտածեք Ubuntu-ի և CentOS միջուկի թարմացման մասին: Նախ, եկեք տեսնենք, թե ինչպես թարմացնել միջուկը Ubuntu 16.04-ում:

Եկեք նախ տեսնենք, թե ինչ միջուկ եք տեղադրել: Դա անելու համար բացեք տերմինալ և գործարկեք.

Օրինակ, ես ներկայումս օգտագործում եմ 4.3 տարբերակը և կարող եմ թարմացնել նորագույն տարբերակը: Ubuntu-ի մշակողները արդեն հոգացել են, որ իրենց օգտատերերը ձեռքով չկառուցեն միջուկը և չստեղծեն միջուկի նոր տարբերակի դեբ փաթեթներ: Դրանք կարելի է ներբեռնել Canonical-ի պաշտոնական կայքից:

Ես կարող էի wget հրամանները տալ այստեղ ներբեռնելու համար, եթե միջուկի տարբերակը հայտնի լիներ, բայց մեր դեպքում ավելի լավ կլիներ օգտագործել բրաուզեր։ Գնացեք http://kernel.ubuntu.com/~kernel-ppa/mainline/: Ubuntu միջուկի թիմի կողմից կազմված ամեն ինչ այստեղ է: Միջուկները կառուցված են ինչպես հատուկ բաշխումների համար՝ բաշխման ծածկանունով, այնպես էլ ընդհանուր: Ավելին, Ubuntu 16.10-ի միջուկները, ամենայն հավանականությամբ, կաշխատեն 16.04-ում, բայց Ubuntu 16.04-ի 9.04-ից դուք չպետք է տեղադրեք միջուկը:

Ոլորեք դեպի ներքև, այստեղ են գտնվում միջուկների նոր տարբերակները.

Բացի այդ, հենց վերևում կա ամենօրյա/ընթացիկ թղթապանակ, որը պարունակում է ամենավերջին, գիշերային միջուկի բլոկները: Ընտրեք միջուկի ցանկալի տարբերակը և ներբեռնեք երկու ֆայլ՝ linux-headers և linux-image ձեր ճարտարապետության համար.

Ներբեռնումն ավարտվելուց հետո կարող եք շարունակել տեղադրումը: Դա անելու համար տերմինալում գործարկեք հետևյալը.

Նավարկեք դեպի տեղադրման փաթեթներով թղթապանակ, օրինակ՝ ~/Downloads:

Գործարկել տեղադրումը.

Եթե ​​այս հրամանը չաշխատեց, կարող եք գնալ այլ ճանապարհով: Տեղադրեք gdebi կոմունալը.

sudo apt-get տեղադրել gdebi

Այնուհետև օգտագործեք այն միջուկը տեղադրելու համար.

sudo gdebi linux-headers*.deb linux-image-*.deb

Միջուկը տեղադրված է, մնում է թարմացնել bootloader-ը.

sudo update-grub

Այժմ դուք կարող եք վերագործարկել ձեր համակարգիչը և տեսնել, թե ինչ է տեղի ունեցել: Վերագործարկումից հետո համոզվեք, որ Linux միջուկի թարմացումը նորագույն տարբերակին հաջող էր.

Ինչպես տեսնում եք, միջուկը հաջողությամբ տեղադրվել և աշխատում է: Բայց մի շտապեք հեռացնել հին տարբերակ kernel, խորհուրդ է տրվում համակարգում ունենալ միջուկի մի քանի տարբերակ, որպեսզի խնդիրների դեպքում կարողանաք բեռնել հին աշխատանքային տարբերակից։

Linux միջուկի ավտոմատ թարմացում Ubuntu-ում

Վերևում մենք նայեցինք, թե ինչպես կարելի է ձեռքով տեղադրել միջուկի ցանկալի տարբերակը: Ubuntu-ն ուներ PPA ամենօրյա միջուկի կառուցման համար, բայց այժմ այն ​​փակ է: Հետևաբար, միջուկը կարող եք թարմացնել միայն deb փաթեթը ներբեռնելով և տեղադրելով այն։ Բայց այս ամենը կարելի է պարզեցնել հատուկ սցենարով։

Սցենարի տեղադրում.

cd / tmp
$ git clone git://github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater
$ bash Ubuntu-Mainline-Kernel-Updater/տեղադրել

Թարմացումների ստուգում.

KernelUpdateChecker -r yakkety

-r տարբերակը թույլ է տալիս նշել բաշխման ճյուղը, որի համար պետք է փնտրել միջուկներ: Xenial-ի համար միջուկներն այլևս չեն կառուցվում, բայց հաջորդ տարբերակի միջուկներն այստեղ լավ կաշխատեն: Բացի այդ, -no-rc տարբերակը կարող է հուշել կոմունալին, որ չօգտագործի թողարկման թեկնածուներ, իսկ -v տարբերակը նշում է միջուկի ճշգրիտ տարբերակը, որը պետք է տեղադրվի: Եթե ​​ձեզ չի հետաքրքրում, թե որ բաշխման համար է նախատեսված միջուկը, քանի դեռ այն վերջինն է, օգտագործեք --any-release տարբերակը: Սցենարը կտա հետևյալ արդյունքը.

Նախքան միջուկը տեղադրելը, դուք կարող եք տեսնել մանրամասները՝ բացելով /tmp/kernel-update ֆայլը.

Այստեղ մենք կարող ենք տեսնել, որ yakkety-ի որոնումը կատարվել է, և միջուկի 4.7-rc6 տարբերակը ներկայումս հասանելի է: Մենք կարող ենք տեղադրել.

sudo /tmp/kernel-update

Սցենարը մեզ ցույց կտա ընթացիկ միջուկի տարբերակը, ինչպես նաև միջուկի տարբերակը, որը կտեղադրվի, դրա ստեղծման ամսաթիվը և այլ մանրամասներ: Ձեզ նույնպես կհարցնեն, թե արդյոք Ձեզ անհրաժեշտ է փոփոխությունների գրանցամատյան պահել: Հաջորդը գալիս է տեղադրումը.

Հին միջուկները, ամեն դեպքում, մի ջնջեք (n):

Ավարտված է, միջուկի թարմացումն ավարտված է նորագույն տարբերակով, այժմ վերագործարկեք ձեր համակարգիչը (y):

Ստուգում, թե արդյոք Ubuntu միջուկի թարմացումը իրականում աշխատել է.

Ավելին, սկրիպտը ավելացվել է autoload-ին և այժմ ավտոմատ կերպով կստուգի թարմացումների առկայությունը մուտքից 60 վայրկյան հետո: Ավտոբեռնման դյուրանցումը ֆայլում է՝

vi ~/.config/autostart/KernelUpdate.desktop

Դուք կարող եք փոխել այն, ինչպես ցանկանում եք կամ ջնջել այն: Եթե ​​ցանկանում եք սկրիպտն ամբողջությամբ հեռացնել համակարգից, գործարկեք՝

rm ~/.config/autostart/KernelUpdate.desktop
$ sudo rm /usr/local/bin/KernelUpdate(Checker,ScriptGenerator)

Չի ներբեռնվում

Եթե ​​տեղադրման ընթացքում որևէ սխալ է տեղի ունեցել կամ միջուկը սխալ է թարմացվել, և այժմ համակարգը չի բեռնվում նոր միջուկով, կարող եք օգտագործել հին միջուկը: Նաև համակարգը կարող է չգործարկվել, եթե դուք օգտագործում եք NVIDIA վիդեո քարտի սեփական դրայվեր, այս դեպքում մի շտապեք ներբեռնել միջուկի նորագույն տարբերակը, օգտագործեք միայն կայուն միջուկներ, նրանք սովորաբար արդեն աջակցություն են ավելացնում այս մոդուլին:

Իսկ համակարգը վերականգնելու համար ընտրեք տարրը Ընդլայնված ընտրանքներ Ubuntu-ի համար Grub մենյուում.

Եվ սկսեք նախորդ գործող միջուկը.

Ներբեռնումից հետո մնում է հեռացնել սխալ տեղադրված միջուկը և նորից թարմացնել Grub-ը, փոխարինել միջուկի ցանկալի տարբերակը 4.7-ի փոխարեն.

sudo apt հեռացնել linux-header-4.7* linux-image-4.7*

sudo update-grub

Ձեր համակարգն այժմ վերադարձել է իր նախկին վիճակին: Կարող եք փորձել տեղադրել միջուկի հին տարբերակը կամ նորից փորձել:

Linux միջուկի թարմացում CentOS-ով մինչև 4.4

Եվ հիմա եկեք տեսնենք, թե ինչպես կարելի է թարմացնել Linux միջուկի վերջին տարբերակը CentOS-ում: Հրահանգները փորձարկվել են CentOS 7-ի վրա, բայց, ամենայն հավանականությամբ, կաշխատեն RedHat 7-ի, Fedora-ի և այլ նմանատիպ բաշխումների վրա:

Որպես կանոն, նոր միջուկները չեն ներառվում CentOS-ի պաշտոնական պահոցներում, ուստի վերջին կայուն տարբերակը ստանալու համար մեզ անհրաժեշտ կլինի ավելացնել ELRepo պահեստը։ Սա առևտրային փաթեթների շտեմարան է (Enterprise Linux Packages) և պահպանվում է նաև RedHat-ում և Fedora-ում:

Պահեստ ավելացնելու համար հետևեք հետևյալ քայլերին.

Նախ անհրաժեշտ է ներմուծել բանալին.

rpm - ներմուծում https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Ավելացնել պահեստը և պահանջվող բաղադրիչները RHEL/Scientific Linux/CentOS-7-ում.

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum տեղադրել yum-plugin-fastestmirror

Fedora 22-ում և ավելի բարձր՝