યોક્ટો પ્રોજેક્ટ શું છે: એક સંપૂર્ણ એમ્બેડેડ માર્ગદર્શિકા

  • યોક્ટો પ્રોજેક્ટ તમને સ્તરો, વાનગીઓ અને બિટબેકના આધારે પુનઃઉત્પાદનક્ષમ, કસ્ટમ એમ્બેડેડ Linux વિતરણો બનાવવાની મંજૂરી આપે છે.
  • બિલ્ડ્સ અને જાળવણીને વેગ આપવા માટે ઓપનએમ્બેડેડ, પોકી અને એક શક્તિશાળી ઇકોસિસ્ટમ (ટોસ્ટર, eSDK, CROPS) ને જોડે છે.
  • તે લવચીક અપડેટ વ્યૂહરચનાઓ, સુરક્ષા વિકલ્પો (SELinux, IMA, સિક્યોર બૂટ), અને મજબૂત શાસન પ્રદાન કરે છે.

એમ્બેડેડ સિસ્ટમ્સ માટે યોક્ટો પ્રોજેક્ટ

જો તમે એમ્બેડેડ અથવા IoT માં છો, તો વહેલા કે મોડા તમને Yocto પ્રોજેક્ટ મળશે. તે એ આધાર છે જેના પર હજારો ટીમો પોતાનું "પોતાનું" Linux વિતરણ બનાવે છે., તમારા હાર્ડવેર અને જરૂરિયાતો અનુસાર. તે માત્ર બીજું ડિસ્ટ્રો નથી, પરંતુ ટૂલ્સ, મેટાડેટા અને પ્રક્રિયાઓનો સમૂહ છે જે કસ્ટમાઇઝેશન અને પ્રજનનક્ષમતાને આગલા સ્તર પર લઈ જાય છે.

આ માર્ગદર્શિકામાં તમે વધુ વિલંબ કર્યા વિના સમજી શકશો કે યોક્ટો શું છે અને શું નથી, તે શા માટે આટલું વ્યાપક છે, તે કેવી રીતે બનેલું છે (ઓપનએમ્બેડેડ, બીટબેક અને પોકી), લેયર મોડેલમાં શું શામેલ છે, તેની આસપાસ કયા સાધનો ભ્રમણ કરે છે (ટોસ્ટર, ક્રોપ્સ, eSDK...), છબી ખરેખર કેવી રીતે બનાવવામાં આવે છે, કયા અપડેટ વિકલ્પો અસ્તિત્વમાં છે, સુરક્ષાની દ્રષ્ટિએ તે શું પ્રદાન કરે છે, અને પ્રોજેક્ટ કેવી રીતે સંચાલિત અને સંસ્કરણિત થાય છે.. વધુમાં, તમને ખ્યાલો અને વ્યવહારુ ઉદાહરણો (રીટર્મિનલ/રાસ્પબેરી પાઇ) દેખાશે જે તમને તમારા રોજિંદા જીવનમાં તેનો અમલ કરવામાં મદદ કરશે.

યોક્ટો પ્રોજેક્ટ શું છે?

યોક્ટો પ્રોજેક્ટ એ Linux ફાઉન્ડેશન દ્વારા પ્રાયોજિત એક સહયોગી પહેલ છે જે એમ્બેડેડ અને IoT ઉપકરણો માટે કસ્ટમ Linux વિતરણો બનાવવા માટે બિલ્ડીંગ બ્લોક્સ પૂરા પાડે છે. હાર્ડવેર આર્કિટેક્ચરને ધ્યાનમાં લીધા વિના. તેની સ્થાપના 2010 માં થઈ હતી અને 2011 માં તેનું પ્રથમ સંસ્કરણ બહાર પાડ્યું હતું, જેને લગભગ બે ડઝન સંસ્થાઓ દ્વારા સમર્થન આપવામાં આવ્યું હતું અને OpenEmbedded સાથે ગાઢ સહયોગથી.

તેનો હેતુ એમ્બેડેડ સોફ્ટવેર જીવનચક્રને સુધારવાનો છે: તે સિસ્ટમના નિર્માણને ઝડપી, પુનરાવર્તિત અને સંપૂર્ણપણે કસ્ટમાઇઝ કરી શકાય તેવું બનાવવા માટે ઇન્ટરઓપરેબલ ટૂલ્સ, મેટાડેટા અને વર્કફ્લો પ્રદાન કરે છે. યોક્ટો + ઓપનએમ્બેડેડ + બીટબેક સંયોજન તમારી સિસ્ટમ કેવી રીતે મેળવવી, ગોઠવવી, કમ્પાઇલ કરવી, પેકેજ કરવું અને એસેમ્બલ કરવું તેનું વર્ણન કરે છે. સર્જિકલ ચોકસાઈ સાથે.

