আপনি যদি এমবেডেড বা IoT-তে আগ্রহী হন, তাহলে আজ হোক কাল হোক আপনি Yocto প্রজেক্টের মুখোমুখি হবেন। এটি সেই ভিত্তি যার উপর ভিত্তি করে হাজার হাজার দল তাদের "নিজস্ব" লিনাক্স বিতরণ তৈরি করে।, আপনার হার্ডওয়্যার এবং প্রয়োজনীয়তা অনুসারে তৈরি। এটি কেবল আরেকটি ডিস্ট্রো নয়, বরং সরঞ্জাম, মেটাডেটা এবং প্রক্রিয়াগুলির একটি সেট যা কাস্টমাইজেশন এবং পুনরুৎপাদনযোগ্যতাকে পরবর্তী স্তরে নিয়ে যায়।
এই নির্দেশিকায় আপনি আর দেরি না করে বুঝতে পারবেন, ইয়োক্টো কী এবং কী নয়, কেন এটি এত ব্যাপক, এটি কীভাবে তৈরি (ওপেনএম্বেডেড, বিটবেক এবং পোকি), লেয়ার মডেল কী নিয়ে গঠিত, এর চারপাশে কোন সরঞ্জামগুলি প্রদক্ষিণ করে (টোস্টার, ক্রপস, ইএসডিকে...), একটি ছবি আসলে কীভাবে তৈরি করা হয়, কোন কোন আপডেটের বিকল্প বিদ্যমান, নিরাপত্তার দিক থেকে এটি কী অফার করে এবং প্রকল্পটি কীভাবে পরিচালিত এবং সংস্করণ করা হয়।। এছাড়াও, আপনি ধারণা এবং ব্যবহারিক উদাহরণ (reTerminal/Raspberry Pi) দেখতে পাবেন যা আপনাকে আপনার দৈনন্দিন জীবনে এটি বাস্তবায়নে সহায়তা করবে।
ইয়োক্টো প্রকল্প কী?
ইয়োক্টো প্রজেক্ট হল লিনাক্স ফাউন্ডেশন দ্বারা স্পনসর করা একটি সহযোগী উদ্যোগ যা এমবেডেড এবং আইওটি ডিভাইসের জন্য কাস্টম লিনাক্স ডিস্ট্রিবিউশন তৈরির জন্য বিল্ডিং ব্লক সরবরাহ করে। হার্ডওয়্যার আর্কিটেকচার নির্বিশেষে। এটি ২০১০ সালে প্রতিষ্ঠিত হয়েছিল এবং ২০১১ সালে এর প্রথম সংস্করণ প্রকাশ করে, প্রায় দুই ডজন সংস্থার সহায়তায় এবং OpenEmbedded এর সাথে ঘনিষ্ঠ সহযোগিতায়।
এর উদ্দেশ্য হল এমবেডেড সফ্টওয়্যার জীবনচক্র উন্নত করা: এটি একটি সিস্টেম তৈরিকে দ্রুত, পুনরাবৃত্তিযোগ্য এবং সম্পূর্ণরূপে কাস্টমাইজযোগ্য করার জন্য আন্তঃব্যবহারযোগ্য সরঞ্জাম, মেটাডেটা এবং কর্মপ্রবাহ সরবরাহ করে। Yocto + OpenEmbedded + BitBake সংমিশ্রণটি বর্ণনা করে কিভাবে আপনার সিস্টেমটি প্রাপ্ত, কনফিগার, কম্পাইল, প্যাকেজ এবং একত্রিত করতে হয়। অস্ত্রোপচারের নির্ভুলতার সাথে।
২০১৮ সালে, এআরএম এবং ইন্টেল ইয়োক্টোর মধ্যে একত্রিত হয়ে এমবেডেড, প্ল্যাটফর্ম নিরপেক্ষতা এবং বহু-স্থাপত্য সহায়তা জোরদার করাআজ, এই প্রকল্পটি ছোট বোর্ড থেকে শুরু করে জটিল শিল্প পণ্য পর্যন্ত বিভিন্ন ডিভাইসে ব্যবহৃত হয়।
Yocto আপনাকে আটকে রাখে না: এটি বিক্রেতা-অজ্ঞেয়বাদী এবং প্যাকেজ-ফরম্যাট অজ্ঞেয়বাদী, তাই আপনি deb, rpm, অথবা ipk এর মধ্যে বেছে নিতে পারেন এবং একটি নির্ধারক বিল্ড মডেল অনুসরণ করতে পারেন। ডিভাইসের ছবি ছাড়াও, আপনি কাস্টম টুলচেইন এবং SDK তৈরি করতে পারেন। অ্যাপ্লিকেশন ডেভেলপমেন্ট এবং ডিবাগিংয়ের জন্য।

