
IMXLXYOCTOUG
i.MX Yocto परियोजना प्रयोगकर्ता गाइड
Rev. LF6.6.3_1.0.0 - 29 मार्च 2024
NXP अर्धचालक
प्रयोगकर्ता गाइड
IMXLXYOCTOUG i.MX Yocto परियोजना
कागजात जानकारी
| जानकारी | सामग्री |
| कीवर्डहरू | i.MX, Linux, LF6.6.3_1.0.0 |
| सार | यो कागजातले Yocto परियोजना निर्माण वातावरण प्रयोग गरेर i.MX बोर्डको लागि छवि कसरी बनाउने भनेर वर्णन गर्दछ। यसले i.MX रिलीज तह र i.MX-विशेष प्रयोगको वर्णन गर्दछ। |
माथिview
यो कागजातले Yocto परियोजना निर्माण वातावरण प्रयोग गरेर i.MX बोर्डको लागि छवि कसरी बनाउने भनेर वर्णन गर्दछ। यसले i.MX रिलीज तह र i.MX-विशेष प्रयोगको वर्णन गर्दछ।
योक्टो प्रोजेक्ट एम्बेडेड लिनक्स ओएस विकासमा केन्द्रित खुला स्रोत सहयोग हो। योक्टो परियोजना बारे थप जानकारीको लागि, योक्टो परियोजना पृष्ठ हेर्नुहोस्: www.yoctoproject.org/। Yocto Project गृह पृष्ठमा धेरै कागजातहरू छन् जसले प्रणाली कसरी प्रयोग गर्ने भनेर विस्तृत रूपमा वर्णन गर्दछ। i.MX रिलिज तह बिना आधारभूत योक्टो प्रोजेक्ट प्रयोग गर्न, योक्टो प्रोजेक्ट क्विक स्टार्टमा पाइने निर्देशनहरू पालना गर्नुहोस्। https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html.
FSL Yocto परियोजना समुदाय BSP (मा फेला पर्यो FSL समुदाय BSP (freescale.github.io)) योक्टो प्रोजेक्ट वातावरणमा i.MX बोर्डहरूको लागि समर्थन प्रदान गर्ने NXP बाहिरको विकास समुदाय हो। i.MX Yocto परियोजना ढाँचामा आधारित रिलीज प्रदान गर्दै Yocto Project समुदायमा सामेल भयो। FSL समुदाय BSP प्रयोगको लागि विशिष्ट जानकारी समुदायमा उपलब्ध छ web पृष्ठ। यो कागजात समुदाय BSP कागजातको विस्तार हो।
Files छवि बनाउन प्रयोग गरिन्छ तहहरूमा भण्डारण गरिन्छ। तहहरूमा विभिन्न प्रकारका अनुकूलनहरू हुन्छन् र विभिन्न स्रोतहरूबाट आउँछन्। केहि को fileएक तहमा s लाई रेसिपी भनिन्छ। योक्टो प्रोजेक्ट रेसिपीहरूले स्रोत कोड पुन: प्राप्त गर्न, कम्पोनेन्ट निर्माण र प्याकेज गर्ने संयन्त्र समावेश गर्दछ। निम्न सूचीहरूले यस रिलीजमा प्रयोग गरिएका तहहरू देखाउँछन्।
i.MX रिलीज तह
- meta-imx
- meta-bsp: मेटा-फ्रीस्केल, पोकी, र मेटा-ओपन एम्बेडेड तहहरूको लागि अद्यावधिकहरू
- मेटा-एसडीके: मेटा-फ्रीस्केल-डिस्ट्रोसका लागि अद्यावधिकहरू
- मेटा-एमएल: मेसिन लर्निंग रेसिपीहरू
- meta-v2x: V2X रेसिपीहरू i.MX 8DXL को लागि मात्र प्रयोग गरिन्छ
- मेटा-ककपिट: i.MX 8 QuadMax को लागि ककपिट रेसिपीहरू
योक्टो परियोजना समुदाय तहहरू
- मेटा-फ्रीस्केल: आधार र i.MX आर्म सन्दर्भ बोर्डहरूको लागि समर्थन प्रदान गर्दछ।
- meta-freescale-3rdparty: तेस्रो पक्ष र साझेदार बोर्डहरूको लागि समर्थन प्रदान गर्दछ।
- मेटा-फ्रीस्केल-डिस्ट्रो: विकास र व्यायाम बोर्ड क्षमताहरूमा सहायता गर्न थप वस्तुहरू।
- fsl-community-bsp-base: प्राय: आधारमा पुन: नामाकरण गरिन्छ। FSL समुदाय BSP को लागि आधार कन्फिगरेसन प्रदान गर्दछ।
- meta-openembedded: OE-core ब्रह्माण्डको लागि तहहरूको संग्रह। हेर्नुहोस् layers.openembedded.org/.
- पोकी: पोकीमा आधारभूत योक्टो परियोजना वस्तुहरू। विवरणका लागि पोकी README हेर्नुहोस्।
- मेटा ब्राउजर: धेरै ब्राउजरहरू प्रदान गर्दछ।
- meta-qt6: Qt 6 प्रदान गर्दछ।
- meta-timesys: BSP कमजोरीहरू (CVEs) को निगरानी र अधिसूचनाको लागि Vigiles उपकरणहरू प्रदान गर्दछ।
यस कागजातमा सामुदायिक तहहरूका सन्दर्भहरू meta-imx बाहेक Yocto परियोजनाका सबै तहहरूका लागि हुन्। i.MX बोर्डहरू meta-imx र meta-freescale तहहरूमा कन्फिगर गरिएका छन्। यसमा U-Boot, Linux कर्नेल, र सन्दर्भ बोर्ड-विशेष विवरणहरू समावेश छन्।
i.MX ले FSL Yocto Project Community BSP सँग नयाँ i.MX रिलीजलाई एकीकृत गर्न i.MX BSP रिलीज नामक मेटा-imx नामक अतिरिक्त तह प्रदान गर्दछ। Meta-imx लेयरले Yocto परियोजनामा अवस्थित मेटा-फ्रीस्केल र मेटा-फ्रीस्केल-डिस्ट्रो तहहरूमा उपलब्ध नभएका नयाँ रिलीजहरूको लागि अद्यावधिक र नयाँ योक्टो प्रोजेक्ट रेसिपीहरू र मेसिन कन्फिगरेसनहरू जारी गर्ने लक्ष्य राख्छ। i.MX BSP को सामग्री
रिलीज तह व्यञ्जनहरू र मेसिन कन्फिगरेसनहरू हुन्। धेरै परीक्षण केसहरूमा, अन्य तहहरूले व्यञ्जनहरू लागू गर्दछ वा समावेश गर्दछ files र i.MX रिलीज तहले हालको रेसिपीमा जोडेर, वा कम्पोनेन्ट सहित र प्याच वा स्रोत स्थानहरूसँग अद्यावधिक गरेर रेसिपीहरूमा अद्यावधिकहरू प्रदान गर्दछ। धेरैजसो i.MX रिलिज तह रेसिपीहरू धेरै सानो हुन्छन् किनभने तिनीहरू समुदायले उपलब्ध गराएको कुरा प्रयोग गर्छन् र प्रत्येक नयाँ प्याकेज संस्करणका लागि आवश्यक पर्ने कुराहरू अपडेट गर्छन् जुन अन्य तहहरूमा उपलब्ध छैन।
i.MX BSP रिलिज तहले छवि रेसिपीहरू पनि प्रदान गर्दछ जसमा प्रणाली छवि बुट गर्नका लागि आवश्यक सबै घटकहरू समावेश हुन्छन्, प्रयोगकर्ताका लागि सजिलो बनाउँदै। कम्पोनेन्टहरू व्यक्तिगत रूपमा वा छवि नुस्खा मार्फत निर्माण गर्न सकिन्छ, जसले छविमा आवश्यक सबै घटकहरूलाई एक निर्माण प्रक्रियामा तान्दछ।
i.MX कर्नेल र U-Boot रिलीजहरू i.MX सार्वजनिक Git सर्भरहरू मार्फत पहुँच गरिन्छ। यद्यपि, धेरै कम्पोनेन्टहरू i.MX मिररमा प्याकेजहरूको रूपमा जारी गरिन्छ। प्याकेज-आधारित व्यञ्जनहरू तान्छन् fileGit स्थानको सट्टा i.MX मिररबाट s र आवश्यक प्याकेज उत्पन्न गर्नुहोस्।
बाइनरीको रूपमा जारी गरिएका सबै प्याकेजहरू प्रत्येक मेसिन कन्फिगरेसनमा परिभाषित DEFAULTTUNE द्वारा निर्दिष्ट गरिएको हार्डवेयर फ्लोटिंग पोइन्ट सक्षम पारिएका छन्। file। सफ्टवेयर फ्लोटिंग पोइन्ट प्याकेजहरू जेथ्रो रिलीजहरूबाट सुरु गरी प्रदान गरिएका छैनन्।
रिलीज LF6.6.3_1.0.0 Yocto परियोजना 4.3 (Nanbield) को लागि जारी गरिएको छ। Yocto Project 4.3 को लागि उही रेसिपीहरू अपस्ट्रीम हुन गइरहेको छ र Yocto प्रोजेक्ट रिलीजको अर्को रिलीजमा उपलब्ध गराइनेछ। योक्टो परियोजना रिलीज चक्र लगभग छ महिना रहन्छ।
meta-imx मा रेसिपीहरू र प्याचहरू सामुदायिक तहहरूमा माथि छन्। त्यस पछि एक विशेष कम्पोनेन्टको लागि गरिन्छ, filemeta-imx मा अब आवश्यक छैन र FSL Yocto परियोजना समुदाय BSP ले समर्थन प्रदान गर्नेछ। समुदायले i.MX सन्दर्भ बोर्डहरू, सामुदायिक बोर्डहरू, र तेस्रो-पक्ष बोर्डहरूलाई समर्थन गर्दछ।
1.1 अन्त प्रयोगकर्ता इजाजतपत्र सम्झौता
NXP Yocto Project BSP को सेटअप वातावरण प्रक्रियाको क्रममा, NXP अन्तिम प्रयोगकर्ता लाइसेन्स सम्झौता (EULA) प्रदर्शित हुन्छ। i.MX स्वामित्व सफ्टवेयर प्रयोग गर्न जारी राख्न, प्रयोगकर्ताहरूले यस इजाजतपत्रका सर्तहरूमा सहमत हुनुपर्छ। सर्तहरूको सम्झौताले Yocto परियोजना निर्माणलाई i.MX मिररबाट प्याकेजहरू हटाउन अनुमति दिन्छ।
नोट:
यो इजाजतपत्र सम्झौता सेटअप प्रक्रियाको समयमा ध्यानपूर्वक पढ्नुहोस्, किनभने एक पटक स्वीकार गरिसकेपछि, i.MX Yocto परियोजना वातावरणमा सबै कामहरू यो स्वीकृत सम्झौतासँग जोडिएको छ।
1.2 सन्दर्भहरू
i.MX सफ्टवेयरमा समर्थित बहु परिवारहरू छन्। निम्न सूचीबद्ध परिवारहरू र प्रति परिवार SoC हरू छन्। i.MX Linux रिलीज नोटहरूले हालको रिलीजमा कुन SoC समर्थित छ भनेर वर्णन गर्दछ। केही पहिले जारी गरिएका SoCs हालको विमोचनमा निर्माण गर्न मिल्ने हुन सक्छ तर यदि तिनीहरू अघिल्लो मान्य स्तरमा छन् भने मान्य हुँदैनन्।
- i.MX 6 परिवार: 6QuadPlus, 6Quad, 6DualLite, 6SoloX, 6SLL, 6UltraLite, 6ULL, 6ULZ
- i.MX 7 परिवार: 7Dual, 7ULP
- i.MX 8 परिवार: 8QuadMax, 8QuadPlus, 8ULP
- i.MX 8M परिवार: 8M Plus, 8M Quad, 8M Mini, 8M Nano
- i.MX 8X परिवार: 8QuadXPlus, 8DXL
- i.MX 9 परिवार: i.MX 93, i.MX 95
यो विज्ञप्तिमा निम्न सन्दर्भ र थप जानकारी समावेश छ।
- i.MX Linux रिलीज नोट्स (IMXLXRN) - रिलीज जानकारी प्रदान गर्दछ।
- i.MX Linux प्रयोगकर्ताको गाइड (IMXLUG) - U-Boot र Linux OS स्थापना गर्ने र i.MX-विशेष सुविधाहरू प्रयोग गर्ने बारे जानकारी प्रदान गर्दछ।
- i.MX Yocto परियोजना प्रयोगकर्ताको गाइड (IMXLXYOCTOUG) - योक्टो प्रोजेक्ट प्रयोग गरेर NXP विकास प्रणालीहरूको लागि बोर्ड समर्थन प्याकेजको वर्णन गर्दछ होस्ट सेटअप गर्न, उपकरण चेन स्थापना गर्न, र छविहरू सिर्जना गर्न स्रोत कोड निर्माण गर्न।
- i.MX मेसिन लर्निङ प्रयोगकर्ता गाइड (IMXMLUG) - मेसिन लर्निङ जानकारी प्रदान गर्दछ।
- i.MX Linux सन्दर्भ पुस्तिका (IMXLXRM) - i.MX का लागि लिनक्स ड्राइभरहरूमा जानकारी प्रदान गर्दछ।
- i.MX ग्राफिक्स प्रयोगकर्ताको गाइड (IMXGRAPHICUG) - ग्राफिक्स सुविधाहरू वर्णन गर्दछ।
- i.MX पोर्टिङ गाइड (IMXXBSPPG) - BSP लाई नयाँ बोर्डमा पोर्ट गर्ने निर्देशनहरू प्रदान गर्दछ।
- i.MX VPU अनुप्रयोग प्रोग्रामिङ इन्टरफेस लिनक्स सन्दर्भ पुस्तिका (IMXVPUAPI) - i.MX 6 VPU मा VPU API मा सन्दर्भ जानकारी प्रदान गर्दछ।
- Harpoon User's Guide (IMXHPUG) - i.MX 8M उपकरण परिवारको लागि हार्पुन रिलीज प्रस्तुत गर्दछ।
- i.MX 8QuadMax (IMXDCHPE) को लागि i.MX डिजिटल ककपिट हार्डवेयर विभाजन सक्षमता - i.MX 8QuadMax को लागि i.MX डिजिटल ककपिट हार्डवेयर समाधान प्रदान गर्दछ।
- i.MX DSP प्रयोगकर्ताको गाइड (IMXDSPUG) - i.MX 8 को लागि DSP मा जानकारी प्रदान गर्दछ।
- i.MX 8M Plus क्यामेरा र डिस्प्ले गाइड (IMX8MPCDUG) - i.MX 8M Plus को लागि ISP स्वतन्त्र सेन्सर इन्टरफेस API मा जानकारी प्रदान गर्दछ।
- EdgeLock Enclave हार्डवेयर सुरक्षा मोड्युल API (RM00284) - यो कागजात I.MX 8ULP, i.MX 93, र i.MX 95 हार्डवेयर सुरक्षा मोड्युल (HSM) EdgeLock Enclave को लागि समाधानहरू द्वारा प्रदान गरिएको API को सफ्टवेयर सन्दर्भ विवरण हो। ELE) प्लेटफर्म।
द्रुत सुरुवात गाइडहरूले बोर्डमा आधारभूत जानकारी समावेश गर्दछ र यसलाई सेटअप गर्दछ। तिनीहरू NXP मा छन् webसाइट।
- SABER प्लेटफर्म क्विक स्टार्ट गाइड (IMX6QSDPQSG)
- i.MX 6UltraLite EVK क्विक स्टार्ट गाइड (IMX6ULTRALITEQSG)
- i.MX 6ULL EVK क्विक स्टार्ट गाइड (IMX6ULLQSG)
- i.MX 7Dual SABRE-SD क्विक स्टार्ट गाइड (SABRESDBIMX7DUALQSG)
- i.MX 8M Quad Evaluation Kit Quick Start Guide (IMX8MQUADEVKQSG)
- i.MX 8M Mini Evaluation Kit Quick Start Guide (8MMINIEVKQSG)
- i.MX 8M Nano Evaluation Kit Quick Start Guide (8MNANOEVKQSG)
- i.MX 8QuadXPlus Multisensory Enablement Kit Quick Start Guide (IMX8QUADXPLUSQSG)
- i.MX 8QuadMax Multisensory Enablement Kit Quick Start Guide (IMX8QUADMAXQSG)
- i.MX 8M प्लस मूल्याङ्कन किट क्विक स्टार्ट गाइड (IMX8MPLUSQSG)
- i.MX 8ULP EVK क्विक स्टार्ट गाइड (IMX8ULPQSG)
- i.MX 8ULP EVK9 क्विक स्टार्ट गाइड (IMX8ULPEVK9QSG)
- i.MX 93 EVK क्विक स्टार्ट गाइड (IMX93EVKQSG)
- i.MX 93 9×9 QSB क्विक स्टार्ट गाइड (93QSBQSG)
कागजात अनलाइन मा उपलब्ध छ nxp.com.
- i.MX 6 जानकारी मा छ nxp.com/iMX6series.
- i.MX SABER जानकारी मा छ nxp.com/imxSABRE.
- i.MX 6UltraLite जानकारी मा छ nxp.com/iMX6UL.
- i.MX 6ULL जानकारी मा छ nxp.com/iMX6ULL.
- i.MX 7Dual information मा छ nxp.com/iMX7D.
- i.MX 7ULP जानकारी मा छ nxp.com/imx7ulp.
- i.MX 8 जानकारी मा छ nxp.com/imx8.
- i.MX 6ULZ जानकारी मा छ nxp.com/imx6ulz.
- i.MX 93 जानकारी मा छ nxp.com/imx93.
- i.MX 95 जानकारी मा छ nxp.com/imx95.
सुविधाहरू
i.MX Yocto परियोजना रिलीज तहहरूमा निम्न सुविधाहरू छन्:
- लिनक्स कर्नेल नुस्खा
- कर्नेल रेसिपी रेसिपी-कर्नेल फोल्डरमा रहन्छ र i.MX Git सर्भरबाट डाउनलोड गरिएको स्रोतबाट i.MX कर्नेललाई एकीकृत गर्दछ। यो परियोजना मा व्यञ्जनहरु द्वारा स्वचालित रूपमा गरिन्छ।
- LF6.6.3_1.0.0 योक्टो प्रोजेक्टको लागि जारी गरिएको लिनक्स कर्नेल हो। - U-बुट नुस्खा
- U-Boot रेसिपी रेसिपी-bsp फोल्डरमा रहन्छ र i.MX Git सर्भरबाट डाउनलोड गरिएको स्रोतबाट i.MX uboot-imx.git लाई एकीकृत गर्दछ।
- i.MX 6.6.3, i.MX 1.0.0, i.MX 6, i.MX 7, र i.MX 8 यन्त्रहरूले अपडेट गरिएको v93 i.MX U- को लागि LF95_2023.04 रिलीज गर्दछ बुट संस्करण। यो संस्करण सबै i.MX हार्डवेयरको लागि अद्यावधिक गरिएको छैन।
- i.MX Yocto परियोजना समुदाय BSP ले मेनलाइनबाट u-boot-fslc प्रयोग गर्छ, तर यो U-Boot समुदायद्वारा मात्र समर्थित छ र L6.6.3 कर्नेलसँग समर्थित छैन।
- i.MX Yocto परियोजना समुदाय BSP ले U-Boot संस्करणहरू बारम्बार अद्यावधिक गर्दछ, त्यसैले माथिको जानकारी परिवर्तन हुन सक्छ किनभने नयाँ U-Boot संस्करणहरू मेटा-फ्रीस्केल तहहरूमा एकीकृत हुन्छन् र i.MX uboot-imx रिलीजहरूबाट अद्यावधिकहरू एकीकृत हुन्छन्। मुख्य लाइन। - ग्राफिक्स व्यञ्जनहरु
- ग्राफिक्स रेसिपीहरू रेसिपी-ग्राफिक्स फोल्डरमा रहन्छन्।
- ग्राफिक्स रेसिपीहरूले i.MX ग्राफिक्स प्याकेज रिलीजलाई एकीकृत गर्दछ। GPU भएका i.MX बोर्डहरूको लागि, imx-gpu-viv रेसिपीहरूले प्रत्येक DISTRO: फ्रेम बफर (FB), XWayland, Wayland ब्याकएन्ड, र Weston कम्पोजिटर (वेस्टन) का ग्राफिक अवयवहरू प्याकेज गर्दछ। केवल i.MX 6 र i.MX 7 समर्थन फ्रेम बफर।
- Xorg-driver ले xserver-xorg लाई एकीकृत गर्दछ। - i.MX प्याकेज रेसिपी फर्मवेयर-imx, imx-sc-fimrware, र अन्य प्याकेजहरू रेसिपी-bsp मा रहन्छन् र छवि रेसिपीहरूमा बनाउन र प्याकेज गर्न i.MX मिररबाट तान्नुहोस्।
- मल्टिमिडिया व्यञ्जनहरु
- मल्टिमिडिया रेसिपीहरू रेसिपीहरूमा रहन्छन् - मल्टिमिडिया।
- स्वामित्व प्याकेजहरू जस्तै imx-codec र imx-parser मा चित्र रेसिपीहरू बनाउन र प्याकेज गर्न i.MX मिररबाट रेसिपीहरू छन्।
- ओपनसोर्स प्याकेजहरूमा रेसिपीहरू छन् जुन GitHub मा सार्वजनिक Git Repos बाट तानिन्छ।
- केही व्यञ्जनहरू कोडेकहरूका लागि प्रदान गरिएका छन् जुन प्रतिबन्धित छन्। यीका लागि प्याकेजहरू i.MX मिररमा छैनन्।
यी प्याकेजहरू छुट्टै उपलब्ध छन्। यी प्राप्त गर्न आफ्नो i.MX मार्केटिङ प्रतिनिधिलाई सम्पर्क गर्नुहोस्। - कोर व्यञ्जनहरु
नियमहरूका लागि केही व्यञ्जनहरू, जस्तै udev, अद्यावधिक गरिएका i.MX नियमहरू प्रणालीमा लागू गर्न प्रदान गर्दछ। यी व्यञ्जनहरू सामान्यतया नीतिको अद्यावधिकहरू हुन् र अनुकूलनका लागि मात्र प्रयोग गरिन्छ। विज्ञप्तिले आवश्यक भएमा मात्र अद्यावधिकहरू प्रदान गर्दछ। - डेमो व्यञ्जनहरु
मेटा-sdk डाइरेक्टरीमा प्रदर्शन रेसिपीहरू छन्। यस तहमा छवि रेसिपीहरू र अनुकूलनका लागि रेसिपीहरू समावेश छन्, जस्तै टच क्यालिब्रेसन, वा प्रदर्शन अनुप्रयोगहरूको लागि रेसिपीहरू। - मेसिन लर्निंग रेसिपीहरू
मेसिन लर्निङ रेसिपीहरू मेटा-एमएल डाइरेक्टरीमा रहन्छन्। यो तहले प्याकेजहरू जस्तै tensorflow-lite, onnx, र यस्तै अन्यका लागि मेसिन लर्निङ रेसिपीहरू समावेश गर्दछ। - ककपिट व्यञ्जनहरु
ककपिट रेसिपीहरू मेटा-ककपिटमा रहन्छन् र i.MX 8QuadMax मा imx-8qmcockpit-mek मेसिन कन्फिगरेसन प्रयोग गरी समर्थित छन्।
लेयर मेटा-एनएक्सपी-डेमो-अनुभवमा, थप प्रदर्शन र उपकरण रेसिपीहरू समावेश छन्। यो तह सबै जारी गरिएका पूर्ण छविहरूमा समावेश गरिएको छ।
होस्ट सेटअप
लिनक्स होस्ट मेसिनमा Yocto परियोजना अपेक्षित व्यवहार प्राप्त गर्न, तल वर्णन गरिएका प्याकेजहरू र उपयोगिताहरू स्थापना हुनुपर्छ। एउटा महत्त्वपूर्ण विचार होस्ट मेसिनमा आवश्यक हार्ड डिस्क ठाउँ हो। पूर्वका लागिampले, Ubuntu चलिरहेको मेसिनमा निर्माण गर्दा, न्यूनतम हार्ड डिस्क स्पेस आवश्यक छ लगभग 50 GB। यो सिफारिस गरिन्छ कि कम्तिमा 120 GB प्रदान गरिएको छ, जुन सबै ब्याकएन्डहरू सँगै कम्पाइल गर्न पर्याप्त छ। मेसिन लर्निङ कम्पोनेन्टहरू निर्माण गर्न, कम्तिमा 250 GB सिफारिस गरिन्छ।
सिफारिस गरिएको न्यूनतम Ubuntu संस्करण 20.04 वा पछिको हो। पछिल्लो रिलीजले क्रोमियम v91 लाई समर्थन गर्दछ, जसलाई ulimit (खुलाको संख्या) मा वृद्धि आवश्यक छ files) 4098 सम्म।
3.1 डकर
i.MX ले अब डकर सेटअप स्क्रिप्टहरू जारी गर्दैछ GitHub - nxp-imx/imx-docker: i.MX डकर। डकर प्रयोग गरेर होस्ट बिल्ड मेसिन सेटअप गर्नको लागि रीडमीमा निर्देशनहरू पालना गर्नुहोस्।
थप रूपमा बोर्डमा डकरलाई i.MX 8 मा मात्र मेटा-भर्चुअलाइजेशन तह समावेश गरेर मानक म्यानिफेस्टसँग सक्षम पारिएको छ। यसले बाह्य डकर हबहरूबाट डकर कन्टेनरहरू स्थापना गर्नको लागि हेडलेस प्रणाली सिर्जना गर्दछ।
3.2 होस्ट प्याकेजहरू
Yocto परियोजना निर्माणको लागि विशेष प्याकेजहरू स्थापना गर्न आवश्यक छ जुन योcto परियोजना अन्तर्गत दस्तावेज गरिएको छ। जाऊ त्यहाँ योक्टो प्रोजेक्ट द्रुत सुरुवात र प्याकेजहरूको लागि जाँच गर्नुहोस् जुन तपाईंको निर्माण मेसिनको लागि स्थापना हुनुपर्छ।
आवश्यक योक्टो प्रोजेक्ट होस्ट प्याकेजहरू हुन्:
$ sudo apt स्थापना गर्नुहोस् gawk wget git diffstat अनजिप texinfo gcc बिल्ड-आवश्यक \chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils \iputils-ping python3-git python3-bspjl2-jpd1-bd1.2-git। subunit mesa-common-dev zstd liblz3-उपकरण file locales -y
$ sudo locale-gen en_US.UTF-8
कन्फिगरेसन उपकरणले तपाईंको निर्माण मेसिनमा रहेको grep को पूर्वनिर्धारित संस्करण प्रयोग गर्दछ। यदि तपाईंको मार्गमा grep को फरक संस्करण छ भने, यसले निर्माणहरू असफल हुन सक्छ। एउटा उपाय भनेको विशेष संस्करणलाई "grep" समावेश नगरेको कुरामा पुन: नामाकरण गर्नु हो।
3.3 रेपो उपयोगिता सेटअप गर्दै
रेपो Git को शीर्ष मा निर्मित एक उपकरण हो जसले धेरै भण्डारहरू समावेश गर्ने परियोजनाहरू प्रबन्ध गर्न सजिलो बनाउँदछ, जुन एउटै सर्भरमा हुनु आवश्यक छैन। रेपोले योक्टो प्रोजेक्टको स्तरित प्रकृतिलाई राम्रोसँग पूरक बनाउँछ, जसले प्रयोगकर्ताहरूलाई BSP मा आफ्नै तहहरू थप्न सजिलो बनाउँछ।
"रेपो" उपयोगिता स्थापना गर्न, यी चरणहरू गर्नुहोस्:
- गृह डाइरेक्टरीमा बिन फोल्डर सिर्जना गर्नुहोस्।
$ mkdir ~/bin (यदि बिन फोल्डर पहिले नै अवस्थित छ भने यो चरण आवश्यक नहुन सक्छ)
$ गurl https://storage.googleapis.com/git-repo-downloads/repo>~/bin/repo
$ chmod a+x ~/bin/repo - .bashrc मा निम्न लाइन थप्नुहोस् file ~/bin फोल्डर तपाईको PATH चरमा छ भनी सुनिश्चित गर्न।
निर्यात PATH=~/bin:$PATH
योक्टो प्रोजेक्ट सेटअप
पहिले, निश्चित गर्नुहोस् कि Git तलका आदेशहरूसँग ठीकसँग सेट अप गरिएको छ:
$ git config -global user.name "Your Name"
$ git config -global user.email "तपाईंको इमेल"
$ git कन्फिगरेसन सूची
i.MX Yocto Project BSP रिलीज डाइरेक्टरीले स्रोत डाइरेक्टरी समावेश गर्दछ, जसमा एक वा बढी निर्माण डाइरेक्टरीहरू निर्माण गर्न प्रयोग गरिने रेसिपीहरू र वातावरण सेटअप गर्न प्रयोग गरिएका लिपिहरूको सेट समावेश हुन्छ।
परियोजना निर्माण गर्न प्रयोग गरिने रेसिपीहरू समुदाय र i.MX दुवैबाट आउँछन्। योक्टो प्रोजेक्ट लेयरहरू स्रोत डाइरेक्टरीमा डाउनलोड हुन्छन्। यसले परियोजना निर्माण गर्न प्रयोग गरिने व्यञ्जनहरू सेट अप गर्दछ।
निम्न पूर्वample ले कसरी i.MX Yocto परियोजना समुदाय BSP रेसिपी तहहरू डाउनलोड गर्ने भनेर देखाउँछ। यसका लागि पूर्वampले, परियोजनाको लागि imx-yocto-bsp नामक डाइरेक्टरी सिर्जना गरिएको छ। यसको सट्टा कुनै पनि नाम प्रयोग गर्न सकिन्छ।
$ mkdir imx-yocto-bsp
$ cd imx-yocto-bsp
$ repo init -u https://github.com/nxp-imx/imx-manifest
-b imx-linux-nanbield -m imx-6.6.3-1.0.0.xml
$ repo सिंक
नोट:
https://github.com/nxp-imx/imx-manifest/tree/imx-linux-nanbield सबै manifest को सूची छ fileयस विमोचनमा समर्थित छ।
यो प्रक्रिया पूरा भएपछि, स्रोत कोड डाइरेक्टरी imx-yocto-bsp/sources मा जाँच गरिन्छ।
तपाईले पछिल्लो कोडमा अद्यावधिक गर्नको लागि आवधिक रूपमा कमाण्ड रेपो सिङ्कको साथ, रेपो सिङ्क्रोनाइजेसन गर्न सक्नुहुन्छ।
यदि रेपो प्रारम्भिकरणको क्रममा त्रुटिहरू देखा पर्छन् भने, .repo डाइरेक्टरी मेटाउने प्रयास गर्नुहोस् र पुन: रिपो प्रारम्भिक आदेश चलाउनुहोस्।
रेपो इनिट लाई लाइन मा नवीनतम प्याच को लागी कन्फिगर गरिएको छ। अनुक्रमणिकामा निर्देशनहरू पालना गर्नुहोस्: imx-manifest.git मूल GA पुन: प्राप्त गर्न। अन्यथा, GA प्लस प्याचहरू पूर्वनिर्धारित रूपमा उठाइन्छ। zeus आधारबाट अघिल्लो रिलीजहरू उठाउन, रेपो प्रारम्भिक रेखाको अन्त्यमा -m (रिलिज प्रकट नाम) जोड्नुहोस् र यसले अघिल्लो रिलीजहरू पुन: प्राप्त गर्नेछ। उदाamples README मा प्रदान गरिएको छ file माथि दिइएको लिङ्कमा।
छवि निर्माण
यो खण्डले छवि निर्माण गर्ने प्रक्रियासँगै विस्तृत जानकारी प्रदान गर्दछ।
5.1 कन्फिगरेसनहरू निर्माण गर्नुहोस्
i.MX ले स्क्रिप्ट प्रदान गर्दछ, imx-setup-release.sh, जसले i.MX मेसिनहरूको सेटअपलाई सरल बनाउँछ। स्क्रिप्ट प्रयोग गर्नको लागि, आवश्यकताहरूको लागि निर्माण गर्नको लागि निर्दिष्ट मेसिनको नाम र साथै इच्छित ग्राफिकल ब्याकइन्ड निर्दिष्ट गर्नुपर्छ।
लिपिले डाइरेक्टरी र कन्फिगरेसन सेट अप गर्दछ files निर्दिष्ट मेसिन र ब्याकइन्डको लागि।
meta-imx तहमा, i.MX ले मेटाफ्रीस्केल मेसिन कन्फिगरेसनहरू ओभरले गर्ने नयाँ वा अद्यावधिक गरिएको मेसिन कन्फिगरेसनहरू प्रदान गर्दछ। यी files लाई imx-setup-release.sh स्क्रिप्टद्वारा meta-freescale/conf/machine डाइरेक्टरीमा प्रतिलिपि गरिएको छ। निम्न i.MX मेसिन कन्फिगरेसन हुन् files चयन गर्न सकिन्छ। नवीनतम थपहरूको लागि रिलीज नोटहरू वा मेसिन डाइरेक्टरी जाँच गर्नुहोस्।
| i.MX 6 | i.MX 7 | i.MX 8 | i.MX 9 |
| • imx6qpsabresd • imx6ulevk • imx6ulz-14x14evk • imx6ull14x14evk • imx6ull9x9evk • imx6dlsabresd • imx6qsabresd • imx6solosabresd • imx6sxsabresd • imx6sllevk |
• imx7dsabresd • imx7ulpevk |
• imx8qmmek • imx8qxpc0mek • imx8mqevk • imx8mm-lpddr4-evk • imx8mm-ddr4-evk • imx8mn-lpddr4-evk • imx8mn-ddr4-evk • imx8mp-lpddr4-evk • imx8mp-ddr4-evk • imx8dxla1-lpddr4-evk • imx8dxlb0-lpddr4-evk • imx8dxlb0-ddr3l-evk • imx8mnddr3levk • imx8ulp-lpddr4-evk • imx8ulp-9×9-lpddr4evk |
• imx93evk • imx93-11x11lpddr4x-evk • imx93-9×9-lpddr4qsb • imx93-14x14lpddr4x-evk |
प्रत्येक बिल्ड फोल्डर यस्तो तरिकाले कन्फिगर गरिनु पर्छ कि तिनीहरू केवल एक डिस्ट्रो प्रयोग गर्दछ। प्रत्येक पटक चल DISTRO_FEATURES परिवर्तन हुन्छ, सफा निर्माण फोल्डर आवश्यक छ। प्रत्येक ग्राफिकल ब्याकइन्ड फ्रेम बफर, Wayland, र XWayland प्रत्येकसँग डिस्ट्रो कन्फिगरेसन छ। यदि DISTRO छैन file निर्दिष्ट गरिएको छ, XWayland डिस्ट्रो पूर्वनिर्धारित रूपमा सेट अप गरिएको छ। डिस्ट्रो कन्फिगरेसनहरू local.conf मा बचत गरिएका छन् file DISTRO सेटिङमा र बिटबेक चलिरहेको बेला प्रदर्शित हुन्छ। विगतका रिलीजहरूमा, हामीले हाम्रो layer.conf मा पोकी डिस्ट्रो र अनुकूलित संस्करणहरू र प्रदायकहरू प्रयोग गर्यौं तर अनुकूलन डिस्ट्रो राम्रो समाधान हो। जब पूर्वनिर्धारित पोकी डिस्ट्रो प्रयोग गरिन्छ, पूर्वनिर्धारित समुदाय कन्फिगरेसन प्रयोग गरिन्छ। i.MX रिलीजको रूपमा, हामी NXP ले समर्थन गर्ने र परीक्षण गरिरहेको कन्फिगरेसनको सेट राख्न रुचाउँछौं।
यहाँ DISTRO कन्फिगरेसनहरूको सूची हो। ध्यान दिनुहोस् कि fsl-imx-fb i.MX 8 मा समर्थित छैन र fsl-imxx11 अब समर्थित छैन।
- fsl-imx-wayland: शुद्ध Wayland ग्राफिक्स।
- fsl-imx-xwayland: Wayland ग्राफिक्स र X11। EGL प्रयोग गर्ने X11 अनुप्रयोगहरू समर्थित छैनन्।
- fsl-imx-fb: फ्रेम बफर ग्राफिक्स - X11 वा Wayland छैन। फ्रेम बफर i.MX 8 र i.MX 9 मा समर्थित छैन।
प्रयोगकर्ताहरूलाई आफ्नै डिस्ट्रो सिर्जना गर्न स्वागत छ file स्थानीय.conf अद्यावधिक नगरी रुचाइएको संस्करण र प्रदायकहरू सेट गर्न तिनीहरूको वातावरण अनुकूलन गर्न यी मध्ये एकमा आधारित।
imx-setup-release.sh लिपिको लागि सिन्ट्याक्स तल देखाइएको छ:
$ DISTRO = मेसिन = स्रोत imx-setup-release.sh -b
DISTRO = डिस्ट्रो हो, जसले निर्माण वातावरण कन्फिगर गर्दछ र यो meta-imx/meta-sdk/conf/distro मा भण्डारण गरिन्छ।
मेसिन = कन्फिगरेसनमा देखाउने मेसिनको नाम हो file conf/machine in meta-freescale र meta-imx मा।
-b imx-setup-release.sh स्क्रिप्ट द्वारा सिर्जना गरिएको निर्माण डाइरेक्टरीको नाम निर्दिष्ट गर्दछ।
जब स्क्रिप्ट चलाइन्छ, यसले प्रयोगकर्तालाई EULA स्वीकार गर्न संकेत गर्छ। EULA स्वीकृत भएपछि, स्वीकृति प्रत्येक बिल्ड फोल्डर भित्र local.conf मा भण्डारण गरिन्छ र EULA स्वीकृति क्वेरी अब त्यो निर्माण फोल्डरको लागि प्रदर्शित हुँदैन।
स्क्रिप्ट चलिसकेपछि, काम गर्ने डाइरेक्टरी भनेको स्क्रिप्टद्वारा सिर्जना गरिएको हो, -b विकल्पसँग निर्दिष्ट गरिएको छ। कन्फ फोल्डर समावेश गरी सिर्जना गरिएको छ files bblayers.conf र local.conf।
द /conf/bblayers.conf file i.MX Yocto परियोजना रिलीजमा प्रयोग गरिएका सबै मेटालेयरहरू समावेश गर्दछ।
local.conf file मेसिन र डिस्ट्रो विनिर्देशहरू समावेश छन्:
मेसिन ?= 'imx7ulpevk'
DISTRO?= 'fsl-imx-xwayland'
ACCEPT_FSL_EULA = "१"
मेशिन कन्फिगरेसन यसलाई सम्पादन गरेर परिवर्तन गर्न सकिन्छ file, यदि आवश्यक हो।
ACCEPT_FSL_EULA local.conf मा file तपाईंले EULA का सर्तहरू स्वीकार गर्नुभएको छ भनी सङ्केत गर्दछ।
meta-imx तहमा, i.MX 6 र i.MX 6 मेसिनहरूको लागि समेकित मेसिन कन्फिगरेसनहरू (imx7qpdlsolox.conf र imx6ul7d.conf) प्रदान गरिन्छ। i.MX ले परीक्षणको लागि एउटै छविमा सबै उपकरण रूखहरूसँग साझा छवि निर्माण गर्न प्रयोग गर्दछ। यी मेसिनहरू परीक्षण बाहेक अरू कुनै कामको लागि प्रयोग नगर्नुहोस्।
5.2 i.MX Yocto परियोजना छवि छनोट गर्दै
Yocto परियोजनाले विभिन्न तहहरूमा उपलब्ध केही छविहरू प्रदान गर्दछ। पोकीले केही छविहरू प्रदान गर्दछ, मेटा-फ्रीस्केल र मेटा-फ्रीस्केल-डिस्ट्रोले अरूलाई प्रदान गर्दछ, र अतिरिक्त छवि रेसिपीहरू मेटा-इमक्स तहमा प्रदान गरिन्छ। निम्न तालिकाले विभिन्न कुञ्जी छविहरू, तिनीहरूको सामग्रीहरू, र छवि रेसिपीहरू प्रदान गर्ने तहहरू सूचीबद्ध गर्दछ।
तालिका 1. i.MX Yocto परियोजना छविहरू
| छविको नाम | लक्ष्य | तह द्वारा प्रदान |
| कोर-छवि-न्यूनतम | एउटा सानो छवि जसले यन्त्रलाई मात्र बुट गर्न अनुमति दिन्छ। | पोकी |
| कोर-छवि-आधार | लक्ष्य यन्त्र हार्डवेयरलाई पूर्ण रूपमा समर्थन गर्ने कन्सोल मात्र छवि। | पोकी |
| कोर-छवि-साटो | Sato को साथ एक छवि, एक मोबाइल वातावरण र मोबाइल उपकरणहरूको लागि दृश्य शैली। छविले Sato विषयवस्तुलाई समर्थन गर्दछ र Pimlico अनुप्रयोगहरू प्रयोग गर्दछ। यसमा टर्मिनल, सम्पादक र ए file प्रबन्धक। | पोकी |
| imx-image-core | Wayland ब्याकएन्डका लागि i.MX परीक्षण अनुप्रयोगहरू प्रयोग गरिने i.MX छवि। यो छवि हाम्रो दैनिक कोर परीक्षण द्वारा प्रयोग गरिन्छ। | meta-imx/meta-sdk |
| fsl-छवि-मेसिन- परीक्षण | कन्सोल वातावरणको साथ एक FSL समुदाय i.MX कोर छवि - कुनै GUI इन्टरफेस छैन। | मेटा-फ्रीस्केल-डिस्ट्रो |
| imx-छवि-मल्टीमिडिया | कुनै पनि Qt सामग्री बिना GUI सँग i.MX छवि बनाउँछ। | meta-imx/meta-sdk |
| imx-छवि-पूर्ण | मेशिन लर्निङ सुविधाहरूको साथ खुला स्रोत Qt 6 छवि बनाउँछ। यी छविहरू हार्डवेयर ग्राफिक्सको साथ i.MX SoC को लागि मात्र समर्थित छन्। तिनीहरू i.MX 6UltraLite, i.MX 6UltraLiteLite, i.MX 6SLL, [MX 7Dual, i.MX 8MNanoLite, वा i.MX 8DXL मा समर्थित छैनन्। | meta-imx/meta-sdk |
5.3 छवि निर्माण गर्दै
योक्टो परियोजना निर्माणले बिटबेक आदेश प्रयोग गर्दछ। पूर्वका लागिample, bitbake नामित घटक निर्माण गर्दछ। प्रत्येक कम्पोनेन्ट निर्माणमा धेरै कार्यहरू हुन्छन्, जस्तै ल्याउने, कन्फिगरेसन, संकलन, प्याकेजिङ्ग, र लक्षित rootfs मा तैनाती। बिटबेक छवि निर्माणले छवि द्वारा आवश्यक सबै कम्पोनेन्टहरू जम्मा गर्दछ र प्रति कार्य निर्भरताको क्रममा निर्माण गर्दछ। पहिलो बिल्ड भनेको टुलचेन हो र कम्पोनेन्टहरू निर्माण गर्नका लागि आवश्यक उपकरणहरू।
निम्न आदेश एक पूर्व होampकसरी छवि निर्माण गर्ने बारे जान्नुहोस्:
$ bitbake imx-image-multimedia
5.4 बिटबेक विकल्पहरू
छवि निर्माण गर्न प्रयोग गरिएको bitbake आदेश bitbake हो । थप प्यारामिटरहरू तल वर्णन गरिएका विशेष गतिविधिहरूको लागि प्रयोग गर्न सकिन्छ। Bitbake एकल घटक विकास गर्न विभिन्न उपयोगी विकल्पहरू प्रदान गर्दछ। बिटबेक प्यारामिटरको साथ चलाउनको लागि, आदेश यस्तो देखिन्छ: बिटबेक एक इच्छित निर्माण प्याकेज हो।
निम्न तालिकाले केही बिटबेक विकल्पहरू प्रदान गर्दछ।
तालिका २. बिटबेक विकल्पहरू
| बिटबेक प्यारामिटर | विवरण |
| -c ल्याउनुहोस् | डाउनलोड स्थिति सम्पन्न भनी चिन्ह लगाइएको छैन भने ल्याउँछ। |
| -c सफा गर्नुहोस् | सम्पूर्ण कम्पोनेन्ट निर्माण डाइरेक्टरी सफा गर्दछ। निर्माण डाइरेक्टरीमा भएका सबै परिवर्तनहरू हराएका छन्। कम्पोनेन्टको जरा र अवस्था पनि सफा गरिन्छ। कम्पोनेन्ट डाउनलोड डाइरेक्टरीबाट पनि हटाइएको छ। |
| -c तैनाती | rootfs मा छवि वा कम्पोनेन्ट तैनात गर्दछ। |
| -k | बिल्ड ब्रेक भए तापनि निर्माण कम्पोनेन्टहरू जारी राख्नुहोस्। |
| -c संकलन -f | अस्थायी डाइरेक्टरी अन्तर्गतको स्रोत कोड सीधै परिवर्तन गर्न सिफारिस गरिएको छैन, तर यदि यो हो भने, यो विकल्प प्रयोग नगरेसम्म Yocto परियोजनाले यसलाई पुन: निर्माण गर्न सक्दैन। छवि तैनात गरिसकेपछि पुन: कम्पाइल गर्न यो विकल्प प्रयोग गर्नुहोस्। |
| -g | छवि वा कम्पोनेन्टको लागि निर्भरता रूखलाई सूचीबद्ध गर्दछ। |
| -DDD | डिबग ३ स्तर गहिरो खोल्छ। प्रत्येक D ले डिबगको अर्को स्तर थप्छ। |
| -s, -शो-संस्करण | सबै व्यञ्जनहरु को वर्तमान र रुचाइएको संस्करण देखाउँछ। |
5.5 U-Boot कन्फिगरेसन
U-Boot कन्फिगरेसनहरू मुख्य मेसिन कन्फिगरेसनमा परिभाषित छन् file। कन्फिगरेसन UBOOT_CONFIG सेटिङहरू प्रयोग गरेर निर्दिष्ट गरिएको छ। यो स्थानीय.conf मा UBOOT_CONFIG सेट गर्न आवश्यक छ। अन्यथा, U-Boot बिल्डले पूर्वनिर्धारित रूपमा SD बुट प्रयोग गर्दछ।
यी निम्न आदेशहरू प्रयोग गरेर छुट्टै निर्माण गर्न सकिन्छ (सही लक्ष्यमा MACHINE परिवर्तन गर्नुहोस्)।
धेरै U-Boot कन्फिगरेसनहरू U-Boot कन्फिगरेसनहरू बीच खाली ठाउँहरू राखेर एउटा आदेशद्वारा निर्माण गर्न सकिन्छ।
निम्न प्रत्येक बोर्डहरूको लागि U-Boot कन्फिगरेसनहरू छन्। i.MX 6 र i.MX 7 बोर्डहरूले SD लाई OPTEE बिना र OP-TEE सँग समर्थन गर्दछ:
- uboot_config_imx93evk="sd fspi"
- uboot_config_imx8mpevk="sd fspi ecc"
- uboot_config_imx8mnevk="sd fspi"
- uboot_config_imx8mmevk="sd fspi"
- uboot_config_imx8mqevk="sd"
- uboot_config_imx8dxlevk="sd fspi"
- uboot_conifg_imx8dxmek = "sd fspi"
- uboot_config_imx8qxpc0mek = "sd fspi"
- uboot_config_imx8qxpmek = "sd fspi"
- uboot_config_imx8qmmek="sd fspi"
- uboot_config_imx8ulpevk="sd fspi"
- uboot_config_imx8ulp-9×9-lpddr4-evk="sd fspi"
- uboot_config_imx6qsabresd = "sd sata sd-optee"
- uboot_config_imx6qsabreauto="sd sata eimnor spinor nand sd-optee"
- uboot_config_imx6dlsabresd = "sd epdc sd-optee"
- uboot_config_imx6dlsabreauto = "sd eimnor spinor nand sd-optee"
- uboot_config_imx6solosabresd = "sd sd-optee"
- uboot_config_imx6solosabreauto="sd eimnor spinor nand sd-optee"
- uboot_config_imx6sxsabresd="sd emmc qspi2 m4fastup sd-optee"
- uboot_config_imx6sxsabeauto = "sd qspi1 र sd-optee"
- uboot_config_imx6qpsabreauto="sd sata eimnor spinor nand sd-optee"
- uboot_config_imx6qpsabresd = "sd sata sd-optee"
- uboot_config_imx6sllevk = "sd epdc sd-optee"
- uboot_config_imx6ulevk="sd emmc qspi1 sd-optee"
- uboot_config_imx6ul9x9evk="sd qspi1 sd-optee"
- uboot_config_imx6ull14x14evk="sd emmc qspi1 र sd-optee"
- uboot_config_imx6ull9x9evk="sd qspi1 sd-optee"
- uboot_config_imx6ulz14x14evk="sd emmc qspi1 र sd-optee"
- uboot_config_imx7dsabresd = "sd epdc qspi1 र sd-optee"
- uboot_config_imx7ulpevk="sd emmc sd-optee"
कुनै पनि U-Boot कन्फिगरेसनसँग निर्माण गर्न, निम्न चरणहरू गर्नुहोस्।
केवल एक U-Boot कन्फिगरेसन संग:
$ echo "UBOOT_CONFIG = \"eimnor\"" >> conf/local.conf
धेरै U-Boot कन्फिगरेसन संग:
$ echo "UBOOT_CONFIG = \"sd eimnor\"" >> conf/local.conf
$ मेसिन = bitbake -c deploy u-boot-imx
नोट: i.MX 8 ले U-Boot मा तान्ने imx-boot प्रयोग गर्दछ।
5.6 परिदृश्यहरू निर्माण गर्नुहोस्
निम्न विभिन्न कन्फिगरेसनहरूको लागि निर्माण सेटअप परिदृश्यहरू छन्।
म्यानिफेस्ट सेट अप गर्नुहोस् र यी आदेशहरूसँग योक्टो प्रोजेक्ट तह स्रोतहरू भर्नुहोस्:
$ mkdir imx-yocto-bsp
$ cd imx-yocto-bsp
$ repo init -u https://github.com/nxp-imx/imx-manifest
-b imx-linux-nanbield -m imx-6.6.3-1.0.0.xml
$ repo सिंक
निम्न खण्डहरूले केही विशिष्ट पूर्व दिन्छampलेस। आदेशहरू अनुकूलन गर्न निर्दिष्ट गरिएका मेसिन नामहरू र ब्याकइन्डहरू बदल्नुहोस्।
5.6.1 i.MX 6QuadPlus SABRE-AI मा फ्रेम बफर छवि
$ DISTRO=fsl-imx-fb MACHINE=imx6qpsabreauto स्रोत imx-setup-release.sh –b build-fb
$ bitbake imx-image-multimedia
यसले फ्रेम बफर ब्याकइन्डसँग मल्टिमिडिया छवि बनाउँछ।
i.MX 5.6.2QuadXPlus MEK मा 8 XWayland छवि
$ DISTRO=fsl-imx-xwayland MACHINE=imx8qxpmek स्रोत imx-setup-release.sh -b build-xwayland
$ bitbake imx-छवि-पूर्ण
यसले Qt 6 र मेसिन लर्निङ सुविधाहरू सहितको XWayland छवि बनाउँछ। Qt 6 र मेसिन लर्निङ बिना निर्माण गर्न, यसको सट्टा imx-image-multimedia प्रयोग गर्नुहोस्।
i.MX 5.6.3M Quad EVK मा 8 Wayland छवि
$ DISTRO=fsl-imx-wayland MACHINE=imx8mqevk स्रोत imx-setup-release.sh -b buildwayland
$ bitbake imx-image-multimedia
यसले Qt 6 बिना मल्टिमिडियाको साथ वेस्टन वेल्याण्ड छवि बनाउँछ।
5.6.4 निर्माण वातावरण पुन: सुरु गर्दै
यदि नयाँ टर्मिनल सञ्झ्याल खोलिएको छ वा निर्माण डाइरेक्टरी सेटअप पछि मेसिन रिबुट गरिएको छ भने, सेटअप वातावरण स्क्रिप्ट वातावरण चर सेटअप गर्न र पुन: निर्माण चलाउन प्रयोग गर्नुपर्छ। पूर्ण imxsetup-release.sh आवश्यक छैन।
$ स्रोत सेटअप-पर्यावरण
5.6.5 XWayland र Wayland मा क्रोमियम ब्राउजर
Yocto Project समुदायसँग GPU हार्डवेयरको साथ i.MX SoC को लागि Wayland संस्करण क्रोमियम ब्राउजरको लागि क्रोमियम रेसिपीहरू छन्। NXP ले समुदायबाट प्याचहरूलाई समर्थन वा परीक्षण गर्दैन। यस खण्डले कसरी क्रोमियमलाई तपाइँको rootfs मा एकीकृत गर्ने र हार्डवेयर एक्सेलेरेटेड रेन्डरिङ सक्षम गर्ने भनेर वर्णन गर्दछ। WebGL। क्रोमियम ब्राउजरलाई imx-release-setup.sh स्क्रिप्टमा स्वचालित रूपमा थपिएको मेटा-ब्राउजर जस्ता थप तहहरू चाहिन्छ।
XWayland वा Wayland को लागि local.conf मा, आफ्नो छविमा Chromium थप्नुहोस्। X11 समर्थित छैन।
CORE_IMAGE_EXTRA_INSTALL += "क्रोमियम-ओजोन-वेल्याण्ड"
५.६.६ Qt ६ र QtWebइन्जिन ब्राउजरहरू
Qt 6 सँग व्यावसायिक र खुला स्रोत इजाजतपत्र दुवै छ। योक्टो परियोजनामा निर्माण गर्दा, खुला स्रोत इजाजतपत्र पूर्वनिर्धारित हुन्छ। यी इजाजतपत्रहरू बीचको भिन्नताहरू बुझ्न र उपयुक्त रूपमा छनौट गर्न निश्चित गर्नुहोस्। खुला स्रोत इजाजतपत्रमा अनुकूलन Qt 6 विकास सुरु भएपछि, यसलाई व्यावसायिक इजाजतपत्रको साथ प्रयोग गर्न सकिँदैन। यी इजाजतपत्रहरू बीचको भिन्नताहरू बुझ्न कानूनी प्रतिनिधिसँग काम गर्नुहोस्।
नोट:
भवन QtWebइन्जिन रिलीजद्वारा प्रयोग गरिएको मेटा-क्रोमियम तहसँग उपयुक्त छैन।
यदि तपाइँ NXP निर्माण सेटअप प्रयोग गर्दै हुनुहुन्छ भने, bblayers.conf बाट मेटा-क्रोमियम हटाउनुहोस्:
# qt संग असंगतता को कारण टिप्पणी बाहिरwebइन्जिन
#BBLAYERS += "${BSPDIR}/sources/meta-browser/meta-chromium"
त्यहाँ चार Qt 6 ब्राउजरहरू उपलब्ध छन्। QtWebइन्जिन ब्राउजरहरू फेला पार्न सकिन्छ:
- /usr/share/qt6/exampलेस /webइन्जिनविजेट्स/शैली पाना ब्राउजर
- /usr/share/qt6/exampलेस /webइन्जिनविजेट्स/सरल ब्राउजर
- /usr/share/qt6/exampलेस /webइन्जिनविजेट्स/कुकी ब्राउजर
- /usr/share/qt6/exampलेस /webइन्जिन / द्रुत ब्राउजर
सबै तीन ब्राउजरहरू माथिको डाइरेक्टरीमा गएर र त्यहाँ फेला परेको कार्यान्वयनयोग्य चलाएर चलाउन सकिन्छ।
टचस्क्रिनलाई कार्यान्वयनयोग्यमा प्यारामिटरहरू -plugin evdevtouch:/dev/input/event0 थपेर सक्षम गर्न सकिन्छ।
./quicknanobrowser -प्लगइन evdevtouch:/dev/input/event0
QtWebइन्जिनले I.MX 6, i.MX 7, i.MX 8, र i.MX 9 मा GPU ग्राफिक्स हार्डवेयरको साथ SoC मा मात्र काम गर्दछ।
Qt समावेश गर्नwebछविमा इन्जिन, निम्नलाई local.conf वा छवि रेसिपीमा राख्नुहोस्।
IMAGE_INSTALL:append = ” प्याकेजग्रुप-qt6-webइन्जिन"
५.६.७ NXP eIQ मेसिन लर्निङ
मेटा-एमएल तह NXP eIQ मेसिन लर्निङको एकीकरण हो, जुन पहिले छुट्टै meta-imx-machineleaning लेयरको रूपमा जारी गरिएको थियो र अब मानक BSP छवि (imx-image-full) मा एकीकृत गरिएको छ।
धेरै सुविधाहरूलाई Qt 6 चाहिन्छ। imx-image-full बाहेक अन्य कन्फिगरेसन प्रयोग गर्ने अवस्थामा, निम्नलाई local.conf मा राख्नुहोस्:
IMAGE_INSTALL:append = "प्याकेजग्रुप-imx-ml"
SDK मा NXP eIQ प्याकेजहरू स्थापना गर्न, निम्नलाई local.conf मा राख्नुहोस्:
TOOLCHAIN_TARGET_TASK:append = "tensorflow-lite-dev onnxruntime-dev"
नोट:
TOOLCHAIN_TARGET_TASK_append चर ले प्याकेजहरूलाई SDK मा मात्र स्थापना गर्दछ, छविमा होइन।
OpenCV DNN डेमोहरूको लागि मोडेल कन्फिगरेसनहरू र इनपुट डेटा थप्न, निम्नलाई local.conf मा राख्नुहोस्:
PACKAGECONFIG:append:pn-opencv_mx8 = "परीक्षण परीक्षण-imx"
५.६.८ प्रणालीगत
Systemd लाई पूर्वनिर्धारित प्रारम्भिक प्रबन्धकको रूपमा सक्षम पारिएको छ। पूर्वनिर्धारित रूपमा systemd असक्षम गर्न, fsl-imxpreferred-env.inc मा जानुहोस् र systemd खण्डमा टिप्पणी गर्नुहोस्।
5.6.9 मल्टिलिब सक्षमता
i.MX 8 को लागि, 32-bit OS मा 64-bit अनुप्रयोगहरू निर्माण गर्न मल्टिलिब कन्फिगरेसन प्रयोग गरी समर्थन गर्न सकिन्छ। मल्टिलिबले विभिन्न लक्षित अप्टिमाइजेसन वा वास्तुकला ढाँचाहरूसँग पुस्तकालयहरू निर्माण गर्ने र तिनीहरूलाई एकै प्रणाली छविमा संयोजन गर्ने क्षमता प्रदान गर्दछ। Multilib लाई तपाईको local.conf मा MULTILIB, DEFAULTTUNE, र IMAGE_INSTALL घोषणा थपेर सक्षम पारिएको छ। file। मल्टिलिब डेबियन प्याकेज व्यवस्थापनसँग समर्थित छैन। यसलाई RPM प्रणाली चाहिन्छ। पूर्वनिर्धारित RPM मा जानको लागि local.conf मा दुई प्याकेज व्यवस्थापन लाइनहरू टिप्पणी गर्नुहोस्।
MULTILIBS घोषणा सामान्यतया lib32 वा lib64 हो र यसलाई परिभाषित गर्न आवश्यक छ
MULTILIB_GLOBAL_VARIANTS चर निम्नानुसार:
MULTILIBS = "multilib:lib32"
DEFAULTTUNE निम्नानुसार यो वैकल्पिक पुस्तकालय प्रकारको लागि AVAILTUNES मान मध्ये एक हुनुपर्छ:
DEFAULTTUNE: virtclass-multilib-lib32 = "armv7athf-neon"
IMAGE_INSTALL छविमा थपिनेछ, 32-बिट पुस्तकालयहरू विशिष्ट अनुप्रयोगलाई निम्नानुसार आवश्यक छ:
IMAGE_INSTALL:append = "lib32-bash"
i.MX 8 मा केसको लागि, 32-बिट अनुप्रयोग समर्थन निर्माण गर्न स्थानीय.conf मा निम्न कथनहरू आवश्यक पर्दछ। यो कन्फिगरेसनले 64-बिट मेसिनलाई मुख्य मेसिन प्रकारको रूपमा निर्दिष्ट गर्दछ र multilib:lib32 थप्छ, जहाँ ती पुस्तकालयहरू armv7athf-neon tune सँग कम्पाइल हुन्छन्, र त्यसपछि lib32 प्याकेजहरू सबै छविहरूमा समावेश हुन्छन्।
मेशिन = imx8mqevk
# multilib लक्ष्य परिभाषित गर्नुहोस्
conf/multilib.conf चाहिन्छ
MULTILIBS = "multilib:lib32"
DEFAULTTUNE: virtclass-multilib-lib32 = "armv7athf-neon"
# छविमा मल्टिलिब प्याकेजहरू थप्नुहोस्
IMAGE_INSTALL:append = "lib32-glibc lib32-libgcc lib32-libstdc++"
कुनै पनि प्रशोधन त्रुटिहरूबाट बच्न डेब प्याकेजिङ असक्षम गर्नुहोस्। local.conf मा जाँच गर्नुहोस्, र यदि त्यहाँ छन् भने टिप्पणी गर्नुहोस्:
PACKAGE_CLASSES = "package_deb"
EXTRA_IMAGE_FEATURES += "प्याकेज-व्यवस्थापन"
5.6.10 OP-TEE सक्षमता
OP-TEE लाई तीनवटा घटक चाहिन्छ: OP-TEE OS, OP-TEE ग्राहक, र OP-TEE परीक्षण। थप रूपमा, कर्नेल र U-Boot कन्फिगरेसनहरू छन्। OP-TEE OS बुटलोडरमा रहन्छ जबकि OP-TEE ग्राहक र परीक्षण rootfs मा रहन्छ।
यस विमोचनमा पूर्वनिर्धारित रूपमा OP-TEE सक्षम गरिएको छ। OP-TEE असक्षम गर्न, meta-imx/meta-bsp/conf/layer.conf मा जानुहोस् file र OP-TEE को लागि DISTRO_FEATURES_append टिप्पणी गर्नुहोस् र हटाइएको लाइनलाई अनकमेन्ट गर्नुहोस्।
5.6.11 निर्माण जेल हाउस
जेलहाउस लिनक्स ओएसमा आधारित एक स्थिर विभाजन हाइपरवाइजर हो। यो i.MX 8M Plus, i.MX 8M Nano, i.MX 8M Quad EVK, र i.MX 8M Mini EVK बोर्डहरूमा समर्थित छ।
जेलहाउस निर्माण सक्षम गर्न, स्थानीय.conf मा निम्न लाइन थप्नुहोस्:
DISTRO_FEATURES: संलग्न = "जेलहाउस"
U-Boot मा, रन jh_netboot वा jh_mmcboot चलाउनुहोस्। यसले जेलहाउस प्रयोगको लागि समर्पित DTB लोड गर्दछ। पूर्वको रूपमा i.MX 8M Quad लिँदैampले, लिनक्स ओएस बुट अप पछि:
#insmod jailhouse.ko
#./jailhouse imx8mq.cell सक्षम गर्नुहोस्
i.MX 8 मा जेलहाउस बारे थप विवरणहरूको लागि, i.MX Linux प्रयोगकर्ताको गाइड (IMXLUG) हेर्नुहोस्।
5.6.12 प्याकेज व्यवस्थापन
Yocto परियोजनाको साथ पूर्वनिर्धारित प्याकेज व्यवस्थापन rpm हो। i.MX distro ले अब डेबियनलाई प्याकेज व्यवस्थापनको रूपमा सक्षम गर्दछ। यसलाई स्थानीय.conf मा package_rpm मा ACKAGE_CLASSES सेट थपेर वा डेबियन प्याकेज फिड PACKAGE_CLASSES = "package_deb" बिना अनुकूलन डिस्ट्रो सिर्जना गरेर सजिलै बन्द गर्न सकिन्छ।
डेबियन प्याकेज फिडको थपको साथ, स्रोत सूची /etc/apt मा थप्न सकिन्छ जुन डेबियनको प्याकेज फिडमा लिङ्क हुन्छ। यसले प्रयोगकर्ताहरूलाई छविमा प्रदान नगरिएका प्याकेजहरूलाई Yocto छविमा थप्न नदिई स्थापना गर्न अनुमति दिन्छ। किनभने यो प्याकेज फिड i.MX Yocto निर्माण प्रक्रियाद्वारा उत्पन्न गरिएको छैन, त्यहाँ कुनै ग्यारेन्टी छैन कि प्रत्येक प्याकेजले सही निर्भरताहरूसँग काम गर्नेछ तर यसले सरल उपकरणहरू प्रदान गर्न अनुमति दिन्छ।
सफ्टवेयर जुन जटिल छ र विशिष्ट संस्करणहरूमा अधिक निर्भरताहरू छन् बाह्य प्याकेज फिडमा समस्याहरू हुन सक्छन्।
छवि परिनियोजन
पूरा fileप्रणाली छविहरू तैनात छन् /tmp/deploy/images। छवि, अधिकांश भागको लागि, वातावरण सेटअपमा सेट गरिएको मेसिनको लागि विशिष्ट हो। प्रत्येक छवि निर्माणले मेसिन कन्फिगरेसनमा परिभाषित IMAGE_FSTYPES मा आधारित U-Boot, कर्नेल, र छवि प्रकार सिर्जना गर्दछ। file। अधिकांश मेसिन कन्फिगरेसनहरूले SD कार्ड छवि (.wic) र rootfs छवि (.tar) प्रदान गर्दछ। SD कार्ड छविमा विभाजन गरिएको छवि (U-Boot, kernel, rootfs, आदि संग) सम्बन्धित हार्डवेयर बुट गर्न उपयुक्त हुन्छ।
6.1 SD कार्ड छवि फ्ल्यास गर्दै
SD कार्ड छवि file .wic मा विभाजन गरिएको छवि (U-Boot, kernel, rootfs, आदि संग) सम्बन्धित हार्डवेयर बुट गर्न उपयुक्त हुन्छ। SD कार्ड छवि फ्लैश गर्न, निम्न आदेश चलाउनुहोस्:
zstdcat .wic.zst | sudo dd of=/dev/sd bs=1M conv=fsync
फ्ल्यासिङको बारेमा थप जानकारीको लागि, i.MX Linux प्रयोगकर्ताको गाइड (IMXLUG) मा "बुट गर्न SD/MMC कार्ड तयार गर्दै" खण्ड हेर्नुहोस्। NXP eIQ मेसिन लर्निङ अनुप्रयोगहरूको लागि, अतिरिक्त खाली डिस्क स्पेस आवश्यक छ (लगभग 1 GB)। यसलाई local.conf मा IMAGE_ROOTFS_EXTRA_SPACE चर थपेर परिभाषित गरिएको छ। file योक्टो निर्माण प्रक्रिया अघि। हेर्नुहोस् योक्टो प्रोजेक्ट मेगा-म्यानुअल.
अनुकूलन
i.MX Linux OS मा निर्माण र अनुकूलन गर्न तीनवटा परिदृश्यहरू छन्:
- i.MX Yocto परियोजना BSP निर्माण गर्दै र i.MX सन्दर्भ बोर्डमा प्रमाणीकरण गर्दै। यस कागजातका निर्देशनहरूले यस विधिलाई विस्तृत रूपमा वर्णन गर्दछ।
- कर्नेललाई अनुकूलन गर्दै र कर्नेल र U-Boot सँग अनुकूलन बोर्ड र उपकरण रूख सिर्जना गर्दै। SDK कसरी बनाउने र Yocto परियोजना निर्माण वातावरण बाहिर मात्र कर्नेल र U-Boot निर्माण गर्न होस्ट मेसिन सेटअप गर्ने बारे थप विवरणहरूको लागि, i मा "कसरी U-Boot र कर्नेल स्ट्यान्डअलोन वातावरण निर्माण गर्ने" अध्याय हेर्नुहोस्। .MX प्रयोगकर्ताको गाइड (IMXLUG)।
- अनुकूलन Yocto परियोजना तह सिर्जना गरेर i.MX Linux रिलीजहरूको लागि प्रदान गरिएको BSP बाट प्याकेजिङ थप्ने वा हटाउने वितरणलाई अनुकूलन गर्ने। i.MX ले धेरै डेमो पूर्व प्रदान गर्दछampएक i.MX BSP रिलीजको शीर्षमा अनुकूलन तह देखाउनको लागि। यस कागजातमा बाँकी खण्डहरूले अनुकूलन DISTRO र बोर्ड कन्फिगरेसन सिर्जना गर्न निर्देशनहरू प्रदान गर्दछ।
7.1 कस्टम डिस्ट्रो सिर्जना गर्दै
अनुकूलन डिस्ट्रोले अनुकूलन निर्माण वातावरण कन्फिगर गर्न सक्छ। डिस्ट्रो files जारी गरिएको fsl-imx-wayland, fslimx-xwayland, र fsl-imx-fb सबै विशिष्ट ग्राफिकल ब्याकएन्डहरूको लागि कन्फिगरेसनहरू देखाउँछन्। डिस्ट्रोस पनि अन्य प्यारामिटरहरू जस्तै कर्नेल, U-Boot, र GStreamer कन्फिगर गर्न प्रयोग गर्न सकिन्छ। i.MX डिस्ट्रो files लाई हाम्रो i.MX Linux OS BSP रिलीजहरू परीक्षण गर्नको लागि आवश्यक पर्ने अनुकूलन निर्माण वातावरण सिर्जना गर्न सेट गरिएको छ।
प्रत्येक ग्राहकलाई आफ्नै डिस्ट्रो सिर्जना गर्न सिफारिस गरिन्छ file र प्रदायकहरू, संस्करणहरू, र तिनीहरूको निर्माण वातावरणको लागि अनुकूलन कन्फिगरेसनहरू सेट गर्न प्रयोग गर्नुहोस्। अवस्थित डिस्ट्रो प्रतिलिपि गरेर एक डिस्ट्रो सिर्जना गरिएको छ file, वा poky.conf जस्तै एक र थप परिवर्तनहरू थप्दै, वा i.MX distros मध्ये एक समावेश गरी र त्यसलाई सुरूवात बिन्दुको रूपमा प्रयोग गर्दै।
7.2 अनुकूलन बोर्ड कन्फिगरेसन सिर्जना गर्दै
सन्दर्भ बोर्डहरू विकास गर्ने विक्रेताहरूले आफ्नो बोर्ड FSL समुदाय BSP मा थप्न चाहन्छन्।
FSL समुदाय BSP द्वारा समर्थित नयाँ मेसिनले समुदायसँग स्रोत कोड साझा गर्न सजिलो बनाउँछ, र समुदायबाट प्रतिक्रियाको लागि अनुमति दिन्छ।
Yocto परियोजनाले नयाँ i.MX आधारित बोर्डको लागि BSP सिर्जना र साझेदारी गर्न सजिलो बनाउँछ। लिनक्स ओएस कर्नेल र बुटलोडरले काम गरिरहेको र त्यो मेसिनको लागि परीक्षण गर्दा अपस्ट्रिमिङ प्रक्रिया सुरु हुनुपर्छ। यो एक स्थिर लिनक्स कर्नेल र बुटलोडर हुनु धेरै महत्त्वपूर्ण छ (पूर्वको लागिample, U-Boot) मेसिन कन्फिगरेसनमा औंल्याउन file, त्यो मेसिनको लागि प्रयोग गरिएको पूर्वनिर्धारित हुन।
अर्को महत्त्वपूर्ण कदम भनेको नयाँ मेसिनको लागि मर्मतकर्ता निर्धारण गर्नु हो। त्यस बोर्डको लागि काम गर्ने मुख्य प्याकेजहरूको सेट राख्नको लागि मर्मतकर्ता जिम्मेवार छ। मेसिन मर्मतकर्ताले कर्नेल र बुटलोडर अद्यावधिक राख्नुपर्छ, र प्रयोगकर्ता-स्पेस प्याकेजहरू त्यो मेसिनको लागि परीक्षण गरिएको छ।
आवश्यक चरणहरू तल सूचीबद्ध छन्।
- कर्नेल कन्फिगरेसन अनुकूलन गर्नुहोस् files आवश्यकता अनुसार। कर्नेल कन्फिगरेसन file आर्क/आर्म/कन्फिग्समा स्थान छ र विक्रेता कर्नेल रेसिपीले कर्नेल रेसिपी मार्फत लोड गरिएको संस्करणलाई अनुकूलित गर्नुपर्छ।
- आवश्यकता अनुसार U-Bot लाई अनुकूलित गर्नुहोस्। यस बारे विवरणहरूको लागि i.MX BSP पोर्टिङ गाइड (IMXBSPPG) हेर्नुहोस्।
- बोर्डको संरक्षक नियुक्त गर्नुहोस्। यो मर्मतकर्ताले यो सुनिश्चित गर्दछ files लाई आवश्यकता अनुसार अद्यावधिक गरिन्छ, त्यसैले निर्माण सधैं काम गर्दछ।
- तल देखाइए अनुसार Yocto परियोजना समुदाय निर्देशनहरूमा वर्णन गरिए अनुसार योक्टो परियोजना निर्माण सेट अप गर्नुहोस्।
समुदाय मास्टर शाखा प्रयोग गर्नुहोस्।
a आवश्यक होस्ट प्याकेज डाउनलोड गर्नुहोस्, तपाईंको होस्ट लिनक्स ओएस वितरणमा निर्भर गर्दै, बाट योक्टो प्रोजेक्ट द्रुत सुरुवात.
b आदेशको साथ रेपो डाउनलोड गर्नुहोस्:
$ गurl https://storage.googleapis.com/git-repo-downloads/repo>~/bin/repo
ग सबै कुरा राख्नको लागि डाइरेक्टरी सिर्जना गर्नुहोस्। कुनै पनि डाइरेक्टरी नाम प्रयोग गर्न सकिन्छ। यो कागजात imxcommunity-bsp प्रयोग गर्दछ।
$ mkdir imx-community-bsp
d निम्न आदेश कार्यान्वयन गर्नुहोस्:
$ cd imx-community-bsp
e रेपोको मास्टर शाखाबाट रेपो प्रारम्भ गर्नुहोस्।
$ repo init -u https://github.com/Freescale/fsl-community-bsp-platform - बी मास्टर
f निर्माण गर्न प्रयोग गरिने व्यञ्जनहरु प्राप्त गर्नुहोस्।
$ repo सिंक
g निम्न आदेशको साथ वातावरण सेट अप गर्नुहोस्:
$ स्रोत सेटअप-पर्यावरण निर्माण - समान मेसिन छान्नुहोस् file fsl-community-bsp/sources/meta-freescale-3rdparty/conf/machine मा र तपाईंको बोर्डको नाम सूचक प्रयोग गरी प्रतिलिपि गर्नुहोस्। नयाँ बोर्ड सम्पादन गर्नुहोस् file आफ्नो बोर्ड बारे जानकारी संग। कम्तिमा नाम र विवरण परिवर्तन गर्नुहोस्। MACHINE_FEATURE थप्नुहोस्।
- सबै कुरा राम्ररी काम गर्छ भनी सुनिश्चित गर्दै नवीनतम सामुदायिक मास्टर शाखाबाट आफ्ना परिवर्तनहरू परीक्षण गर्नुहोस्। कम्तिमा कोर-छवि-न्यूनतम प्रयोग गर्नुहोस्।
$ bitbake कोर-छवि-न्यूनतम - प्याचहरू तयार गर्नुहोस्। रेसिपी शैली गाइड र git.yoctoproject.org/cgit/cgit.cgi/meta-freescale/ tree/README योगदान शीर्षकको खण्डमा पालना गर्नुहोस्।
- मेटा-फ्रीस्केल-3rdparty मा अपस्ट्रीम। अपस्ट्रीम गर्न, प्याचहरू पठाउनुहोस् metafreescale@yoctoproject.org.
7.3 तपाईंको BSP मा सुरक्षा कमजोरीहरू निगरानी गर्दै
Common Vulnerability and Exposures (CVE) को निगरानी टाइम्सिसबाट NXP सक्षम भिजिल्स उपकरणहरूद्वारा पूरा गर्न सकिन्छ। Vigiles एक जोखिम अनुगमन र व्यवस्थापन उपकरण हो जसले लक्षित छविहरूको निर्माण-समय Yocto CVE विश्लेषण प्रदान गर्दछ। यो Yocto Project BSP मा प्रयोग गरिएको सफ्टवेयरको बारेमा मेटाडेटा सङ्कलन गरेर र NIST, Ubuntu, र अन्य धेरै लगायत विभिन्न स्रोतहरूबाट CVE मा जानकारी एकीकृत गर्ने CVE डाटाबेससँग तुलना गरेर यो गर्छ।
उच्च स्तरको ओभरview पत्ता लगाइएको कमजोरीहरू फिर्ता गरिन्छ, र CVEs, तिनीहरूको गम्भीरता र उपलब्ध समाधानहरूलाई असर गर्ने जानकारी सहितको पूर्ण विस्तृत विश्लेषण गर्न सकिन्छ। viewएड अनलाइन।
रिपोर्ट अनलाइन पहुँच गर्न, लिङ्क पछ्याएर आफ्नो NXP Vigiles खाताको लागि दर्ता गर्नुहोस्:
https://www.timesys.com/register-nxp-vigiles/
Vigiles को सेटअप र कार्यान्वयन मा थप जानकारी यहाँ पाउन सकिन्छ:
https://github.com/TimesysGit/meta-timesys
https://www.nxp.com/vigiles
४.२.४ कन्फिगरेसन
तपाईंको BSP निर्माणको conf/bblayers.conf मा meta-timesys थप्नुहोस्।
को ढाँचा पालना गर्नुहोस् file र meta-timesys थप्नुहोस्:
BBLAYERS += "${BSPDIR}/sources/meta-timesys"
conf/local.conf मा INHERIT चरमा सतर्कताहरू थप्नुहोस्:
इनहेरिट += "विजिल्स"
७.३.२ कार्यान्वयन
तपाईंको निर्माणमा मेटा-टाइम्सिस थपिसकेपछि, Vigiles ले लिनक्स BSP Yocto सँग बनाउँदा हरेक पटक सुरक्षा कमजोरीहरू स्क्यान गर्छ। त्यहाँ कुनै अतिरिक्त आदेश आवश्यक छैन। प्रत्येक निर्माण पूरा भएपछि, जोखिम स्क्यान जानकारी डाइरेक्टरी imx-yocto-bsp/ मा भण्डारण गरिन्छ। / सतर्कता।
तपाईं सक्नुहुन्छ view सुरक्षा स्क्यान को विवरण मार्फत:
- आदेश रेखा (सारांश)
- अनलाइन (विवरण)
बस खोल्नुहोस् file नाम दिइएको -report.txt, जसमा विस्तृत अनलाइन रिपोर्टको लिङ्क समावेश छ।
बारम्बार सोधिने प्रश्नहरू
8.1 द्रुत सुरुवात
यो खण्डले लिनक्स मेसिनमा योक्टो प्रोजेक्ट कसरी सेटअप गर्ने र छवि बनाउने भनेर संक्षेप गर्दछ। यसको अर्थ के हो भन्ने विस्तृत व्याख्याहरू माथिका खण्डहरूमा छन्।
"रेपो" उपयोगिता स्थापना गर्दै
BSP प्राप्त गर्नको लागि तपाइँसँग "रेपो" स्थापना हुनु आवश्यक छ। यो एक पटक मात्र गर्न आवश्यक छ।
$: mkdir ~/bin
$: गurl https://storage.googleapis.com/git-repo-downloads/repo>~/bin/repo
$: chmod a+x ~/bin/repo
$: PATH=${PATH}:~/bin
BSP Yocto परियोजना वातावरण डाउनलोड गर्दै।
repo init को लागि -b विकल्पमा चाहिने रिलीजको लागि सही नाम प्रयोग गर्नुहोस्। यो प्रत्येक रिलीजको लागि एक पटक गर्न आवश्यक छ र पहिलो चरणमा सिर्जना गरिएको डाइरेक्टरीको लागि वितरण सेट गर्दछ। रेपो सिंक स्रोतहरू अन्तर्गत रेसिपीहरूलाई नवीनतममा अद्यावधिक गर्न चलाउन सकिन्छ।
$: mkdir imx-yocto-bsp
$: cd imx-yocto-bsp
$: repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-nanbield m imx-6.6.3-1.0.0.xml
: repo सिंक
नोट:
https://github.com/nxp-imx/imx-manifest/tree/imx-linux-nanbield सबै manifest को सूची छ fileयस विमोचनमा समर्थित छ।
विशिष्ट ब्याकएन्डहरूको लागि सेटअप
i.MX 8 र i.MX 9 फ्रेमबफर समर्थित छैन। यी i.MX 6 र i.MX 7 SoC को लागि मात्र प्रयोग गर्नुहोस्।
फ्रेमबफरको लागि सेटअप:
$: DISTRO=fsl-imx-fb MACHINE= स्रोत imx-setup-release.sh -b build-fb
Wayland को लागि सेटअप:
$: DISTRO=fsl-imx-wayland MACHINE= स्रोत imx-setup-release.sh -b build-wayland
XWayland को लागि सेटअप:
$: DISTRO=fsl-imx-xwayland MACHINE= स्रोत imx-setup-release.sh -b build-xwayland
सबै ब्याकएन्डहरूको लागि निर्माण गर्नुहोस्
Qt बिना निर्माण गर्नुहोस्
$: bitbake imx-image-multimedia
Qt 6 र मेसिन लर्निङ सुविधाहरूको साथ निर्माण गर्नुहोस्
$: bitbake imx-छवि-पूर्ण
8.2 स्थानीय कन्फिगरेसन ट्युनिङ
योक्टो प्रोजेक्ट बिल्डले समय र डिस्क प्रयोग दुवैमा पर्याप्त निर्माण स्रोतहरू लिन सक्छ, विशेष गरी धेरै निर्माण डाइरेक्टरीहरूमा निर्माण गर्दा। त्यहाँ यसलाई अनुकूलन गर्ने तरिकाहरू छन्, उदाहरणका लागिampले, साझा स्टेट क्यास प्रयोग गर्नुहोस् (निर्माणको स्थिति क्यास) र डाउनलोड डाइरेक्टरी (डाउनलोड गरिएका प्याकेजहरू समात्छ)। यो local.conf मा कुनै पनि स्थानमा सेट गर्न सकिन्छ file यी जस्ता बयानहरू थपेर:
DL_DIR="/opt/imx/yocto/imx/download"
SSTATE_DIR="/opt/imx/yocto/imx/sstate-cache"
डाइरेक्टरीहरू पहिले नै अवस्थित र उपयुक्त अनुमतिहरू हुन आवश्यक छ। साझा स्टेटले धेरै निर्माण डाइरेक्टरीहरू सेट गर्दा मद्दत गर्दछ, जसमध्ये प्रत्येकले निर्माण समय कम गर्न साझा क्यास प्रयोग गर्दछ। साझा डाउनलोड डाइरेक्टरीले ल्याउने समयलाई कम गर्छ। यी सेटिङहरू बिना, योक्टो प्रोजेक्टले स्टेट क्यास र डाउनलोडहरूको लागि निर्माण डाइरेक्टरीमा पूर्वनिर्धारित हुन्छ।
DL_DIR डाइरेक्टरीमा डाउनलोड गरिएका प्रत्येक प्याकेजलाई a सँग चिन्ह लगाइएको छ .गरियो। यदि तपाइँको नेटवर्कमा प्याकेज ल्याउन समस्या छ भने, तपाइँ प्याकेजको ब्याकअप संस्करण DL_DIR डाइरेक्टरीमा म्यानुअल रूपमा प्रतिलिपि गर्न सक्नुहुन्छ र एउटा सिर्जना गर्न सक्नुहुन्छ। .गरियो file स्पर्श आदेश संग। त्यसपछि bitbake आदेश चलाउनुहोस्:
bitbake ।
थप जानकारीको लागि, हेर्नुहोस् योक्टो प्रोजेक्ट सन्दर्भ पुस्तिका - योक्टो प्रोजेक्ट ® 5.0.1 कागजात.
8.3 व्यञ्जनहरु
प्रत्येक घटक एक नुस्खा प्रयोग गरेर बनाइन्छ। नयाँ कम्पोनेन्टहरूका लागि, स्रोत (SRC_URI) देखाउन र लागू भएमा प्याचहरू निर्दिष्ट गर्नको लागि एउटा नुस्खा सिर्जना गर्नुपर्छ। योक्टो परियोजना वातावरण एक मेक बाट निर्माण हुन्छfile रेसिपीमा SRC_URI द्वारा निर्दिष्ट स्थानमा। जब स्वत: उपकरणहरूबाट निर्माण स्थापित हुन्छ, एक नुस्खाले autotools र pkgconfig इनहेरिट गर्नुपर्छ। बनाउनुहोस्files ले योक्टो प्रोजेक्टसँग निर्मित प्याकेज प्राप्त गर्न क्रस कम्पाइल उपकरणहरूद्वारा CC लाई ओभरराइड गर्न अनुमति दिनुपर्छ।
केही कम्पोनेन्टहरूसँग रेसिपीहरू छन् तर थप प्याचहरू वा अद्यावधिकहरू चाहिन्छ। यो bbappend नुस्खा प्रयोग गरेर गर्न सकिन्छ। यो अपडेट गरिएको स्रोतको बारेमा अवस्थित नुस्खा विवरणहरूमा संलग्न हुन्छ। पूर्वका लागिample, नयाँ प्याच समावेश गर्नको लागि bbappend रेसिपीमा निम्न सामग्रीहरू हुनुपर्छ:
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI += file:// प्याच
FILESEXTRAPATHS_prepend योक्टो प्रोजेक्टलाई SRC_URI मा सूचीबद्ध प्याच फेला पार्न सूचीबद्ध डाइरेक्टरीमा हेर्न भन्छ।
नोट:
यदि bbappend रेसिपी उठाइएन भने, view फेच लग file (log.do_fetch) कार्य फोल्डर अन्तर्गत सम्बन्धित प्याचहरू समावेश छन् वा छैनन् भनेर जाँच गर्न। कहिलेकाहीँ bbappend मा संस्करणको सट्टा रेसिपीको Git संस्करण प्रयोग भइरहेको छ files.
8.4 थप प्याकेजहरू कसरी चयन गर्ने
अतिरिक्त प्याकेजहरू छविहरूमा थप्न सकिन्छ यदि त्यहाँ त्यो प्याकेजको लागि प्रदान गरिएको नुस्खा हो। समुदाय द्वारा प्रदान गरिएको रेसिपीहरूको खोजी सूचीमा फेला पार्न सकिन्छ layers.openembedded.org/। तपाईंले एपसँग पहिले नै योक्टो प्रोजेक्ट रेसिपी छ कि छैन भनेर हेर्न र यसलाई कहाँबाट डाउनलोड गर्ने भनेर खोजी गर्न सक्नुहुन्छ।
8.4.1 छवि अद्यावधिक गर्दै
छवि प्याकेज र वातावरण कन्फिगरेसनको सेट हो।
एउटा छवि file (जस्तै imx-image-multimedia.bb) भित्र जाने प्याकेजहरू परिभाषित गर्दछ file प्रणाली।
रूट file प्रणाली, कर्नेल, मोड्युल, र U-Boot बाइनरी बिल्ड/tmp/deploy/images/ मा उपलब्ध छन्। ।
नोट:
तपाइँ यसलाई छविमा समावेश नगरीकन प्याकेजहरू निर्माण गर्न सक्नुहुन्छ, तर यदि तपाइँ प्याकेजलाई rootfs मा स्वचालित रूपमा स्थापना गर्न चाहनुहुन्छ भने तपाइँ छवि पुन: निर्माण गर्नुपर्छ।
8.4.2 प्याकेज समूह
प्याकेज समूह कुनै पनि छविमा समावेश गर्न सकिने प्याकेजहरूको सेट हो।
प्याकेज समूहले प्याकेजहरूको सेट समावेश गर्न सक्छ। पूर्वका लागिampले, एक मल्टिमिडिया कार्यले मेसिन अनुसार, VPU प्याकेज बनाइएको छ वा छैन भनेर निर्धारण गर्न सक्छ, त्यसैले मल्टिमिडिया प्याकेजहरूको चयन BSP द्वारा समर्थित प्रत्येक बोर्डको लागि स्वचालित हुन सक्छ, र छविमा मल्टिमिडिया प्याकेज मात्र समावेश गरिएको छ।
थप प्याकेजहरू निम्न लाइन थपेर स्थापना गर्न सकिन्छ /local.conf।
CORE_IMAGE_EXTRA_INSTALL:append = ” "
त्यहाँ धेरै प्याकेज समूहहरू छन्। तिनीहरू प्याकेजसमूह वा प्याकेजसमूह नामक उपनिर्देशिकाहरूमा छन्।
8.4.3 रुचाइएको संस्करण
रुचाइएको संस्करण एक विशिष्ट घटक को लागी प्रयोग गर्न को लागी एक नुस्खा को पसंदीदा संस्करण निर्दिष्ट गर्न को लागी प्रयोग गरिन्छ। एक कम्पोनेन्टमा बिभिन्न तहहरूमा धेरै रेसिपीहरू हुन सक्छन् र प्रयोग गर्नको लागि एक विशेष संस्करणमा रुचाइएको संस्करण पोइन्ट गर्दछ।
meta-imx लेयरमा, layer.conf मा, उत्पादन वातावरणको लागि स्थिर प्रणाली प्रदान गर्न सबै रेसिपीहरूको लागि रुचाइएको संस्करणहरू सेट गरिन्छ। यी रुचाइएको संस्करण सेटिङहरू औपचारिक i.MX रिलीजहरूको लागि प्रयोग गरिन्छ तर भविष्यको विकासको लागि आवश्यक छैन।
रुचाइएका संस्करणहरूले पनि मद्दत गर्दछ जब अघिल्लो संस्करणहरूले कुन नुस्खा प्रयोग गर्ने बारे भ्रम पैदा गर्न सक्छ।
पूर्वका लागिample, imx-test र imx-lib को लागि अघिल्लो रेसिपीहरूले एक वर्ष-महिना संस्करण प्रयोग गर्यो, जुन परिवर्तन भएको छ संस्करण। रुचाइएको संस्करण बिना, पुरानो संस्करण उठाउन सकिन्छ। _git संस्करणहरू भएका रेसिपीहरू सामान्यतया अन्य रेसिपीहरूमा छनोट गरिन्छ, जबसम्म रुचाइएको संस्करण सेट गरिएको छैन। रुचाइएको संस्करण सेट गर्न, निम्नलाई local.conf मा राख्नुहोस्।
PREFERRED_VERSION_ : = " "
रुचाइएको संस्करणहरू प्रयोग गर्ने बारे थप जानकारीको लागि योक्टो प्रोजेक्ट म्यानुअलहरू हेर्नुहोस्।
8.4.4 रुचाइएको प्रदायक
रुचाइएको प्रदायकलाई विशेष कम्पोनेन्टको लागि रुचाइएको प्रदायक निर्दिष्ट गर्न प्रयोग गरिन्छ। एक कम्पोनेन्टमा धेरै प्रदायकहरू हुन सक्छन्। पूर्वका लागिampले, लिनक्स कर्नेल i.MX वा kernel.org द्वारा प्रदान गर्न सकिन्छ र रुचाइएको प्रदायकले प्रदायकलाई प्रयोग गर्न बताउँछ।
पूर्वका लागिample, U-Boot दुवै समुदायले denx.de र i.MX मार्फत उपलब्ध गराएको छ। समुदाय प्रदायक u-boot-fslc द्वारा निर्दिष्ट गरिएको छ। i.MX प्रदायक u-boot-imx द्वारा निर्दिष्ट गरिएको छ। रुचाइएको प्रदायक बताउन, निम्नलाई local.conf मा राख्नुहोस्:
PREFERRED_PROVIDER_ : = " "
PREFERRED_PROVIDER_u-boot_mx6 = "u-boot-imx"
8.4.5 SoC परिवार
SoC परिवारले प्रणाली चिप्सको एक निश्चित सेटमा लागू हुने परिवर्तनहरूको वर्ग दस्तावेज गर्दछ। प्रत्येक मेसिन कन्फिगरेसनमा file, मेसिन एक विशिष्ट SoC परिवार संग सूचीबद्ध छ। पूर्वका लागिample, i.MX 6DualLite Sabre-SD i.MX 6 र i.MX 6DualLite SoC परिवारहरू अन्तर्गत सूचीबद्ध छ। i.MX 6Solo Sabre-auto i.MX 6 र i.MX 6Solo SoC परिवारहरू अन्तर्गत सूचीबद्ध छ। मेसिन कन्फिगरेसनमा भएको परिवर्तनलाई ओभरराइड गर्न local.conf मा केही परिवर्तनहरू विशिष्ट SoC परिवारमा लक्षित गर्न सकिन्छ। file। निम्न एक पूर्व होampmx6dlsabresd कर्नेल सेटिङमा परिवर्तनको लागि।
KERNEL_DEVICETREE:mx6dl = "imx6dl-sabresd.dts"
SoC परिवारहरू एक परिवर्तन गर्दा उपयोगी हुन्छन् जुन हार्डवेयरको वर्गको लागि मात्र हो। पूर्वका लागिample, i.MX 28 EVK सँग भिडियो प्रशोधन इकाई (VPU) छैन, त्यसैले VPU का सबै सेटिङहरूले i.MX 5 वा i.MX 6 को चिप्सको सही वर्गमा विशिष्ट हुन प्रयोग गर्नुपर्छ।
8.4.6 BitBake लगहरू
बिटबेकले tmp/work/ मा temp डाइरेक्टरीमा निर्माण र प्याकेज प्रक्रियाहरू लग गर्दछ। / /ताप।
यदि एक घटक प्याकेज ल्याउन असफल भयो भने, त्रुटिहरू देखाउने लग मा छ file log.do_fetch।
यदि कम्पोनेन्ट कम्पाइल गर्न असफल भयो भने, त्रुटिहरू देखाउने लग मा छ file log.do_compile।
कहिलेकाहीँ एक कम्पोनेन्टले अपेक्षित रूपमा तैनात गर्दैन। निर्माण कम्पोनेन्ट डाइरेक्टरी अन्तर्गत डाइरेक्टरीहरू जाँच गर्नुहोस् (tmp/work/ / )। प्रत्येक नुस्खाको प्याकेज, प्याकेज-स्प्लिट, र sysroot* डाइरेक्टरीहरू जाँच गर्नुहोस्। files त्यहाँ राखिएको छ (जहाँ तिनीहरू छन्taged डिप्लोय डाइरेक्टरीमा प्रतिलिपि हुनु अघि)।
8.4.7 कसरी CVE अनुगमन र सूचनाको लागि संयन्त्र थप्ने
CVE ट्र्याकिङ मेकानिजम GitHub बाट प्राप्त गर्न सकिन्छ। डाइरेक्टरीमा नेभिगेट गर्नुहोस् imx-yocto-bsp/sources।
निम्न आदेश चलाउनुहोस्:
git क्लोन https://github.com/TimesysGit/meta-timesys.git -बी किर्कस्टोन
यो आदेशले NXP र Timesys बाट Vigiles उत्पादन प्रस्तावको भागको रूपमा सुरक्षा निगरानी र अधिसूचनाको लागि प्रयोग गरिएको छवि म्यानिफेस्ट जेनरेशनको लागि स्क्रिप्टहरू प्रदान गर्ने अतिरिक्त मेटालेयर डाउनलोड गर्नेछ। समाधान कसरी प्रयोग गर्ने भन्ने बारे खण्ड 7.3 पछ्याउनुहोस्।
पूर्ण CVE रिपोर्टिङमा पहुँच प्राप्त गर्न लिनक्सलिङ्क इजाजतपत्र कुञ्जी चाहिन्छ। तपाईको विकास वातावरणमा कुञ्जी बिना, Vigiles डेमो मोडमा कार्यान्वयन गर्न जारी राख्छ, सारांश रिपोर्टहरू मात्र उत्पादन गर्दछ।
LinuxLink मा तपाईंको Vigiles खातामा लग इन गर्नुहोस् (वा यदि तपाईंसँग छैन भने एउटा सिर्जना गर्नुहोस्: https://www.timesys.com/registernxp-vigiles/) आफ्नो प्राथमिकताहरू पहुँच गर्नुहोस् र नयाँ उत्पन्न गर्नुहोस्
कुञ्जी। कुञ्जी डाउनलोड गर्नुहोस् file तपाईंको विकास वातावरणमा। कुञ्जीको स्थान निर्दिष्ट गर्नुहोस् file तपाईंको योक्टोको conf/local.conf मा file निम्न कथन सहित:
VIGILES_KEY_FILE = "/tools/timesys/linuxlink_key"
सन्दर्भहरू
- बुट स्विचहरू बारे विवरणहरूको लागि, i.MX Linux प्रयोगकर्ता गाइड (IMXLUG) मा "कसरी i.MX बोर्डहरू बुट गर्ने" खण्ड हेर्नुहोस्।
- U-Boot प्रयोग गरेर छविहरू कसरी डाउनलोड गर्ने भनेर, i.MX Linux प्रयोगकर्ताको गाइड (IMXLUG) मा "U-Boot प्रयोग गरेर छविहरू डाउनलोड गर्दै" खण्ड हेर्नुहोस्।
- SD/MMC कार्ड कसरी सेटअप गर्ने भनेर, i.MX Linux प्रयोगकर्ताको गाइड (IMXLUG) मा खण्ड "बुट गर्न SD/MMC कार्ड तयार गर्दै" हेर्नुहोस्।
कागजातमा स्रोत कोडको बारेमा नोट गर्नुहोस्
Exampयस कागजातमा देखाइएको le कोडसँग निम्न प्रतिलिपि अधिकार र BSD-3-Clause इजाजतपत्र छ:
प्रतिलिपि अधिकार 2024 NXP पुन: वितरण र स्रोत र बाइनरी फारमहरूमा प्रयोग, परिमार्जन सहित वा बिना, निम्न सर्तहरू पूरा भएमा अनुमति दिइन्छ:
- स्रोत कोडको पुन: वितरणले माथिको प्रतिलिपि अधिकार सूचना, सर्तहरूको यो सूची र निम्न अस्वीकरण राख्नुपर्छ।
- बाइनरी फारममा पुन: वितरणले माथिको प्रतिलिपि अधिकार सूचना, सर्तहरूको यो सूची र कागजात र/वा वितरणको साथ प्रदान गरिएको अन्य सामग्रीहरूमा निम्न अस्वीकरण पुन: उत्पादन गर्नुपर्छ।
- न त कपीराइट धारकको नाम वा यसका योगदानकर्ताहरूको नाम निर्दिष्ट पूर्व लिखित अनुमति बिना नै यस सफ्टवेयरबाट व्युत्पन्न उत्पादनहरूको समर्थन गर्न वा प्रचार गर्न प्रयोग गर्न सकिन्छ।
यो सफ्टवेयर प्रतिलिपि अधिकार धारकहरू र योगदानकर्ताहरू द्वारा प्रदान गरिएको हो "जस्तो छ" र कुनै पनि स्पष्ट वा निहित वारेन्टीहरू समावेश छन्, तर सीमित छैन, निहित वारेन्टीहरू एक संयोजकता अस्वीकृत। कुनै पनि हालतमा प्रतिलिपि अधिकार धारक वा योगदानकर्ताहरू कुनै पनि प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, विशेष, अनुकरणीय, वा परिणामात्मक क्षतिहरूका लागि उत्तरदायी हुनेछैनन् प्रयोग, डाटा, वा लाभको हानि; वा व्यापार अवरोध) यद्यपि कुनै पनि कारणले गर्दा र उत्तरदायित्वको सिद्धान्तमा, चाहे सम्झौतामा होस्, कडा उत्तरदायित्व होस्, वा छेडछाड (लापरवाही वा अन्यथा) कुनै पनि तरिकामा यथावत रूपमा उत्पन्न भएको छ यस्तो क्षतिको सम्भावनाको।
संशोधन इतिहास
यो तालिकाले संशोधन इतिहास प्रदान गर्दछ।
संशोधन इतिहास
| कागजात आईडी | मिति | मौलिक परिवर्तनहरू |
| IMXLXYOCTOUG v.LF6.6.3_1.0.0 | 29 मार्च 2024 | 6.6.3 कर्नेलमा स्तरवृद्धि गरियो, i.MX 91P हटाइयो, र i.MX 95 लाई अल्फा गुणस्तरको रूपमा थपियो। |
| IMXLXYOCTOUG v.LF6.1.55_2.2.0 | १/४ | 6.1.55 कर्नेलमा स्तरवृद्धि गरियो। |
| IMXLXYOCTOUG v.LF6.1.36_2.1.0 | १/४ | 6.1.36 कर्नेलमा अपग्रेड गरियो र I.MX 91P थपियो। |
| IMXLXYOCTOUG v.LF6.1.22_2.0.0 | १/४ | 6.1.22 कर्नेलमा स्तरवृद्धि गरियो। |
| IMXLXYOCTOUG v.LF6.1.1_1.0.0 | १/४ | खण्ड 3.2 मा आदेश रेखाहरूमा त्रुटि सुधार। |
| IMXLXYOCTOUG v.LF6.1.1_1.0.0 | १/४ | 6.1.1 कर्नेलमा स्तरवृद्धि गरियो। |
| IMXLXYOCTOUG v.LF5.15.71_2.2.0 | १/४ | 5.15.71 कर्नेलमा स्तरवृद्धि गरियो। |
| IMXLXYOCTOUG v.LF5.15.52_2.1.0 | १/४ | 5.15.52 कर्नेलमा अपग्रेड गरियो, र i.MX 93 थपियो। |
| IMXLXVOCTOUG v.LF5.15.32_2.0.0 | १/४ | 5.15.32 कर्नेल, U-Boot 2022.04, र Kirkstone Yocto मा अपग्रेड गरियो। |
| IMXLXYOCTOUG v.LF5.15.5_1.0.0 | १/४ | 5.15.5 कर्नेल, Honister Yocto, र Qt6 मा अपग्रेड गरियो। |
| IMXLXYOCTOUG v.LF5.10.72_2.2.0 | १/४ | कर्नेललाई 5.10.72 मा स्तरवृद्धि गरियो र BSP लाई अद्यावधिक गरियो। |
| IMXLXYOCTOUG v.LF5.10.52_2.1.0 | १/४ | i.MX GULP अल्फा र कर्नेललाई 5.10.52 मा अपग्रेड गरियो। |
| IMXLXYOCTOUG v.LF5.10.35_2.0.0 | १/४ | 5.10.35 कर्नेलमा स्तरवृद्धि गरियो। |
| IMXLXYOCTOUG v.LF5.10.9_1.0.0 | १/४ | खण्ड 3.1 'होस्ट प्याकेजहरूमा आदेश लाइनहरूमा टाइपो सुधार गरियो। |
| IMXLXYOCTOUG v.LF5.10.9_1.0.0 | १/४ | 5.10.9 कर्नेलमा स्तरवृद्धि गरियो। |
| IMXLXYOCTOUG v.L5.4.70_2.3.0 | १/४ | खण्ड "आर्म कोर्टेक्स-M4 छवि चलाउँदै" मा आदेश लाइनहरू अद्यावधिक गरियो। |
| IMXLXYOCTOUG v.L5.4.70_2.3.0 | १/४ | i.MX 5.4 समेकित GA रिलीजको लागि i.MX बोर्डहरू सहित i। MX 8M Plus र i.MX 8DXL। |
| IMXLXYOCTOUG v.L5.4.47_2.2.0 | १/४ | I.MX 5.4 Beta2 i.MX 8M Plus को लागि रिलीज, 8DXL को लागि Beta, र जारी I.MX बोर्डहरूको लागि समेकित GA। |
| IMXLXYOCTOUG v.L5.4.24_2.1.0 | १/४ | i.MX 5.4M Plus को लागि i.MX 8 बिटा रिलीज, 2DXL को लागि Aipha8, र जारी i.MX बोर्डहरूको लागि समेकित GA। |
| IMXLXYOCTOUG v.L5.4.3_2.0.0 | १/४ | i.MX 5.4M Plus र 8DXL EVK बोर्डहरूको लागि i.MX 8 अल्फा रिलीज। |
| IMXLXYOCTOUG v.LF5A.3_1.0.0 | १/४ | I.MX 5.4 कर्नेल र योक्टो प्रोजेक्ट अपग्रेडहरू। |
| IMXLXYOCTOUG v.L4.19.35_1.1.0 | १/४ | I.MX 4.19 कर्नेल र योक्टो प्रोजेक्ट अपग्रेडहरू। |
| IMXLXYOCTOUG v.L4.19.35_1.0.0 | १/४ | I.MX 4.19 बिटा कर्नेल र योक्टो प्रोजेक्ट अपग्रेडहरू। |
| IMXLXYOCTOUG v.L4.14.98_2.0.0_ga | १/४ | i.MX 4.14 कर्नेल अपग्रेड र बोर्ड अपडेटहरू। |
| IMXLXYOCTOUG v.L4.14.78_1.0.0_ga | १/४ | I.MX 6, i.MX 7, i.MX 8 परिवार GA रिलीज। |
| IMXLXYOCTOUG v14.14.62_1.0.0_ beta | १/४ | i.MX 4.14 कर्नेल अपग्रेड, योक्टो प्रोजेक्ट सुमो अपग्रेड। |
| IMXLXYOCTOUG v14.9.123_2.3.0_ 8mm | १/४ | i.MX 8M Mini GA रिलीज। |
| IMXLXYOCTOUG v14.9.88_2.2.0_ 8qxp-beta2 | १/४ | i.MX 8QuadXPlus Beta2 रिलीज। |
| IMXLXYOCTOUG v14.9.88_2.1.0_ 8mm-alpha | १/४ | i.MX 8M मिनी अल्फा रिलीज। |
| IMXLXYOCTOUG v14.9.88_2.0.0-ga | १/४ | i.MX 7ULP र i.MX 8M क्वाड GA रिलीज। |
| IMXLXYOCTOUG v14.9.51_imx8mq- ga | १/४ | i.MX 8M Quad GA थपियो। |
| IMXLXYOCTOUG v14.9.51_8qm- beta2/8qxp-beta | १/४ | i.MX 8QuadMax Beta2 र i.MX 8QuadXPlus Beta थपियो। |
| IMXLXYOCTOUG v.L4.9.51_imx8mq- beta | १/४ | i.MX 8M Quad थप्नुभयो। |
| IMXLXYOCTOUG v14.9.51_imx8qm- beta 1 | १/४ | i.MX 8QuadMax थपियो। |
| IMXLXYOCTOUG v14.9.51_imx8qxp- अल्फा | १/४ | प्रारम्भिक रिलीज। |
कानूनी जानकारी
परिभाषाहरू
मस्यौदा - कागजातमा रहेको मस्यौदा स्थितिले सामग्री अझै आन्तरिक पुन: अन्तर्गत रहेको संकेत गर्छview र औपचारिक स्वीकृतिको अधीनमा, जसको परिणाम परिमार्जन वा थप हुन सक्छ। NXP सेमीकन्डक्टरहरूले कागजातको मस्यौदा संस्करणमा समावेश गरिएको जानकारीको शुद्धता वा पूर्णताको रूपमा कुनै प्रतिनिधित्व वा वारेन्टी दिँदैन र त्यस्ता जानकारीको प्रयोगको परिणामहरूको लागि कुनै दायित्व हुनेछैन।
अस्वीकरणहरू
सीमित वारेन्टी र दायित्व - यस कागजातमा जानकारी सही र भरपर्दो छ भन्ने विश्वास गरिन्छ। यद्यपि, NXP अर्धचालकहरूले त्यस्ता जानकारीको शुद्धता वा पूर्णताको रूपमा व्यक्त वा निहित कुनै प्रतिनिधित्व वा वारेन्टी दिँदैनन् र त्यस्ता जानकारीको प्रयोगको परिणामहरूको लागि कुनै दायित्व हुनेछैन। यदि NXP सेमीकन्डक्टरहरू बाहिरको जानकारी स्रोतद्वारा उपलब्ध गराइयो भने NXP Semiconductors ले यस कागजातको सामग्रीको लागि कुनै जिम्मेवारी लिने छैन।
कुनै पनि अवस्थामा NXP सेमीकन्डक्टरहरू कुनै पनि अप्रत्यक्ष, आकस्मिक, दण्डात्मक, विशेष वा परिणामात्मक क्षतिहरूका लागि उत्तरदायी हुनेछैन (जसमा सीमा बिना हराएको नाफा, हराएको बचत, व्यापार अवरोध, कुनै पनि उत्पादन वा पुन: कार्य शुल्कहरू हटाउन वा प्रतिस्थापन सम्बन्धी लागतहरू)। त्यस्ता क्षतिहरू चोट (लापरवाही सहित), वारेन्टी, सम्झौताको उल्लङ्घन वा कुनै अन्य कानुनी सिद्धान्तमा आधारित हुँदैनन्।
जुनसुकै कारणले गर्दा ग्राहकलाई हुने कुनै पनि क्षतिको बाबजुद, यहाँ वर्णन गरिएका उत्पादनहरूका लागि NXP सेमिकन्डक्टरहरूको कुल र ग्राहकप्रतिको संचयी दायित्व NXP सेमीकन्डक्टरहरूको व्यावसायिक बिक्रीका नियम र सर्तहरू अनुसार सीमित हुनेछ। परिवर्तनहरू गर्ने अधिकार — NXP सेमीकन्डक्टरहरूले यस कागजातमा प्रकाशित जानकारीमा कुनै पनि समय र सूचना बिना कुनै पनि सीमा विनिर्देशहरू र उत्पादन विवरणहरू सहित परिवर्तन गर्ने अधिकार सुरक्षित गर्दछ। यस कागजातले यहाँ प्रकाशित हुनु अघि उपलब्ध गराइएका सबै जानकारीलाई हटाउँछ र प्रतिस्थापन गर्दछ।
प्रयोगको लागि उपयुक्तता — NXP सेमीकन्डक्टर उत्पादनहरू जीवन समर्थन, जीवन-महत्वपूर्ण वा सुरक्षा-महत्वपूर्ण प्रणाली वा उपकरणहरूमा प्रयोगको लागि उपयुक्त हुन डिजाइन, अधिकृत वा वारेन्टेड छैनन्, न त अनुप्रयोगहरूमा जहाँ NXP सेमीकन्डक्टर उत्पादनको असफलता वा खराबीले परिणामको अपेक्षा गर्न सकिन्छ। व्यक्तिगत चोट, मृत्यु वा गम्भीर सम्पत्ति वा वातावरणीय क्षति। NXP सेमिकन्डक्टरहरू र यसका आपूर्तिकर्ताहरूले त्यस्ता उपकरण वा अनुप्रयोगहरूमा NXP सेमीकन्डक्टर उत्पादनहरू समावेश र/वा प्रयोगको लागि कुनै दायित्व स्वीकार गर्दैनन् र त्यसैले यस्तो समावेश र/वा प्रयोग ग्राहकको आफ्नै जोखिममा हुन्छ।
अनुप्रयोगहरू - यी उत्पादनहरू मध्ये कुनैको लागि यहाँ वर्णन गरिएका अनुप्रयोगहरू चित्रण उद्देश्यका लागि मात्र हुन्। NXP अर्धचालकहरूले कुनै प्रतिनिधित्व वा वारेन्टी गर्दैनन् कि त्यस्ता अनुप्रयोगहरू थप परीक्षण वा परिमार्जन बिना निर्दिष्ट प्रयोगको लागि उपयुक्त हुनेछन्।
NXP सेमीकन्डक्टर उत्पादनहरू प्रयोग गरेर आफ्ना एप्लिकेसनहरू र उत्पादनहरूको डिजाइन र सञ्चालनका लागि ग्राहकहरू जिम्मेवार छन्, र NXP सेमिकन्डक्टरहरूले अनुप्रयोगहरू वा ग्राहक उत्पादन डिजाइनमा कुनै पनि सहयोगको लागि कुनै दायित्व स्वीकार गर्दैनन्। NXP सेमीकन्डक्टर उत्पादन ग्राहकको एप्लिकेसन र योजना अनुसारका उत्पादनहरूका लागि, साथै योजनाबद्ध अनुप्रयोग र ग्राहकको तेस्रो पक्ष ग्राहक(हरू) को प्रयोगका लागि उपयुक्त र उपयुक्त छ कि छैन भनी निर्धारण गर्नु ग्राहकको एकमात्र जिम्मेवारी हो। ग्राहकहरूले उनीहरूको अनुप्रयोग र उत्पादनहरूसँग सम्बन्धित जोखिमहरू कम गर्न उपयुक्त डिजाइन र सञ्चालन सुरक्षाहरू प्रदान गर्नुपर्छ।
NXP Semiconductors ले ग्राहकको एप्लिकेसन वा उत्पादनहरूमा भएको कुनै कमजोरी वा पूर्वनिर्धारितमा वा ग्राहकको तेस्रो पक्ष ग्राहक(हरू) द्वारा प्रयोग वा प्रयोगमा आधारित कुनै पनि पूर्वनिर्धारित, क्षति, लागत वा समस्यासँग सम्बन्धित कुनै दायित्व स्वीकार गर्दैन। ग्राहकको तेस्रो पक्ष ग्राहक(हरू) द्वारा एप्लिकेसन र उत्पादनहरू वा एप्लिकेसन वा प्रयोगको पूर्वनिर्धारित हुनबाट बच्न NXP सेमिकन्डक्टर उत्पादनहरू प्रयोग गरी ग्राहकका एप्लिकेसनहरू र उत्पादनहरूका लागि सबै आवश्यक परीक्षणहरू गर्नको लागि ग्राहक जिम्मेवार छ। NXP ले यस सम्बन्धमा कुनै दायित्व स्वीकार गर्दैन।
व्यावसायिक बिक्रीका नियम र सर्तहरू - NXP सेमिकन्डक्टर उत्पादनहरू व्यावसायिक बिक्रीका सामान्य नियम र सर्तहरूको अधीनमा बिक्री गरिन्छ, जसमा प्रकाशित गरिएको छ। https://www.nxp.com/profile/terms, मान्य लिखित व्यक्तिगत सम्झौतामा अन्यथा सहमत नभएसम्म। यदि एक व्यक्तिगत सम्झौता निष्कर्षमा पुग्छ भने सम्बन्धित सम्झौताका सर्तहरू मात्र लागू हुनेछन्। NXP Semiconductors यसद्वारा ग्राहकद्वारा NXP Semiconductors उत्पादनहरू खरिद गर्ने सम्बन्धमा ग्राहकका सामान्य नियम र सर्तहरू लागू गर्न स्पष्ट रूपमा आपत्ति जनाउँछन्।
निर्यात नियन्त्रण - यो कागजात साथै यहाँ वर्णन गरिएको वस्तु(हरू) निर्यात नियन्त्रण नियमहरूको अधीनमा हुन सक्छ। निर्यातका लागि सक्षम अधिकारीहरूबाट पूर्व प्राधिकरण आवश्यक हुन सक्छ।
गैर-अटोमोटिभ योग्य उत्पादनहरूमा प्रयोगको लागि उपयुक्तता — जबसम्म यो कागजातले स्पष्ट रूपमा यो विशिष्ट NXP सेमीकन्डक्टर उत्पादन अटोमोटिभ योग्य छ भनी बताउँदैन, उत्पादन अटोमोटिभ प्रयोगको लागि उपयुक्त छैन। यो न त योग्य छ न त मोटर वाहन परीक्षण वा आवेदन आवश्यकताहरु अनुसार परीक्षण। NXP सेमीकन्डक्टरहरूले अटोमोटिभ उपकरण वा अनुप्रयोगहरूमा गैर-अटोमोटिभ योग्य उत्पादनहरूको समावेश र/वा प्रयोगको लागि कुनै दायित्व स्वीकार गर्दैन।
ग्राहकले अटोमोटिभ स्पेसिफिकेशन्स र मापदण्डहरूमा डिजाईन-इन र अटोमोटिभ एप्लिकेसनहरूमा प्रयोगको लागि उत्पादन प्रयोग गरेको घटनामा, ग्राहक (क) ले त्यस्ता अटोमोटिभ अनुप्रयोगहरू, प्रयोग र विशिष्टताहरूका लागि उत्पादनको NXP सेमीकन्डक्टरको वारेन्टी बिना उत्पादन प्रयोग गर्नेछ, र ( b) ग्राहकले NXP सेमीकन्डक्टरको स्पेसिफिकेशनभन्दा बाहिरको अटोमोटिभ एप्लिकेसनका लागि उत्पादन प्रयोग गर्दा यस्तो प्रयोग ग्राहकको आफ्नै जोखिममा हुनेछ, र (c) ग्राहकले NXP सेमिकन्डक्टरहरूलाई कुनै दायित्व, क्षति वा असफल उत्पादन दाबीहरूको लागि पूर्ण क्षतिपूर्ति गर्दछ। NXP सेमीकन्डक्टरको मानक वारेन्टी र NXP सेमीकन्डक्टरहरूको उत्पादन विशिष्टताभन्दा परको मोटर वाहन अनुप्रयोगहरूको लागि उत्पादन।
अनुवादहरू - कागजातको गैर-अंग्रेजी (अनुवादित) संस्करण, त्यस कागजातमा कानुनी जानकारी सहित, सन्दर्भको लागि मात्र हो। अनुवादित र अंग्रेजी संस्करणहरू बीच कुनै भिन्नता भएमा अंग्रेजी संस्करण प्रबल हुनेछ।
सुरक्षा — ग्राहकले बुझ्दछन् कि सबै NXP उत्पादनहरू अज्ञात कमजोरीहरूको अधीनमा हुन सक्छन् वा स्थापित सुरक्षा मापदण्डहरू वा ज्ञात सीमाहरूको साथ निर्दिष्टीकरणहरूलाई समर्थन गर्न सक्छन्। ग्राहकको एप्लिकेसन र उत्पादनहरूमा यी कमजोरीहरूको प्रभावलाई कम गर्नको लागि ग्राहक आफ्नो जीवनचक्रभर आफ्ना अनुप्रयोगहरू र उत्पादनहरूको डिजाइन र सञ्चालनको लागि जिम्मेवार हुन्छ। ग्राहकको उत्तरदायित्व ग्राहकका अनुप्रयोगहरूमा प्रयोगको लागि NXP उत्पादनहरूद्वारा समर्थित अन्य खुला र/वा स्वामित्व प्रविधिहरूमा पनि विस्तार हुन्छ। NXP ले कुनै पनि जोखिमको लागि कुनै दायित्व स्वीकार गर्दछ। ग्राहकले नियमित रूपमा NXP बाट सुरक्षा अपडेटहरू जाँच गर्नुपर्छ र उचित रूपमा फलोअप गर्नुपर्छ।
ग्राहकले सुरक्षा सुविधाहरू भएका उत्पादनहरू चयन गर्नेछन् जुन उद्देश्यका अनुप्रयोगका नियमहरू, नियमहरू, र मापदण्डहरू पूरा गर्दछ र यसको उत्पादनहरू सम्बन्धी अन्तिम डिजाइन निर्णयहरू लिन्छ र यसको उत्पादनहरू सम्बन्धी सबै कानुनी, नियामक, र सुरक्षा सम्बन्धी आवश्यकताहरूको पालनाको लागि पूर्ण रूपमा जिम्मेवार हुन्छ। NXP द्वारा प्रदान गरिएको कुनै पनि जानकारी वा समर्थनको।
NXP सँग उत्पादन सुरक्षा घटना प्रतिक्रिया टोली (PSIRT) छ (मा पहुँच योग्य PSIRT@nxp.com) जसले NXP उत्पादनहरूको सुरक्षा कमजोरीहरूको अनुसन्धान, रिपोर्टिङ, र समाधान जारी गर्ने प्रबन्ध गर्दछ।
NXP BV - NXP BV एक सञ्चालन कम्पनी होइन र यसले उत्पादनहरू वितरण वा बिक्री गर्दैन।
ट्रेडमार्कहरू
सूचना: सबै सन्दर्भ ब्रान्डहरू, उत्पादन नामहरू, सेवा नामहरू, र ट्रेडमार्कहरू तिनीहरूका सम्बन्धित मालिकहरूको सम्पत्ति हुन्।
NXP — वर्डमार्क र लोगो NXP BV का ट्रेडमार्क हुन्
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed सक्षम, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINKPLUS, ULINKpro, μVision, Versatile — संयुक्त राज्य अमेरिका र/वा अन्य ठाउँमा Arm Limited (वा यसका सहायक वा सम्बद्ध कम्पनीहरू) को ट्रेडमार्क र/वा दर्ता गरिएका ट्रेडमार्कहरू हुन्। सम्बन्धित प्रविधि कुनै पनि वा सबै पेटेन्ट, प्रतिलिपि अधिकार, डिजाइन र व्यापार गोप्य द्वारा सुरक्षित हुन सक्छ। सबै अधिकार सुरक्षित।
एजलक — NXP BV को ट्रेडमार्क हो
eIQ — NXP BV को ट्रेडमार्क हो
i.MX — NXP BV को ट्रेडमार्क हो
IMXLXYOCTOUG
All information providयस कागजातमा एड कानूनी अस्वीकरणको विषय हो।
© 2024 NXP BV सबै अधिकार सुरक्षित।
Rev. LF6.6.3_1.0.0 - 29 मार्च 2024
कागजातहरू / स्रोतहरू
![]() |
NXP IMXLXYOCTOUG i.MX योक्टो प्रोजेक्ट [pdf] प्रयोगकर्ता गाइड IMXLXYOCTOUG i.MX योक्टो प्रोजेक्ट, i.MX योक्टो प्रोजेक्ट, योक्टो प्रोजेक्ट, प्रोजेक्ट |