2018 માં, ARM અને Intel એમ્બેડેડમાં કોડ શેરિંગને સરળ બનાવવા માટે Yocto માં દળો સાથે જોડાયા, પ્લેટફોર્મ તટસ્થતા અને મલ્ટી-આર્કિટેક્ચર સપોર્ટને મજબૂત બનાવવોઆજે, આ પ્રોજેક્ટનો ઉપયોગ સાધારણ બોર્ડથી લઈને જટિલ ઔદ્યોગિક ઉત્પાદનો સુધીના ઉપકરણોમાં થાય છે.

યોક્ટો તમને બંધ કરતું નથી: તે વેન્ડર-અજ્ઞેયવાદી અને પેકેજ-ફોર્મેટ અજ્ઞેયવાદી છે, તેથી તમે deb, rpm, અથવા ipk વચ્ચે પસંદગી કરી શકો છો અને નિર્ણાયક બિલ્ડ મોડેલને અનુસરી શકો છો. ઉપકરણ છબીઓ ઉપરાંત, તમે કસ્ટમ ટૂલચેન અને SDK જનરેટ કરી શકો છો. એપ્લિકેશન ડેવલપમેન્ટ અને ડીબગીંગ માટે.

યોક્ટો પ્રોજેક્ટ આર્કિટેક્ચર

એમ્બેડેડમાં યોક્ટોનો ઉપયોગ શા માટે કરવો

મોટો ફાયદો કસ્ટમાઇઝેશન છે. યોક્ટો સાથે તમે યોગ્ય માત્રામાં ઓપરેટિંગ સિસ્ટમ બનાવો છો: તમે જેની જરૂર નથી તે દૂર કરો છો, હુમલાની સપાટી અને વજન ઘટાડો છો., અને તમે પ્રદર્શન અને વપરાશને સમાયોજિત કરો છો. તમે સામાન્ય હેતુના ડિસ્ટ્રોના નિર્ણયો પર આધાર રાખતા નથી.

બીજું મહત્વનું કારણ પ્રજનનક્ષમતા છે. દરેક વસ્તુ (સ્તરો, વાનગીઓ, રૂપરેખાંકનો) ને ભંડારોમાં સંસ્કરણિત કરી શકાય છે, જે એક જ છબીને વિવિધ વાતાવરણ અને સમયમાં બનાવવાની મંજૂરી આપે છેઆ CI/CD સાથે બંધબેસે છે અને QA અને પાલન માટે ટ્રેસેબિલિટી પૂરી પાડે છે.

તે તેની સુગમતા માટે પણ અલગ છે: તે આર્મ, x86/x86-64, MIPS અથવા PowerPC જેવા આર્કિટેક્ચરને સપોર્ટ કરે છે, અને ઉત્પાદન પરિવારો વચ્ચે તમારા વિતરણને રિસાયકલ કરવાનું સરળ બનાવે છે અથવા બોર્ડ અથવા SoC બદલતી વખતે પીવટ કરો.

સમુદાય અને ઉદ્યોગ સપોર્ટ ચાલુ સુરક્ષા અપડેટ્સ અને પેચો સુનિશ્ચિત કરે છે. એક્સટેન્ડેડ સપોર્ટ (LTS) ધરાવતી શાખાઓ છે જે ઉત્પાદન જીવનને સરળ બનાવે છે અને ક્ષેત્ર જાળવણી.

ટોલ કેટલો? તેના માટે એક શક્તિશાળી મશીન અને શીખવાની પ્રક્રિયામાં ઘણો સમય લાગે છે. ખૂબ જ નાના પ્રોજેક્ટ્સ અથવા ખૂબ જ ટૂંકી સમયમર્યાદા ધરાવતા પ્રોજેક્ટ્સ માટે, હળવા વિકલ્પોની તુલનામાં વધુ પડતું હોઈ શકે છે, પરંતુ મધ્યમ ગાળામાં જ્યારે ઉત્ક્રાંતિ અને જાળવણી મહત્વપૂર્ણ હોય છે ત્યારે તે ફળ આપે છે.

મુખ્ય ઘટકો: ઓપનએમ્બેડેડ, બીટબેક અને પોકી

યોક્ટો ડાયાગ્રામ