এমবেডেড অবস্থায় ইয়োক্টো কেন ব্যবহার করবেন?
বড় সুবিধা হল কাস্টমাইজেশন। ইয়োক্টোর সাহায্যে আপনি সঠিক পরিমাণে একটি অপারেটিং সিস্টেম তৈরি করেন: আপনার যা প্রয়োজন নেই তা আপনি মুছে ফেলেন, আক্রমণের পৃষ্ঠ এবং ওজন কমিয়ে দেন, এবং আপনি কর্মক্ষমতা এবং খরচ সামঞ্জস্য করেন। আপনি একটি সাধারণ-উদ্দেশ্য ডিস্ট্রোর সিদ্ধান্তের উপর নির্ভর করেন না।
আরেকটি গুরুত্বপূর্ণ কারণ হল পুনরুৎপাদনযোগ্যতা। সবকিছু (স্তর, রেসিপি, কনফিগারেশন) সংগ্রহস্থলে সংস্করণ করা যেতে পারে, যা একই চিত্রকে বিভিন্ন পরিবেশ এবং সময়ে তৈরি করতে দেয়এটি CI/CD-এর সাথে খাপ খায় এবং QA এবং সম্মতির জন্য ট্রেসেবিলিটি প্রদান করে।
এটি তার নমনীয়তার জন্যও আলাদা: এটি Arm, x86/x86-64, MIPS বা PowerPC এর মতো আর্কিটেকচার সমর্থন করে, এবং পণ্য পরিবারের মধ্যে আপনার বিতরণ পুনর্ব্যবহার করা সহজ করে তোলে অথবা বোর্ড বা SoC পরিবর্তন করার সময় পিভট করুন।
সম্প্রদায় এবং শিল্প সহায়তা চলমান সুরক্ষা আপডেট এবং প্যাচ নিশ্চিত করে। এক্সটেন্ডেড সাপোর্ট (LTS) সহ এমন শাখা রয়েছে যা পণ্যের আয়ু সহজ করে তোলে এবং মাঠ রক্ষণাবেক্ষণ।
এর জন্য কি ক্ষতি? এর জন্য একটি শক্তিশালী মেশিন এবং একটি কঠিন শেখার বক্ররেখা প্রয়োজন। খুব ছোট প্রকল্পের জন্য অথবা অতি-সংক্ষিপ্ত সময়সীমা সহ, হালকা বিকল্পের তুলনায় অতিরিক্ত হতে পারে, কিন্তু মধ্যমেয়াদে যখন বিবর্তন এবং রক্ষণাবেক্ষণ গুরুত্বপূর্ণ তখন এটি ফলপ্রসূ হয়।
মূল উপাদান: ওপেনএম্বেডেড, বিটবেক এবং পোকি

