একাধিক ডিটি ব্যবহার করা

অনেক SoC বিক্রেতা এবং ODM একটি ডিভাইসে একাধিক DTs ব্যবহার সমর্থন করে, একটি ইমেজকে একাধিক SKU/কনফিগারেশন পাওয়ার জন্য সক্ষম করে। এই ধরনের ক্ষেত্রে, বুটলোডার হার্ডওয়্যার সনাক্ত করে এবং রানটাইমে সংশ্লিষ্ট DT লোড করে:

চিত্র 1. বুটলোডারে একাধিক ডিভাইস ট্রি ওভারলে।

দ্রষ্টব্য: একাধিক DTs ব্যবহার করা বাধ্যতামূলক নয়।

ঠিককরা

DTO মডেলে একাধিক DT-এর জন্য সমর্থন যোগ করতে, প্রধান DT-এর একটি তালিকা এবং ওভারলে DT-এর আরেকটি তালিকা সেট আপ করুন।

চিত্র 2. একাধিক DT-এর জন্য রানটাইম DTO বাস্তবায়ন।

বুটলোডার সক্ষম হওয়া উচিত:

  • SoC ID পড়ুন এবং সংশ্লিষ্ট প্রধান ডিভাইস ট্রি নির্বাচন করুন, এবং
  • বোর্ড আইডি পড়ুন এবং সেই অনুযায়ী ওভারলে ডিভাইস গাছের সেট নির্বাচন করুন।

রানটাইমে ব্যবহারের জন্য শুধুমাত্র একটি প্রধান DT নির্বাচন করা উচিত। একাধিক ওভারলে ডিটি নির্বাচন করা যেতে পারে তবে সেগুলি অবশ্যই নির্বাচিত প্রধান ডিটির সাথে সামঞ্জস্যপূর্ণ হতে হবে। একাধিক ওভারলে ব্যবহার করে ডিটিবিও পার্টিশনের মধ্যে প্রতি বোর্ডে একটি ওভারলে সংরক্ষণ করা এড়াতে সহায়তা করতে পারে এবং বোর্ড আইডি (বা সম্ভবত পেরিফেরালগুলি পরীক্ষা করে) এর উপর ভিত্তি করে প্রয়োজনীয় ওভারলেগুলির উপসেট নির্ধারণ করতে বুটলোডারকে সক্ষম করে। উদাহরণস্বরূপ, বোর্ড A-এর ওভারলে 1, 3, এবং 5 দ্বারা যুক্ত ডিভাইসগুলির প্রয়োজন হতে পারে যখন বোর্ড B-এর ওভারলে 1, 4 এবং 5 দ্বারা যুক্ত ডিভাইসগুলির প্রয়োজন হতে পারে।

বিভাজন

পার্টিশন করার জন্য, DTBs এবং DTBOs সংরক্ষণ করার জন্য ফ্ল্যাশ মেমরিতে একটি বুটলোডার রানটাইম-অ্যাক্সেসযোগ্য এবং বিশ্বস্ত অবস্থান নির্ধারণ করুন (বুটলোডার অবশ্যই এই ফাইলগুলিকে ম্যাচিং প্রক্রিয়ায় সনাক্ত করতে সক্ষম হবে)। মনে রাখবেন যে ডিটিবি এবং ডিটিবিও একই পার্টিশনে থাকতে পারে না। যদি আপনার DTBs/DTBOs dtb / dtbo পার্টিশনে থাকে, তাহলে DTB/DTBO পার্টিশন ফরম্যাটে বিস্তারিত টেবিল স্ট্রাকচার এবং হেডার ফরম্যাট ব্যবহার করুন।

বুটলোডারে চলছে

চালানোর জন্য:

  1. SoC সনাক্ত করুন এবং স্টোরেজ থেকে মেমরিতে সংশ্লিষ্ট .dtb লোড করুন।
  2. বোর্ড শনাক্ত করুন এবং স্টোরেজ থেকে মেমরিতে সংশ্লিষ্ট .dtbo লোড করুন।
  3. .dtb কে .dtbo এর সাথে ওভারলে করুন একটি মার্জড DT হতে।
  4. মার্জ করা DT-এর মেমরি ঠিকানা দেওয়া স্টার্ট কার্নেল।