બિલ્ડનું હૃદય બિટબેક છે: એક એન્જિન જે રેસિપી અને રૂપરેખાંકન ચલોનું અર્થઘટન કરે છે, નિર્ભરતાઓનું નિરાકરણ કરે છે અને કાર્યોને ક્રમમાં ચલાવે છે (ડાઉનલોડ કરો, અનપેક કરો, ગોઠવો, કમ્પાઇલ કરો, ઇન્સ્ટોલ કરો, પેકેજ કરો, છબીઓ એસેમ્બલ કરો). બિટબેકને "મેક" શૈલીના ઓર્કેસ્ટ્રેટર તરીકે વિચારો પરંતુ એમ્બેડેડ વિશ્વ માટે રચાયેલ છે..

ઓપનએમ્બેડેડ (OE) મેટાડેટા અને ક્લાસ બેઝ (ઓપનએમ્બેડેડ-કોર અથવા ઓઇ-કોર) પ્રદાન કરે છે, સતત પરીક્ષણ કરાયેલી વાનગીઓ અને ઉપયોગિતાઓનો ક્યુરેટેડ સમૂહ જે સેંકડો સ્તરો અને પ્રોજેક્ટ્સ માટે પાયા તરીકે કામ કરે છે.

પોકી એ યોક્ટોનું સંદર્ભ વિતરણ છે: તે OE બિલ્ડ સિસ્ટમ, વાનગીઓનો વિશાળ સમૂહ અને શરૂ કરવા માટે માન્ય "બાય-ધ-બુક" ગોઠવણીને એકીકૃત કરે છે. તે કોઈ પ્રોડક્ટ ડિસ્ટ્રો નથી, પરંતુ એક ઉપદેશાત્મક અને કાર્યાત્મક પ્રારંભિક બિંદુ છે. જે ઇકોસિસ્ટમને માન્ય કરે છે.

સ્તરીય મોડેલ: એક જ સમયે સહયોગ અને વ્યક્તિગતકરણ

લેયર મોડેલ એ પાયાનો પથ્થર છે. લેયર એ રેસિપી, રૂપરેખાંકનો અને સંબંધિત વર્ગોનો ભંડાર છે. સ્તરો સ્ટેક કરેલા છે અને વંશવેલો રીતે ઓવરરાઇડ કરી શકાય છે, જે તમને સામાન્ય બાબતોને વારસામાં મેળવવા અને આધાર તોડ્યા વિના ફેરફારો લાગુ કરવાની મંજૂરી આપે છે.

આ અભિગમ તમે જે કરો છો તેના તાર્કિક વિભાજનને પ્રોત્સાહન આપે છે: ઉત્પાદક તરફથી એક BSP સ્તર, એક GUI સ્તર, એક મિડલવેર સ્તર, તમારી એપ્લિકેશન માટે એક સ્તર, ડિસ્ટ્રો માટે એક સ્તર... અપડેટ, જાળવણી અને પુનઃઉપયોગની વાત આવે ત્યારે "બધું એક સ્તરમાં મૂકવાનું" ટાળવાથી તમારું જીવન સરળ બને છે. પ્રોજેક્ટ્સ વચ્ચેના ઘટકો.

BSP સ્તરો મહત્વપૂર્ણ છે: તેમાં ચોક્કસ લક્ષ્યો (દા.ત., રાસ્પબેરી પાઇ પરિવારો) માટે ઉપકરણ વૃક્ષો, કર્નલ રૂપરેખાંકનો, ડ્રાઇવરો અને મશીન સેટિંગ્સ હોય છે. તેમના માટે આભાર, હાર્ડવેર ઉમેરવાનો કે બદલવાનો અર્થ એ નથી કે બધું ફરીથી લખવું., ફક્ત યોગ્ય સ્તર ઉમેરો અથવા અનુકૂલિત કરો.

બાંધકામ કાર્યપ્રવાહ

લાક્ષણિક પ્રક્રિયા ખૂબ જ સ્પષ્ટ છે, જોકે તીવ્ર છે. પ્રથમ, તમે આર્કિટેક્ચર, નીતિઓ, પેચો અને પરિમાણો વ્યાખ્યાયિત કરો છો (દા.ત., માં local.conf y bblayers.conf). બિટબેક સ્ત્રોતો (ટારબોલ્સ, ગિટ…), પેચ, રૂપરેખાંકન અને કમ્પાઇલ મેળવે છે વર્ગો (ઓટોટૂલ્સ, સીએમકેક, વગેરે) પર આધાર રાખીને.