বিল্ডের মূল বিষয় হল বিটবেক: একটি ইঞ্জিন যা রেসিপি এবং কনফিগারেশন ভেরিয়েবল ব্যাখ্যা করে, নির্ভরতা সমাধান করে এবং ক্রমানুসারে কাজগুলি সম্পাদন করে (ডাউনলোড, আনপ্যাক, কনফিগার, কম্পাইল, ইনস্টল, প্যাকেজ, ছবি একত্রিত করা)। বিটবেককে "মেক" স্টাইলের অর্কেস্ট্রেটর হিসেবে ভাবুন কিন্তু এমবেডেড জগতের জন্য ডিজাইন করা হয়েছে।.
OpenEmbedded (OE) মেটাডেটা এবং ক্লাস বেস (OpenEmbedded-Core বা oe-core) প্রদান করে, ক্রমাগত পরীক্ষিত রেসিপি এবং ইউটিলিটির একটি সংকলিত সেট যা শত শত স্তর এবং প্রকল্পের ভিত্তি হিসেবে কাজ করে।
Poky হল Yocto-এর রেফারেন্স ডিস্ট্রিবিউশন: এটি OE বিল্ড সিস্টেম, রেসিপির একটি বিস্তৃত সেট এবং শুরু করার জন্য একটি বৈধ "বাই-দ্য-বুক" কনফিগারেশনকে একীভূত করে। এটি কোনও পণ্য বিতরণ নয়, বরং একটি শিক্ষামূলক এবং কার্যকরী সূচনা বিন্দু। যা বাস্তুতন্ত্রকে বৈধতা দেয়।
স্তরযুক্ত মডেল: একই সাথে সহযোগিতা এবং ব্যক্তিগতকরণ
লেয়ার মডেল হলো ভিত্তিপ্রস্তর। লেয়ার হলো রেসিপি, কনফিগারেশন এবং সম্পর্কিত ক্লাসের একটি ভাণ্ডার। স্তরগুলি স্ট্যাক করা হয় এবং শ্রেণিবদ্ধভাবে ওভাররাইড করা যেতে পারে, যা আপনাকে সাধারণ জিনিসগুলি উত্তরাধিকার সূত্রে পেতে এবং ভিত্তিটি না ভেঙে পরিবর্তনগুলি প্রয়োগ করতে দেয়।
এই পদ্ধতিটি আপনার কাজের যৌক্তিক বিচ্ছেদকে উৎসাহিত করে: প্রস্তুতকারকের কাছ থেকে একটি BSP স্তর, একটি GUI স্তর, একটি মিডলওয়্যার স্তর, আপনার অ্যাপ্লিকেশনের জন্য একটি স্তর, ডিস্ট্রোর জন্য একটি স্তর... "সবকিছু এক স্তরে রাখা" এড়িয়ে চললে আপডেট, রক্ষণাবেক্ষণ এবং পুনঃব্যবহারের ক্ষেত্রে আপনার জীবন সহজ হয়ে যায় প্রকল্পের মধ্যে উপাদান।
BSP স্তরগুলি অত্যন্ত গুরুত্বপূর্ণ: এগুলিতে নির্দিষ্ট লক্ষ্যবস্তুর জন্য ডিভাইস ট্রি, কার্নেল কনফিগারেশন, ড্রাইভার এবং মেশিন সেটিংস থাকে (যেমন, রাস্পবেরি পাই পরিবার)। তাদের জন্য ধন্যবাদ, হার্ডওয়্যার যোগ করা বা পরিবর্তন করা মানে সবকিছু পুনর্লিখন করা নয়।, শুধু উপযুক্ত স্তর যোগ করুন বা অভিযোজিত করুন।
নির্মাণ কর্মপ্রবাহ
সাধারণ প্রক্রিয়াটি খুবই স্পষ্ট, যদিও তীব্র। প্রথমে, আপনি স্থাপত্য, নীতি, প্যাচ এবং পরামিতিগুলি সংজ্ঞায়িত করুন (যেমন, local.conf y bblayers.conf). বিটবেক উৎস (টারবল, গিট…), প্যাচ, কনফিগার এবং কম্পাইল আনে ক্লাসের উপর নির্ভর করে (অটোটুল, সিএমকে, ইত্যাদি)।
মধ্যবর্তী ফলাফলটি একটি অস্থায়ী স্টেজিংয়ে ইনস্টল করা হয় এবং নির্বাচিত বিন্যাসে (deb, rpm, ipk) প্যাকেজ করা হয়। এই প্যাকেজগুলির সাহায্যে rootfs তৈরি করা হয় এবং চূড়ান্ত চিত্রগুলি তৈরি করা হয়। যা আপনি ডিভাইসে ফ্ল্যাশ করবেন বা স্থাপন করবেন।
বিল্ড প্রক্রিয়া জুড়ে স্যানিটি চেক, রিগ্রেশন এবং QA পরীক্ষা করা হয়; আপনি QEMU তে ছবি বুট এবং যাচাই করতে পারেন। এটি বাস্তব হার্ডওয়্যারে ট্রায়াল-এরর চক্র হ্রাস করে।, বিশেষ করে প্রাথমিক পর্যায়ে।
Yocto এর চারপাশে টুল এবং সাবপ্রজেক্ট

