একটি ইউ-বুট ডিটিবি ফাইল কী এবং আমি কীভাবে এটি ব্যবহার করব (বিগলবোর্ড এক্সএম)?


13

আমি একটি বিগলবোর্ড এক্সএম (রেভ। সি) এর জন্য একটি কাস্টম লিনাক্স তৈরি করার চেষ্টা করছি। আমি প্রচুর সি / সি ++ করি তবে স্ক্র্যাচ থেকে লিনাক্স তৈরি এবং ইনস্টল করার এক শিক্ষানবিশ।

আমি ইয়োক্টো প্রজেক্ট বিল্ড অ্যাপ্লায়েন্স ( https://www.yoctoproject.org/ ) ব্যবহার করেছি যা আশাব্যঞ্জক বলে মনে হয়েছে - এটি ইউ-বুট বুট লোডার, লিনাক্স কার্নেল এবং রুট ফাইল সিস্টেমের জন্য ফাইলগুলি তৈরি করেছে।

এই পৃষ্ঠাটি ইয়োক্টো-উত্পাদিত ফাইলগুলির সাথে মাইক্রো এসডি কার্ড সেটআপ করার জন্য নির্দেশাবলী দেয়। তবে চিত্র ফাইলগুলিতে একটি ".dtb" ফাইল অন্তর্ভুক্ত রয়েছে যা সেট আপ নির্দেশিকাগুলিতে উল্লেখ করা হয়নি।

এই ফাইলটির কি বোর্ড হার্ডওয়্যার সাথে কিছু করার আছে? বিভিন্ন সাইটগুলি ডিটিডি ফাইল লোড করার কথা উল্লেখ করেছে (সম্ভবত uEnv.txt এ?) তবে আমি কোনও বিশদ তথ্য পাইনি।

আমি উপরোক্ত নির্দেশাবলীটি এমএলও এবং u-boot.img দিয়ে বুট পার্টিশন সেট আপ করতে ব্যবহার করেছি এবং uEnv.txt এর সাথে কিছুটা গণ্ডগোল করেছি। আমি রুট ফাইল সিস্টেমের সাথে একটি দ্বিতীয় বিভাজনও স্থাপন করেছি।

আমি বুট করতে এবং লগ ইন করতে সক্ষম হয়েছি (সিরিয়াল পোর্ট কনসোলের মাধ্যমে), তবে এটি বোর্ডের বেশিরভাগ হার্ডওয়্যার - যেমন ভিডিও এবং ইথারনেট সহ সমস্ত ইউএসবি ডিভাইসগুলির মতো কাজ করে নি। এটি হতে পারে কারণ আমি .dtb ফাইলটি ব্যবহার করছিলাম না?

কেউ কী ডিটিবি ব্যাখ্যা করতে পারেন এবং এটি কীভাবে বিগল বোর্ডে ব্যবহার করবেন? ধন্যবাদ!


দেখা যাচ্ছে যে আমি ফাইলটির নামটি ভুল করে পড়েছি - আমি মূলত ভেবেছিলাম এটি একটি ".dtd" ফাইল কিন্তু এটি সত্যই ".dtb" - এই কারণেই আমি এটি সম্পর্কে তথ্য পাই না। প্রশ্নটি এখন আপডেট করা হয়েছে।
জেরেমি

ধারণাটি আরও ভালভাবে বুঝতে QEMU ভার্চুয়াল ডিভাইসের সাথে ন্যূনতম উদাহরণ: স্ট্যাকওভারফ্লো
সিওরো সান্তিলি

উত্তর:


13

আমার নিজের প্রশ্নের উত্তর, আমি কী সন্ধান করব তা বের করার পরে। একটি "ডিটিবি" ফাইলটিতে একটি ডিভাইস ট্রি ব্লব (বা বাইনারি) থাকে (চমৎকার বর্ণনা এখানে রয়েছে )। বোর্ড সম্পর্কে হার্ডওয়্যার সম্পর্কিত তথ্য লিনাক্স কার্নেলে পৌঁছে দেওয়ার এটি নতুন (এর) উপায়।

এটি মেমোরিতে লোড করা যায় এবং ইউ-বুট দ্বারা কার্নেলের কাছে প্রেরণ করা যায়।

আমি যে ইউ-বুট কমান্ডগুলি ব্যবহার করেছি তা এখানে:

setenv bootargs 'console=tty0 console=ttyO2,115200n8 root=/dev/mmcblk0p2 rootwait rootfstype=ext4 rw'
fatload mmc 0:1 0x80300000 zImage
fatload mmc 0:1 0x815f0000 beagle-xm.dtb
bootz 0x80300000 - 0x815f0000

zImage কার্নেল এবং বিগল-এক্সএম.ডিটিবি হ'ল ডিভাইস ট্রি ব্লব। আমি uEnv.txt এ "uenvcmd = ..." ভেরিয়েবল স্থাপন করে বুট প্রক্রিয়াটি স্বয়ংক্রিয় করেছিলাম (এটিতে উপরেরটি দিয়ে) তবে এটি কিছুটা কুরুচিপূর্ণ এবং সম্ভবত আরও ভাল উপায় আছে।

মনে রাখবেন যে এটি বুট হয়ে গেছে এবং বলে যে এটি ডিভাইস ট্রি ঠিক আছে। তবে, আমার এখনও কোনও ইউএসবি ডিভাইস বা ভিডিও নেই (যতদূর আমি বলতে পারি)। তবে আমার সন্দেহ হয় যে এটি অন্যরকম সমস্যা হতে পারে।


3
বোর্ড সম্পর্কে হার্ডওয়্যার সম্পর্কিত তথ্য লিনাক্স কার্নেলে পৌঁছে দেওয়ার এটি নতুন (এর) উপায়। কার্নেলের কাছে হার্ডওয়্যার তথ্য দেওয়ার আগে কোনও উপায় ছিল না। পরিবর্তে, কার্নেলটিকে স্থিতিশীলভাবে সমস্ত তথ্য অন্তর্ভুক্ত করতে হবে এবং সেই সমস্ত ম্যাপিংয়ের তালিকা দেওয়ার জন্য বোর্ড-নির্দিষ্ট সি ফাইল থাকতে হবে। এটি কার্নেলের দৃষ্টিকোণ থেকে রক্ষণাবেক্ষণের দুঃস্বপ্ন।
BatchyX

ধন্যবাদ! আমি ডিটিবি ফাইলটি কীভাবে লোড করতে হবে তা বুঝতে পেরেছি এবং লিনাক্স এখন বুট আপ হয় এবং ড্রাইভার লোডিং সম্পর্কে বিভিন্ন বার্তা দেয় তবে আমি কোনও ইউএসবি ডিভাইস (ইথারনেট মডিউল সহ) দেখতে পাচ্ছি না। নতুন প্রশ্ন দেখুন: লিঙ্ক । লিনাক্সে ম্যানুয়ালি কনফিগার করার জন্য আমার কিছু দরকার আছে?
জেরেমি

তবে ডিটিবি ফাইলের জন্য কী ঠিকানা ব্যবহার করতে হবে? উদাহরণস্বরূপ, যদি আমার জাইমেজ 0x43000000 (0x80300000 উপরে উদাহরণের স্থলে) ঠিকানা দেয় তবে ডিটিবি কোথায় যাবে?
আন্দ্রে ভ্যান শৈব্রোকে

2

আমি বেগুনে কালোতে উবুন্টু 14.04 ব্যবহার করছি, তাই আমার সেটআপটি কিছুটা আলাদা হতে পারে তবে আমি কীভাবে একটি কাস্টম ডিটিবি লোড করেছি:

UEnv.txt এ এর ​​সাথে একটি লাইন যুক্ত করুন: dtb=name-of-desired.dtb

অনুসন্ধান করা অবস্থানগুলি এখানে নির্দিষ্ট হিসাবে নির্দিষ্ট করা উচিত । আমার জন্য এটি ছিল /boot/dtbs/linux-kernel/যেখানে লিনাক্স-কার্নেলটি বোঝা সংস্করণের নাম।


0

নোট করুন যে 2 টিটিবি আছে। ইউ বুট ডিটিবি এবং কার্নেল ডিটিবি। তারা 2 ভিন্ন জিনিস। ইউ-বুট বোর্ড ডিটিএস / ডিটিবি সর্বদা ব্যবহৃত হয় না, বাধ্যতামূলক হয় না, ইউটি-বুটে বিটিডব্লিউ আপনি "ইউ-বুট" ডিটিবি ব্যবহার করতে পারেন এটি ইউ-বুটে এমবেড করে অথবা এটি ইউ-বুটে যুক্ত করতে পারেন।

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