મધ્યવર્તી પરિણામ કામચલાઉ સ્ટેજીંગમાં ઇન્સ્ટોલ કરવામાં આવે છે અને પસંદ કરેલા ફોર્મેટ (deb, rpm, ipk) માં પેક કરવામાં આવે છે. આ પેકેજો સાથે rootfs કમ્પોઝ થાય છે અને અંતિમ છબીઓ જનરેટ થાય છે. જેને તમે ઉપકરણ પર ફ્લેશ અથવા ડિપ્લોય કરશો.

બિલ્ડ પ્રક્રિયા દરમ્યાન સેનિટી ચેક, રીગ્રેશન અને QA ટેસ્ટ કરવામાં આવે છે; તમે QEMU માં છબીઓને બુટ અને માન્ય પણ કરી શકો છો. આ વાસ્તવિક હાર્ડવેર પર ટ્રાયલ-એરર ચક્ર ઘટાડે છે., ખાસ કરીને શરૂઆતના તબક્કામાં.

Yocto ની આસપાસના સાધનો અને પેટા પ્રોજેક્ટ્સ

યોક્ટો ફાઇલો

ઇકોસિસ્ટમ એવી ઉપયોગિતાઓ પ્રદાન કરે છે જે તમારા જીવનને સરળ બનાવે છે. CROPS એ એક કન્ટેનર ફ્રેમવર્ક છે જે Linux, Windows અને macOS પર સુસંગત બિલ્ડ વાતાવરણ પૂરું પાડે છે; મિશ્ર ટીમો માટે અથવા નિર્ભરતાને સમાવિષ્ટ કરવા માટે આદર્શટોસ્ટર એ બિલ્ડ્સને ગોઠવવા અને લોન્ચ કરવા અને મેટ્રિક્સ અને આર્ટિફેક્ટ્સ જોવા માટેનું વેબ ઇન્ટરફેસ છે.

eSDK (એક્સટેન્સિબલ SDK) એપ્લિકેશન ડેવલપર્સને મંજૂરી આપે છે લાઇબ્રેરીઓ અને ફેરફારો ઉમેરો અને તેમને છબીમાં પાછા ફીડ કરો. સુવિધાજનક રીતે. એક જ આદેશથી બહુવિધ આર્કિટેક્ચર બનાવવા માટે મલ્ટી-કોન્ફિગ સપોર્ટ અને સ્ત્રોતો ઉપલબ્ધ ન હોય ત્યારે બાઈનરીનો સમાવેશ કરવા માટે "બાઈનરી બિલ્ડ્સ" પણ છે.

સિસ્ટમ લાયસન્સ મેનિફેસ્ટ અને ઉપયોગમાં લેવાતા કોડના સંદર્ભો જનરેટ કરી શકે છે, પાલનની ચાવી નિયમન કરાયેલ વાતાવરણમાં અથવા કોપીલેફ્ટ જવાબદારીઓ સાથે.

આ છત્ર હેઠળના અન્ય પ્રોજેક્ટ્સમાં સ્યુડો, ક્રોસ-પ્રીલિંક, હળવા વજનના ગ્રાફિકલ વાતાવરણ માટે મેચબોક્સ સ્યુટ અને વધુ જેવી ઉપયોગિતાઓ શામેલ છે. એક્લિપ્સ સાથે અગાઉ એક સંકલન હતું જે સંસ્કરણ 2.7 થી દૂર કરવામાં આવ્યું હતું. નવા સાધનોની સામે અપ્રચલિત બનવું.

પેકેજ મેનેજમેન્ટ અને અપડેટ વ્યૂહરચનાઓ

ફીલ્ડ ડિવાઇસને અપડેટ કરવું ખૂબ જ મહત્વપૂર્ણ છે, અને યોક્ટો ઘણા વિકલ્પો પ્રદાન કરે છે. તમે સંપૂર્ણ છબી (સંપૂર્ણ સિસ્ટમ સુસંગતતા) અપડેટ કરવાનું પસંદ કરી શકો છો, બેન્ડવિડ્થ બચાવવા માટે પેકેટ સ્તરે ફેરફારોનું વિતરણ કરો, રિવર્ઝન (જેમ કે OSTree) સાથે અણુ મોડેલોનો ઉપયોગ કરો અથવા ટ્રાન્સફર ઘટાડવા માટે ડેલ્ટાનો આશરો લો.