এই ইকোসিস্টেমটি এমন ইউটিলিটি প্রদান করে যা আপনার জীবনকে সহজ করে তোলে। CROPS হল একটি কন্টেইনার ফ্রেমওয়ার্ক যা Linux, Windows এবং macOS জুড়ে সামঞ্জস্যপূর্ণ বিল্ড পরিবেশ প্রদান করে; মিশ্র দলগুলির জন্য বা নির্ভরতাগুলিকে অন্তর্ভুক্ত করার জন্য আদর্শটোস্টার হল বিল্ড কনফিগার এবং চালু করার এবং মেট্রিক্স এবং আর্টিফ্যাক্ট দেখার জন্য একটি ওয়েব ইন্টারফেস।
eSDK (এক্সটেনসিবল SDK) অ্যাপ্লিকেশন ডেভেলপারদের অনুমতি দেয় লাইব্রেরি এবং পরিবর্তনগুলি যোগ করুন এবং সেগুলিকে ছবিতে ফিরিয়ে দিন। সুবিধাজনকভাবে। একটি কমান্ড দিয়ে একাধিক আর্কিটেকচার তৈরির জন্য মাল্টি-কনফিগ সাপোর্ট এবং সোর্স উপলব্ধ না থাকলে বাইনারি অন্তর্ভুক্ত করার জন্য "বাইনারি বিল্ডস" রয়েছে।
সিস্টেমটি একটি লাইসেন্স ম্যানিফেস্ট এবং ব্যবহৃত কোডের রেফারেন্স তৈরি করতে পারে, সম্মতির চাবিকাঠি নিয়ন্ত্রিত পরিবেশে অথবা কপিলেফ্ট বাধ্যবাধকতা সহ।
এই প্রকল্পের আওতায় অন্যান্য প্রকল্পের মধ্যে রয়েছে সিউডো, ক্রস-প্রিলিঙ্ক, হালকা গ্রাফিকাল পরিবেশের জন্য ম্যাচবক্স স্যুট এবং আরও অনেক কিছু। পূর্বে Eclipse এর সাথে একটি ইন্টিগ্রেশন ছিল যা 2.7 সংস্করণ থেকে সরানো হয়েছিল। নতুন সরঞ্জামের সামনে অপ্রচলিত হয়ে পড়ছে।
প্যাকেজ ব্যবস্থাপনা এবং আপডেট কৌশল
ফিল্ড ডিভাইসগুলি আপডেট করা অত্যন্ত গুরুত্বপূর্ণ, এবং Yocto বেশ কয়েকটি বিকল্প অফার করে। আপনি সম্পূর্ণ চিত্র (সম্পূর্ণ সিস্টেমের ধারাবাহিকতা) আপডেট করতে পারেন, ব্যান্ডউইথ সংরক্ষণের জন্য প্যাকেট স্তরে পরিবর্তনগুলি বিতরণ করুন, রিভার্সন সহ পারমাণবিক মডেল ব্যবহার করুন (যেমন OSTree) অথবা স্থানান্তর কমাতে ডেল্টা ব্যবহার করুন।
কোন রূপালী বুলেট নেই: সম্পূর্ণ চিত্র "বড় জাম্প" এর জন্য, প্যাকেটগুলি গ্রানুলার পরিবর্তনের জন্য, পারমাণবিক পরিবর্তনের সাথে গুরুত্বপূর্ণ পরিবেশের জন্য এবং ডেল্টা সংকীর্ণ নেটওয়ার্কের জন্য ভাল। সুবিধা হলো, আপনি আপনার পণ্যের সাথে মানানসই কৌশলটি বেছে নেবেন। এবং তোমার অপারেশন।
পরীক্ষা, অনুকরণ এবং ডকুমেন্টেশন
Yocto মানের যত্ন নেয়। এতে স্যানিটি এবং রিগ্রেশন পরীক্ষা, QEMU-তে বুটিং এবং পরীক্ষার জন্য সমর্থন এবং টেস্ট স্যুটগুলিকে একীভূত করার ক্ষমতা অন্তর্ভুক্ত রয়েছে। এটি বৈধতা চক্রকে সংকুচিত করে এবং হার্ডওয়্যারের বিস্ময় হ্রাস করে।.
ডকুমেন্টেশন প্রকল্পের মূল ভিত্তি। প্রতিটি রিলিজ আপডেটেড গাইড প্রকাশ করে এবং বর্তমান এবং সংরক্ষণাগারভুক্ত সংস্করণের নথিগুলি রাখা হয়, খুবই প্রয়োজনীয় কিছু কারণ আচরণ রিলিজের মধ্যে পরিবর্তিত হতে পারে।
শাসনব্যবস্থা এবং প্রবর্তন
কারিগরি দিকনির্দেশনা প্রকল্পের স্থপতি (রিচার্ড পার্ডি) এবং প্রতিটি উপাদানের রক্ষণাবেক্ষণকারীদের একটি শ্রেণিবিন্যাসের উপর নির্ভর করে, লিনাক্স কার্নেলের অনুরূপ একটি মডেলেপ্রশাসনিক দিক থেকে, একটি উপদেষ্টা বোর্ড রয়েছে যার সদস্যদের (সিলিকন নির্মাতারা, ইয়োক্টো-ভিত্তিক বাণিজ্যিক বিক্রেতারা, কর্পোরেট ব্যবহারকারী এবং পরামর্শদাতা) প্রতিনিধিদের পাশাপাশি অর্থ, অবকাঠামো, প্রচার এবং সম্প্রদায়ের জন্য কর্মী গোষ্ঠী রয়েছে।
প্রকাশের সময়সূচী অর্ধ-বার্ষিক (এপ্রিল এবং অক্টোবর), শেষ তিনটি শাখার জন্য নির্দিষ্ট সংস্করণ সহ। এটি একটি অনুমানযোগ্য গতি নির্ধারণ করে যার জন্য কোম্পানিগুলি পরিকল্পনা করতে পারে। স্তর এবং পণ্য আপডেট করতে।
সংস্করণ এবং কোডনাম
ঐতিহাসিকভাবে, ইয়োক্টো সংখ্যা এবং ডাকনাম দ্বারা চিহ্নিত রিলিজ প্রকাশ করেছে। নীচে সংস্করণ এবং তারিখের একটি প্রতিনিধি নির্বাচন দেওয়া হল:
| সংস্করণ | সাঙ্কেতিক নাম | তারিখ |
|---|---|---|
| 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 | পাইরো | 04/2017 |
| 2.2 | Morty | 10/2016 |
| 2.1 | ক্রোগথ | 04/2016 |
| 2.0 | যিথ্রো | 10/2015 |
| 1.8 | fido | 04/2015 |
| 1.7 | হতবুদ্ধি | 10/2014 |
| 1.6 | ফ্ুলপাছ | 04/2014 |
| 1.5 | Dora, | 10/2013 |
| 1.4 | ডিলান | 04/2013 |
| 1.3 | ডিলান | 10/2012 |
| 1.2 | ডেনজিল | 04/2012 |
| 1.1 | এডিসন | 10/2011 |
| 1.0 | বার্নার্ড | 2011 |
| 0.9 | লাভার্ন | 2010 |
জেনেরিক ছবি ছাড়াও, প্রকল্পটি Poky নামে একটি রেফারেন্স বাস্তবায়ন বজায় রাখে যা OE বিল্ড সিস্টেম এবং স্তরগুলিতে সংগঠিত রেসিপিগুলির একটি বিস্তৃত সেটকে একীভূত করে, একটি এমবেডেড সিস্টেমের জন্য একটি কার্যকরী টেমপ্লেট হিসাবে কার্যকর.
ব্র্যান্ড প্রোগ্রাম: অংশগ্রহণকারী এবং সামঞ্জস্য

