বুট ক্রম কি?


35

আমি ভাবছি যে রাস্পবেরি পাই এর বুট ক্রমটি কি একটি সাধারণ সেটআপে রয়েছে (এনওবিএস বলুন), পাওয়ার অ্যাপ্লিকেশন থেকে (বা উষ্ণ পুনরায় সেট করা যদি আলাদা হয়) অবধি, বলুন, লোগোটির সংযোজন; বা যেখানে বর্ণিত হয়।

এই অনুক্রমের একটি অতি সাধারণ চিত্রের পাশাপাশি, আমি প্রাথমিক পর্যায়ে সবচেয়ে আগ্রহী:

  1. এআরএম সিপিইউর জন্য রিসেট ভেক্টরটি কী এবং কীভাবে / কোথায় সংজ্ঞায়িত হয়?
  2. প্রথম এআরএম সিপিইউ নির্দেশাবলী কোন স্মৃতি থেকে নেওয়া হয়েছে? এটি কোথায় এবং এই কোডটি সংরক্ষণ করার জন্য কোন প্রযুক্তি ব্যবহার করা হয়?
  3. এটি কি আরএম 32 বা থাম্ব (বা সম্ভবত জাজেল) কোড? এটি কি রিসেট ভেক্টরের লো অর্ডার বিটের উপর নির্ভর করে?
  4. সেই প্রাথমিক বুট কোডের উত্স (বা বিযুক্ত, বা ডাম্প) পাওয়া যায়? যদি তা না হয়, তবে এটি নির্ধারণের জন্য প্রযুক্তিগত কোনও কিছু কী জেটি পোর্টের ব্যবহারকে বাধা দিচ্ছে? আইনী হিসাবে, আমি যেখানে বাস করি সেখানে প্রযোজ্য আইন সম্পর্কে আমার বোঝার উপর বিশ্বাসের ঝুঁকি ধরে নিতে প্রস্তুত (ফ্রান্স), যা হ'ল আমি আমার নিজের কম্পিউটারটিকে বিশ্লেষণ করার সম্পূর্ণ অনুমতি পেয়েছি, কমপক্ষে একটি স্পষ্ট চুক্তির অভাবে প্রয়োজন হয় না।
  5. পেরিফেরিয়ালগুলি কোন ক্রমে সূচনা করা হয় এবং কোন টুকরা কোড দ্বারা?
  6. এআরএম সিপিইউর পাশাপাশি, বিসিএম 2835-তে কি কোনও প্রসেসর / অটোমেটা চলছে, এবং এটির বুকে ক্রমটি কীভাবে এআরএম সিপিইউ সম্পর্কিত?

আমি এআরএম সিপিইউর প্রযুক্তিগত রেফারেন্স ম্যানুয়াল এবং বিসিএম 2835 এআরএম পেরিফেরিয়াল , বা অন্য কোনও নথিতে ডুব দিতে প্রস্তুত ।

আপডেট করুন: পোস্ট করার পরে, আমি দেখেছি এই এবং এই , জানায় BCM2835 এর জিপিইউ এআরএম করার জন্য একটি মাস্টার হিসাবে অভিনয় করা হয়, এবং প্রচন্ডভাবে বুট ক্রম সাথে জড়িত আছেন।


4
আমি কেবল এটিই বলতে পারি যে তথ্যগুলির বেশিরভাগটি সোর্স কোড, বুটলোডার এবং এসসি ফার্মওয়্যারের মতো ক্লোজড সোর্স is .. আপাতত বরাদ্দটি অজানা। আপনার একটি জিনিস জানা উচিত। বিসিএম হ'ল জিপিইউ ... সিপিইউ নয়। বুটলোডারটি জিপিইউ বিভাগে শুরু হয়, সেখানে র‌্যাম শুরু করে সিপিইউতে হস্তান্তর করে যেখানে আমাদের প্রথম উত্স যেখানে সোর্স কোড অ্যাক্সেস আছে ... ওরফে রাস্পবিয়ান। শুভকামনা এই প্রশ্নের উত্তর দেওয়া খুব বিস্তৃত এবং কঠিন।
পাইটর কুলা

উত্তর:


38

রাস্পবেরি পাই এর বুট ক্রমটি মূলত এটি:

  1. স্টেজ 1 বুটটি অন-চিপ রমে রয়েছে। এল 2 ক্যাশে লোড স্টেজ 2
  2. মঞ্চ 2 bootcode.bin। এসডিআরাম এবং সক্ষম করে স্টেজ 3
  3. স্টেজ 3 হয় loader.bin। এটি .elfফর্ম্যাট এবং লোড সম্পর্কে জানেstart.elf
  4. start.elfলোড kernel.img। এটা তোলে তারপর এছাড়াও সার্চ config.txt, cmdline.txtএবং bcm2835.dtb dtb ফাইল থাকে, তাহলে সেটি লোড করা হয় 0×100& কার্নেল @ 0×8000 তাহলে disable_commandline_tagsসেট করা হয় এটা লোড kernel @ 0×0 অন্যথায় কার্নেল @ লোড 0×8000এবং করা ATAGS0×100
  5. kernel.img তারপরে এআরএম-এ চালানো হয়।

kernel.imgএআরএম লোড না হওয়া পর্যন্ত সবকিছু জিপিইউতে চালিত হয় ।

আমি এই চিত্রটি বেশ কার্যকর বলে মনে করেছি:

বুট সিকোয়েন্স


2
উপকারী। এটি কি স্পষ্ট করে বলা যেতে পারে যে ২ য় পর্যায়ের বুটলোডার bootcode.binজিপিইউ, এআরএম (এবং তারপরে কোন ধরণের কোড) দ্বারা পরিচালিত কোড, বা এর মিশ্রণ রয়েছে? তৃতীয় পর্যায়ে একই loader.bin(যদি এটি চলে যায় না, যেমনটি মনে হয়)।
fgrieu

3
@fgrieu স্পষ্টকরণ অন্তর্ভুক্ত করার জন্য আমি উত্তর সম্পাদনা করেছি। এআরএম চালিত না হওয়া পর্যন্ত সবকিছু জিপিইউতে kernel.imgচালিত হয়।
এসজি 60

1
এই অনুযায়ী loader.binআর ব্যবহার করা হয় না। এই গিট কমিট অনুসারে bootcode.binসরাসরি লোডstart.elf
হিটফ্যান জন

@ এসজি 60: আপনি কি হিটফ্যানজাহানের তথ্য দিয়ে নিজের উত্তরটি আপডেট করতে পারবেন?
পিটার মর্টেনসেন

কেউ কি এনওবিএস বুট সম্পর্কে জানে? স্পষ্টতই প্রক্রিয়াটি কিছুটা আলাদা, পুনরুদ্ধারের সাথে জড়িত elf আমি কিছুটা নিচু স্তরে ইউবুট কাজ করা সম্পর্কে আগ্রহী।
স্যাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.