કોઈ સિલ્વર બુલેટ નથી: સંપૂર્ણ છબી "મોટા કૂદકા" માટે સારી છે, પેકેટ્સ ગ્રેન્યુલર ફેરફારો માટે, એટોમિક રોલબેક સાથેના મહત્વપૂર્ણ વાતાવરણ માટે અને ડેલ્ટા સાંકડા નેટવર્ક્સ માટે સારી છે. ફાયદો એ છે કે તમે એવી વ્યૂહરચના પસંદ કરો છો જે તમારા ઉત્પાદનને અનુકૂળ આવે. અને તમારું ઓપરેશન.

પરીક્ષણ, અનુકરણ અને દસ્તાવેજીકરણ

યોક્ટો ગુણવત્તાનું ધ્યાન રાખે છે. તેમાં સેનિટી અને રીગ્રેશન ટેસ્ટ, QEMU માં બુટિંગ અને ટેસ્ટિંગ માટે સપોર્ટ અને ટેસ્ટ સ્યુટ્સને એકીકૃત કરવાની ક્ષમતાનો સમાવેશ થાય છે. આ માન્યતા ચક્રને સંકુચિત કરે છે અને હાર્ડવેર આશ્ચર્ય ઘટાડે છે..

દસ્તાવેજીકરણ એ પ્રોજેક્ટનો પાયો છે. દરેક પ્રકાશન અપડેટેડ માર્ગદર્શિકાઓ પ્રકાશિત કરે છે અને વર્તમાન અને આર્કાઇવ કરેલા સંસ્કરણોના દસ્તાવેજો રાખવામાં આવે છે, કંઈક ખૂબ જ જરૂરી છે કારણ કે વર્તન રિલીઝ વચ્ચે બદલાઈ શકે છે.

શાસન અને લોન્ચ

ટેકનિકલ દિશા પ્રોજેક્ટ આર્કિટેક્ટ (રિચાર્ડ પર્ડી) અને ઘટક દીઠ જાળવણીકારોની શ્રેણી પર આવે છે, Linux કર્નલ જેવા મોડેલમાંવહીવટી બાજુએ, એક સલાહકાર બોર્ડ છે જેમાં સભ્યો (સિલિકોન ઉત્પાદકો, યોક્ટો-આધારિત વાણિજ્યિક વિક્રેતાઓ, કોર્પોરેટ વપરાશકર્તાઓ અને સલાહકારો), તેમજ નાણાં, માળખાગત સુવિધાઓ, પ્રમોશન અને સમુદાય માટે કાર્યકારી જૂથોના પ્રતિનિધિઓ હોય છે.

પ્રકાશન સમયપત્રક અર્ધવાર્ષિક (એપ્રિલ અને ઓક્ટોબર) છે, જેમાં છેલ્લી ત્રણ શાખાઓ માટે ચોક્કસ સંસ્કરણો છે. આ એક અનુમાનિત ગતિ નક્કી કરે છે જેના માટે કંપનીઓ યોજના બનાવી શકે છે. સ્તરો અને ઉત્પાદનોને અપડેટ કરવા માટે.

આવૃત્તિઓ અને કોડનામ

ઐતિહાસિક રીતે, યોક્ટોએ નંબર અને ઉપનામ દ્વારા ઓળખાતી રિલીઝ રજૂ કરી છે. નીચે આવૃત્તિઓ અને તારીખોની પ્રતિનિધિ પસંદગી છે:

સંસ્કરણ કોડનામ તારીખ
3.3 હાર્ડનોટ 04/2021
3.2 ગેટ્સગર્થ 11/2020
3.1 ડનફેલ 04/2020
3.0 ઝિયસ 10/2019
2.7 ગરેરો 04/2019
2.6 થડ 11/2018
2.5 સુમો 04/2018
2.4 રોકો 10/2017
2.3 Pyro 04/2017
2.2 મોર્ટી 10/2016
2.1 ક્રોગોથ 04/2016
2.0 જેથ્રો 10/2015
1.8 ફિડો 04/2015
1.7 ચક્કર આવે છે 10/2014
1.6 ડેઇઝી 04/2014
1.5 ડોરા 10/2013
1.4 ડીલાન 04/2013
1.3 ડીલાન 10/2012
1.2 ડેન્ઝીલ 04/2012
1.1 એડિસન 10/2011
1.0 બર્નાર્ડ 2011
0.9 લવર્ને 2010

સામાન્ય છબીઓ ઉપરાંત, પ્રોજેક્ટ પોકી નામના સંદર્ભ અમલીકરણને જાળવી રાખે છે જે OE બિલ્ડ સિસ્ટમ અને સ્તરોમાં ગોઠવાયેલા વાનગીઓના વ્યાપક સમૂહને એકીકૃત કરે છે, એમ્બેડેડ સિસ્ટમ માટે કાર્યાત્મક નમૂના તરીકે ઉપયોગી.