ইয়োক্টো ব্র্যান্ড প্রোগ্রাম সংস্থা এবং পণ্যগুলিকে দুটি সিলের মাধ্যমে প্রকল্পের সাথে তাদের কাজ যুক্ত করার অনুমতি দেয়: "ইয়োক্টো প্রকল্প অংশগ্রহণকারী" এমন সত্তার জন্য যারা প্রকাশ্যে ইয়োক্টো ব্যবহার করে এবং সমর্থন করে, এবং সদস্য সংস্থাগুলির OE-সামঞ্জস্যপূর্ণ পণ্য, BSP এবং স্তরগুলির জন্য "Yocto Project Compatible"।
অপরিহার্য শব্দকোষ
- কনফিগারেশন ফাইল (conf): গ্লোবাল ভেরিয়েবল, ব্যবহারকারীর বিকল্প এবং হার্ডওয়্যার সেটিংস সংজ্ঞায়িত করে; তারা একটি নির্দিষ্ট প্ল্যাটফর্মের জন্য কী সংকলিত হয় এবং ছবিতে কী যায় তা নির্দেশ করে।
- রেসিপি (.bb): কোডের উৎস, প্যাচ, নির্ভরতা এবং প্যাকেজ তৈরির জন্য বিল্ড বিকল্পগুলি এবং তাদের সাথে, চূড়ান্ত চিত্রটি বর্ণনা করুন।
- স্তরসমূহ: রেসিপি এবং সম্পর্কিত মেটাডেটার সংগ্রহ; এগুলি কাস্টমাইজেশনের বিচ্ছিন্নতা এবং একাধিক আর্কিটেকচারের পরিষ্কার সমর্থনের অনুমতি দেয়।
- মেটাডাটা: এর মধ্যে রয়েছে রেসিপি, কনফিগারেশন, ক্লাস এবং ডেটা যা কী তৈরি করা হবে এবং কীভাবে তা নিয়ন্ত্রণ করে, যার মধ্যে রয়েছে সংস্করণ এবং প্যাচ রেফারেন্স।
- বিটবেক: এক্সিকিউশন ইঞ্জিন যা রেসিপি বিশ্লেষণ করে এবং কাজের ক্রম কনফিগার করে; "তৈরি" এর অনুরূপ, কিন্তু প্যাকেজ এবং চিত্রের উপর ভিত্তি করে.
- প্যাকেজ: rootfs এবং সিস্টেম ইমেজ মাউন্ট করতে ব্যবহৃত উৎপন্ন আর্টিফ্যাক্ট (deb, rpm, ipk)।
- eSDK সম্পর্কে: অ্যাপ্লিকেশন ডেভেলপারদের জন্য একটি এক্সটেনসিবল SDK যা পরিবর্তন এবং লাইব্রেরিগুলিকে একীভূত করতে এবং লক্ষ্য হার্ডওয়্যারে সেগুলি পরীক্ষা করতে পারে।
- ছবি: লিনাক্স অপারেটিং সিস্টেমের বাইনারি ফর্ম যা লক্ষ্য ডিভাইসে ফ্ল্যাশ বা স্থাপন করা হবে।
ব্যবহারের কেস, IoT এবং সিস্টেম পছন্দ
এমবেডেড বাজার ক্রমাগত বৃদ্ধি পাচ্ছে: আরও কাস্টমাইজড ডিভাইস, আরও বৈচিত্র্যময় বোর্ড এবং SoC এবং তাই, কাস্টম ওএস সিস্টেমের বৃহত্তর চাহিদা। লিনাক্স নিজেকে ডি ফ্যাক্টো স্ট্যান্ডার্ড হিসেবে প্রতিষ্ঠিত করেছে, এবং ইয়োক্টো এটিকে "আপনার মতো করে" তৈরি করার জন্য একটি দুর্দান্ত বিকল্প।
ডেবিয়ান/উবুন্টুর মতো সাধারণ-উদ্দেশ্যমূলক বাইনারি বিতরণের তুলনায়, ইয়োক্টো পুনরুৎপাদনযোগ্যতা এবং ট্রেসেবিলিটি সহ সংস্করণ এবং প্যাচ সহ ইনস্টল করা জিনিসগুলির উপর সম্পূর্ণ নিয়ন্ত্রণ প্রদান করে। যেসব পণ্যের সীমিত উপস্থিতি, নিরাপত্তা এবং দীর্ঘমেয়াদী রক্ষণাবেক্ষণের প্রয়োজন হয়, তাদের জন্য, একটি বাস্তবসম্মত সিদ্ধান্ত।
কোম্পানিগুলি ইয়োক্টোকে আধুনিক ফিল্ড অপারেশন আর্কিটেকচারের সাথে একত্রিত করে (OTA, সুরক্ষিত পার্টিশন, রোলব্যাক), সিআই/সিডি পাইপলাইন একীভূতকরণ, স্বয়ংক্রিয় পরীক্ষা এবং ধীরে ধীরে স্থাপনাএমনকি এমন সমাধানও রয়েছে যা Yocto-কে কাজে লাগিয়ে উন্নত ক্ষমতা বৃদ্ধি করে (যেমন, বিশ্লেষণ, AI এবং Yocto দ্বারা সমর্থিত ক্লাউড সংযোগের উপর দৃষ্টি নিবদ্ধ করা প্ল্যাটফর্ম)।
নিরাপত্তা এবং ভালো অনুশীলন
নিরাপত্তা একটি অগ্রাধিকার। প্রকল্পটি CII সেরা অনুশীলনের সাথে সামঞ্জস্যপূর্ণ এবং পুনরুৎপাদনযোগ্য বিল্ডগুলিকে উৎসাহিত করে (কোর-ইমেজ-মিনিমালের উপর পরীক্ষা ~99,8% অর্জন করেছে)। নির্ভরতা, পরিবেশ এবং টুলচেইন নিয়ন্ত্রণ করলে বিল্ড দূষণ কমে।.
রানটাইম লেভেলে, আপনি সূক্ষ্ম অ্যাক্সেস নিয়ন্ত্রণের জন্য SELinux, রানটাইম ইন্টিগ্রিটি পরিমাপের জন্য IMA এবং বুটলোডার, কার্নেল এবং initramfs যাচাই করে এমন সুরক্ষিত বুট চেইন সক্ষম করতে পারেন। ফাইল সিস্টেম এনক্রিপশন এবং কী ব্যবস্থাপনা সম্পূর্ণ সুরক্ষা বিশ্রামে.
তত্ত্ব থেকে অনুশীলনে: একটি চিত্র তৈরি করা
সবচেয়ে মৌলিক উপায় হল Poky ক্লোন করা, পরিবেশ শুরু করা, মেশিন নির্বাচন করা (উদাহরণস্বরূপ একটি QEMU টার্গেট বা একটি রাস্পবেরি পাই), প্রয়োজনীয় BSP স্তর যোগ করুন এবং একটি রেফারেন্স চিত্রের বিপরীতে BitBake চালান।প্রথম বিল্ডটি তৈরিতে কিছুটা সময় লাগে, কিন্তু তারপর ক্রমবর্ধমান বিল্ডগুলি দ্রুতগতিতে সম্পন্ন হয়।
হার্ডওয়্যারের জন্য যেমন রাস্পবেরি পাই/রিটার্মিনাল, সাধারণ প্রবাহে ক্লোনিং স্তর যেমন মেটা-রাস্পবেরিপি, মেটা-ওই, মেটা-পাইথন, অথবা ডিভাইস বিক্রেতার একটি স্তর অন্তর্ভুক্ত থাকে, কার্নেল টিউন করুন, স্তর এবং ভেরিয়েবল আমদানি করুন এবং একটি নির্দিষ্ট চিত্র তৈরি করুন (উদাহরণস্বরূপ, একটি "rpi-test-image")।
টোস্টার আপনাকে GUI এর মাধ্যমে একই কাজ করতে দেয়: একটি প্রকল্প তৈরি করুন, রিলিজ নির্বাচন করুন, মেশিন (raspberrypi4-64, raspberrypi5…), স্তরগুলি আমদানি করুন, ভেরিয়েবলগুলি সামঞ্জস্য করুন (যেমন, গ্রাফিক্যাল ব্যাকএন্ড), এবং ব্রাউজার থেকে বিল্ডটি চালু করুন।. সম্পন্ন হলে, আর্টিফ্যাক্টগুলি ডাউনলোড করুন (যেমন একটি .wic.bz2) এবং ফ্ল্যাশ করুন।
বিটবেক স্তর এবং রেসিপি তালিকাভুক্ত করার জন্য, নির্ভরতা অন্বেষণ করার জন্য, প্যাকেজের জন্য একটি ডেভশেল খোলার জন্য দরকারী কমান্ড অফার করে, কাজগুলি পরিদর্শন করুন বা পুনর্নির্মাণের জন্য পরিবেশ পরিষ্কার করুনএটি কিছু ভুল হলে রোগ নির্ণয়ের গতি বাড়ায়।
বিস্তারিত কর্মপ্রবাহ (কার্যক্রমিক সারাংশ)
- আর্কিটেকচার, নীতি, প্যাচ এবং কনফিগারেশন সংজ্ঞায়িত করে।
- ঘোষিত উৎস থেকে ফন্ট ডাউনলোড করুন।
- আনপ্যাক করুন, প্যাচ প্রয়োগ করুন এবং কনফিগার/কম্পাইল চালান যথোপযুক্ত হিসাবে
- স্টেজিং এবং প্যাকেজিং।
- QA চালান এবং পরীক্ষা করুন।
- প্যাকেজ ফিড প্রকাশ করে।
- চূড়ান্ত চিত্র তৈরি করে।
এই স্কিমটি আপনার উপাদান অনুসারে ক্লাস এবং স্তরগুলির সাথে খাপ খায়: আপনি একটি নির্দিষ্ট গ্রাফিকাল ব্যাকএন্ড, আপনার নিজস্ব কার্নেল মডিউল, অথবা একটি ভিন্ন init চাইতে পারেন। ইয়োক্টোর সৌন্দর্য হলো এর সবকিছুই ভার্সনযোগ্য মেটাডেটা হিসেবে প্রকাশ করা হয়।.
দল দত্তক নেওয়ার টিপস
উইন্ডোজ পরিবেশ থেকে আসা প্রোফাইলের জন্য, ইউনিক্স/লিনাক্সের মৌলিক বিষয়গুলিতে বিনিয়োগ অনেক সাহায্য করে। আপনার ওয়ার্কস্টেশনে লিনাক্স ডিস্ট্রো ব্যবহার করুন, ব্যাশ এবং পাইথন বুঝুন এবং ক্রস-টুলচেইনের সাথে পরিচিত হন। বক্ররেখাকে ত্বরান্বিত করে।
আপনি যদি এই প্রকল্পে নতুন হন, তাহলে এন্ড-টু-এন্ড ওয়ার্কফ্লো যাচাই করতে Poky এবং QEMU দিয়ে শুরু করুন। তারপর আসল হার্ডওয়্যার BSP স্তর এবং আপনার নিজস্ব অ্যাপ্লিকেশন স্তর যোগ করুন।শুরু থেকেই কন্টেইনার বিল্ড (CROPS) এবং CI/CD স্বয়ংক্রিয় করুন।
মাঠ আপগ্রেড এবং পরিচালনা ক্ষমতা
যখন পণ্যটি কারখানা থেকে বেরিয়ে যায়, তখন আপনার একটি আপডেট কৌশল প্রয়োজন। Yocto-এর সাহায্যে, আপনি প্যাকেজ রিপোজিটরি, স্বাক্ষরিত পূর্ণ চিত্র এবং রোলব্যাক বা ডেল্টা সহ পারমাণবিক স্কিম থেকে বেছে নিতে পারেন। আপডেটের আকার, ব্যান্ডউইথ এবং ঝুঁকির উপর ভিত্তি করে নির্বাচন করুন যা তুমি নিতে চাও।
লাইসেন্স ইনভেন্টরি এবং সংশ্লিষ্ট সোর্স কোড একীভূত করা আরেকটি অপরিহার্য সম্মতি। ইয়োক্টো লাইসেন্স ম্যানিফেস্ট তৈরি করে এবং কম্পোনেন্ট কোডের সাথে লিঙ্ক করতে পারে।, নিরীক্ষা এবং পুনর্বণ্টন বাধ্যবাধকতা সহজতর করা।