બ્રાન્ડ પ્રોગ્રામ: સહભાગીઓ અને સુસંગતતા

યોક્ટો લિનક્સ

યોક્ટો બ્રાન્ડ પ્રોગ્રામ સંસ્થાઓ અને ઉત્પાદનોને બે સીલ સાથે પ્રોજેક્ટ સાથે તેમના કાર્યને સાંકળવાની મંજૂરી આપે છે: "યોક્ટો પ્રોજેક્ટ સહભાગી" એવી સંસ્થાઓ માટે જે જાહેરમાં યોક્ટોનો ઉપયોગ કરે છે અને તેને સમર્થન આપે છે., અને સભ્ય સંગઠનોના OE-સુસંગત ઉત્પાદનો, BSP અને સ્તરો માટે "યોક્ટો પ્રોજેક્ટ સુસંગત".

આવશ્યક શબ્દાવલિ

  • રૂપરેખાંકન ફાઇલો (conf): વૈશ્વિક ચલો, વપરાશકર્તા વિકલ્પો અને હાર્ડવેર સેટિંગ્સ વ્યાખ્યાયિત કરે છે; તેઓ ચોક્કસ પ્લેટફોર્મ માટે શું કમ્પાઇલ કરવામાં આવે છે અને છબીમાં શું જાય છે તેનું માર્ગદર્શન આપે છે.
  • રેસિપિ (.bb): કોડના સ્ત્રોત, પેચો, ડિપેન્ડન્સી અને પેકેજો જનરેટ કરવા માટેના બિલ્ડ વિકલ્પો અને તેમની સાથે, અંતિમ છબીનું વર્ણન કરો.
  • સ્તરો: રેસિપી અને સંબંધિત મેટાડેટાનો સંગ્રહ; તેઓ કસ્ટમાઇઝેશનને અલગ કરવા અને બહુવિધ આર્કિટેક્ચરના સ્વચ્છ સમર્થન માટે પરવાનગી આપે છે.
  • મેટાડેટા: આમાં રેસિપી, રૂપરેખાંકનો, વર્ગો અને ડેટાનો સમાવેશ થાય છે જે શું બનાવવામાં આવે છે અને કેવી રીતે બનાવવામાં આવે છે તેનું નિયંત્રણ કરે છે, જેમાં સંસ્કરણ અને પેચ સંદર્ભોનો સમાવેશ થાય છે.
  • બીટબેક: એક્ઝેક્યુશન એન્જિન જે રેસિપીનું વિશ્લેષણ કરે છે અને કાર્યોના ક્રમને ગોઠવે છે; "મેક" જેવું જ, પરંતુ પેકેજો અને છબીઓ પર આધારિત.
  • પેકેજો: જનરેટ કરેલી આર્ટિફેક્ટ્સ (deb, rpm, ipk) જેનો ઉપયોગ rootfs અને સિસ્ટમ ઈમેજોને માઉન્ટ કરવા માટે થાય છે.
  • ઇએસડીકે: એપ્લિકેશન ડેવલપર્સ માટે ફેરફારો અને લાઇબ્રેરીઓને એકીકૃત કરવા અને લક્ષ્ય હાર્ડવેર પર તેનું પરીક્ષણ કરવા માટે એક એક્સટેન્સિબલ SDK.
  • ઇમેજેન: લક્ષ્ય ઉપકરણ પર ફ્લેશ અથવા જમાવવા માટે Linux ઓપરેટિંગ સિસ્ટમનું બાઈનરી સ્વરૂપ.

ઉપયોગના કેસ, IoT અને સિસ્ટમ પસંદગી

એમ્બેડેડ બજાર સતત વૃદ્ધિ અનુભવી રહ્યું છે: વધુ કસ્ટમાઇઝ્ડ ઉપકરણો, બોર્ડ અને SoC ની વધુ વિવિધતા અને તેથી, કસ્ટમ ઓએસ સિસ્ટમ્સની વધુ જરૂરિયાત. Linux એ પોતાને વાસ્તવિક ધોરણ તરીકે સ્થાપિત કર્યું છે, અને Yocto તેને "તમારી રીતે" બનાવવા માટે એક ઉત્તમ વિકલ્પ છે.

ડેબિયન/ઉબુન્ટુ જેવા સામાન્ય હેતુવાળા દ્વિસંગી વિતરણની તુલનામાં, યોક્ટો પુનઃઉત્પાદનક્ષમતા અને ટ્રેસેબિલિટી સાથે, વર્ઝન અને પેચ સહિત, શું ઇન્સ્ટોલ કરેલું છે તેના પર સંપૂર્ણ નિયંત્રણ પૂરું પાડે છે. મર્યાદિત પદચિહ્ન, સુરક્ષા અને લાંબા ગાળાની જાળવણીની જરૂર હોય તેવા ઉત્પાદનો માટે, એક વ્યવહારિક નિર્ણય છે.

કંપનીઓ યોક્ટોને આધુનિક ફિલ્ડ ઓપરેશન આર્કિટેક્ચર (OTA, સુરક્ષિત પાર્ટીશનો, રોલબેક) સાથે જોડે છે. CI/CD પાઇપલાઇન્સ, ઓટોમેટેડ પરીક્ષણ અને ક્રમિક જમાવટનું સંકલનએવા ઉકેલો પણ છે જે યોક્ટોનો ઉપયોગ કરીને એજ ક્ષમતાઓનો વિસ્તાર કરે છે (દા.ત., એનાલિટિક્સ, AI અને યોક્ટો દ્વારા સમર્થિત ક્લાઉડ કનેક્ટિવિટી પર કેન્દ્રિત પ્લેટફોર્મ).

સલામતી અને સારા વ્યવહારો

સુરક્ષા પ્રાથમિકતા છે. આ પ્રોજેક્ટ CII શ્રેષ્ઠ પ્રથાઓ સાથે સુસંગત છે અને પુનઃઉત્પાદનક્ષમ બિલ્ડ્સને પ્રોત્સાહન આપે છે (કોર-ઇમેજ-મિનિમલ પર પરીક્ષણ ~99,8% પ્રાપ્ત થયું છે). નિર્ભરતા, વાતાવરણ અને ટૂલચેઈનને નિયંત્રિત કરવાથી બિલ્ડ પ્રદૂષણ ઓછું થાય છે..

રનટાઇમ લેવલ પર, તમે ફાઇન-ગ્રેઇન્ડ એક્સેસ કંટ્રોલ માટે SELinux, રનટાઇમ ઇન્ટિગ્રિટી માપન માટે IMA અને બુટલોડર, કર્નલ અને initramfs ને ચકાસતી સુરક્ષિત બુટ ચેઇન્સ સક્ષમ કરી શકો છો. ફાઇલ સિસ્ટમ એન્ક્રિપ્શન અને કી મેનેજમેન્ટ સંપૂર્ણ સુરક્ષા સાથે.

સિદ્ધાંતથી વ્યવહાર સુધી: છબી બનાવવી

સૌથી મૂળભૂત રીત એ છે કે પોકીનું ક્લોન કરવું, પર્યાવરણને શરૂ કરવું, મશીન પસંદ કરવું (ઉદાહરણ તરીકે QEMU લક્ષ્ય અથવા રાસ્પબેરી પાઇ), જરૂરી BSP સ્તરો ઉમેરો અને સંદર્ભ છબી સામે BitBake ચલાવો.પહેલા બિલ્ડમાં થોડો સમય લાગે છે, પરંતુ પછી વધતા બિલ્ડ્સ ઝડપથી પસાર થાય છે.

હાર્ડવેર માટે જેમ કે રાસ્પબેરી પાઇ/રીટર્મિનલ, લાક્ષણિક પ્રવાહમાં ક્લોનિંગ સ્તરો જેમ કે મેટા-રાસ્પબેરીપી, મેટા-ઓઇ, મેટા-પાયથોન, અથવા ઉપકરણ વિક્રેતા તરફથી એક સ્તરનો સમાવેશ થાય છે, કર્નલને ટ્યુન કરો, સ્તરો અને ચલોને આયાત કરો અને ચોક્કસ છબી બનાવો. (ઉદાહરણ તરીકે, "rpi-ટેસ્ટ-ઇમેજ").

ટોસ્ટર તમને GUI દ્વારા પણ આ જ કરવાની મંજૂરી આપે છે: પ્રોજેક્ટ બનાવો, રિલીઝ પસંદ કરો, મશીન (raspberrypi4-64, raspberrypi5…), સ્તરો આયાત કરો, ચલોને સમાયોજિત કરો (દા.ત., ગ્રાફિકલ બેકએન્ડ્સ), અને બ્રાઉઝરથી બિલ્ડ લોન્ચ કરો.. પૂર્ણ થઈ જાય, ત્યારે આર્ટિફેક્ટ્સ (દા.ત. .wic.bz2) ડાઉનલોડ કરો અને ફ્લેશ કરો.

બિટબેક સ્તરો અને વાનગીઓની યાદી બનાવવા, નિર્ભરતાઓનું અન્વેષણ કરવા, પેકેજ માટે ડેવશેલ ખોલવા માટે ઉપયોગી આદેશો પ્રદાન કરે છે, કાર્યોનું નિરીક્ષણ કરો અથવા ફરીથી બનાવવા માટે પર્યાવરણને સાફ કરોજ્યારે કંઈક ખોટું થાય છે ત્યારે આ નિદાનને ઝડપી બનાવે છે.

વિગતવાર કાર્યપ્રવાહ (કાર્યકારી સારાંશ)

  1. આર્કિટેક્ચર, નીતિઓ, પેચો અને રૂપરેખાંકનને વ્યાખ્યાયિત કરે છે.
  2. જાહેર કરેલા સ્ત્રોતોમાંથી ફોન્ટ્સ ડાઉનલોડ કરો.
  3. અનપેક કરો, પેચો લાગુ કરો અને ગોઠવણી/કમ્પાઇલ ચલાવો યોગ્ય છે.
  4. સ્ટેજીંગ અને પેકેજિંગ.
  5. QA ચલાવો અને તપાસો.
  6. પેકેજ ફીડ્સ પ્રકાશિત કરે છે.
  7. અંતિમ છબી જનરેટ કરે છે.

આ સ્કીમ તમારા ઘટકો અનુસાર વર્ગો અને સ્તરો સાથે અનુકૂલન કરે છે: તમને ચોક્કસ ગ્રાફિકલ બેકએન્ડ, તમારા પોતાના કર્નલ મોડ્યુલ્સ અથવા અલગ init જોઈશે. યોક્ટોની સુંદરતા એ છે કે આ બધું વર્ઝનેબલ મેટાડેટા તરીકે વ્યક્ત કરવામાં આવ્યું છે..

ટીમ દત્તક લેવાની ટિપ્સ

વિન્ડોઝ વાતાવરણમાંથી આવતી પ્રોફાઇલ્સ માટે, યુનિક્સ/લિનક્સ ફંડામેન્ટલ્સમાં રોકાણ કરવાથી ઘણી મદદ મળે છે. તમારા વર્કસ્ટેશન પર Linux ડિસ્ટ્રો સાથે કામ કરો, Bash અને Python ને સમજો અને ક્રોસ-ટૂલચેનથી પરિચિત બનો. વળાંકને વેગ આપે છે.

જો તમે પ્રોજેક્ટમાં નવા છો, તો એન્ડ-ટુ-એન્ડ વર્કફ્લોને માન્ય કરવા માટે Poky અને QEMU થી શરૂઆત કરો. પછી વાસ્તવિક હાર્ડવેર BSP સ્તર અને તમારું પોતાનું એપ્લિકેશન સ્તર ઉમેરો.શરૂઆતથી જ કન્ટેનર બિલ્ડ્સ (CROPS) અને CI/CD ને ઓટોમેટ કરો.

ક્ષેત્ર અપગ્રેડ અને કામગીરી ક્ષમતાઓ

જ્યારે ઉત્પાદન ફેક્ટરીમાંથી બહાર નીકળે છે, ત્યારે તમારે અપડેટ વ્યૂહરચનાની જરૂર પડે છે. યોક્ટો સાથે, તમે પેકેજ રિપોઝીટરીઝ, સહી કરેલ પૂર્ણ છબીઓ અને રોલબેક અથવા ડેલ્ટા સાથે અણુ યોજનાઓમાંથી પસંદ કરી શકો છો. અપડેટ કદ, બેન્ડવિડ્થ અને જોખમના આધારે પસંદ કરો જે તમે લેવા માંગો છો.

લાયસન્સ ઇન્વેન્ટરી અને સંકળાયેલ સોર્સ કોડને એકીકૃત કરવું એ બીજું એક આવશ્યક પાલન છે. યોક્ટો લાઇસન્સ મેનિફેસ્ટ જનરેટ કરે છે અને ઘટક કોડ સાથે લિંક કરી શકે છે., ઓડિટ અને પુનઃવિતરણ જવાબદારીઓને સરળ બનાવવી.

ઓપનએમ્બેડેડ શું છે?
સંબંધિત લેખ:
ઓપનએમ્બેડેડ શું છે અને તે એમ્બેડેડ લિનક્સ ડેવલપમેન્ટને કેવી રીતે પરિવર્તિત કરે છે