Booting process of Android devices
অ্যান্ড্রয়েড ডিভাইসগুলির বুটিং প্রক্রিয়াটি এস. ও. সি-র পাওয়ার-অন (একটি চিপে সিস্টেম) থেকে শুরু হয় এবং হোম স্ক্রিনের দৃশ্যমানতা বা পুনরুদ্ধার এবং ফাস্টবুটের মতো বিশেষ মোডগুলিতে শেষ হয়। অ্যান্ড্রয়েড চালিত ডিভাইসগুলির বুট প্রক্রিয়া এস. ও. সি নির্মাতাদের ফার্মওয়্যার নকশা দ্বারা প্রভাবিত হয়। 2018 সালের হিসাবে, অ্যান্ড্রয়েড বাজারের 90 শতাংশ এস. ও. সি কোয়ালকম, স্যামসাং বা মিডিয়াটেক দ্বারা সরবরাহ করা হয়। অন্যান্য বিক্রেতাদের মধ্যে রয়েছে রকচিপ, মারভেল, এনভিডিয়া এবং পূর্বে টেক্সাস ইন্সট্রুমেন্টস। অ্যান্ড্রয়েড কিটক্যাটের সঙ্গে ইতিহাস যাচাইকৃত বুট চালু করা হয়েছিল। প্রাথমিক বুটলোডার প্রাথমিক বুটলোডার (পিবিএল), যা বুট রম-এ সংরক্ষণ করা হয়, হল বুট প্রক্রিয়ার প্রথম পর্যায়। এই কোডটি চিপসেট প্রস্তুতকারকের দ্বারা লেখা। পিবিএল পরবর্তী পর্যায়ের সত্যতা যাচাই করে। স্যামসাং স্মার্টফোনে, স্যামসাং সিকিউর বুট কী (এসএসবিকে) বুট রম দ্বারা পরবর্তী পর্যায়গুলি যাচাই করতে ব্যবহৃত হয়। কোয়ালকমের এস. ও. সি-তে, প্রাথমিক বুটলোডার থেকে কোয়ালকম জরুরী ডাউনলোড মোডে প্রবেশ করা সম্ভব। যদি সেকেন্ডারি বুটলোডারের যাচাইকরণ ব্যর্থ হয়, তবে এটি ইডিএল-এ প্রবেশ করবে। সেকেন্ডারি বুটলোডার যেহেতু বুট রমের স্থান সীমিত, তাই ই. এম. এম. সি বা ই. ইউ. এফ. এস-এ একটি সেকেন্ডারি বুটলোডার ব্যবহার করা হয়। সেকেন্ডারি বুটলোডার ট্রাস্টজোন শুরু করে। উদাহরণস্বরূপ, কোয়ালকম এমএসএম8960-এ, সেকেন্ডারি বুটলোডার 1 সেকেন্ডারি বুটলোডার 2 লোড করে। সেকেন্ডারি বুটলোডার 2 ট্রাস্টজোন এবং সেকেন্ডারি বুটলোডার 3 লোড করে। এসবিএল এখন কোয়ালকম দ্বারা এক্সবিএল নামে পরিচিত এবং দ্বিতীয় পর্যায়ে অ্যান্ড্রয়েড ব্যতীত অন্যান্য অপারেটিং সিস্টেম বুট করার জন্য ক্রস সামঞ্জস্যপূর্ণ হতে ইউইএফআই ব্যবহার করে। অ্যাবট কোয়ালকম লিটল কার্নেল ব্যবহার করে, মিডিয়াটেক দাস ইউ-বুট ব্যবহার করে। লিটল কার্নেল হল এমবেডেড ডিভাইসের জন্য একটি মাইক্রোকার্নেল, যা কোয়ালকম দ্বারা অ্যান্ড্রয়েড বুটলোডার হিসাবে ব্যবহার করার জন্য সংশোধন করা হয়েছে। অ্যান্ড্রয়েড বুটলোডার (অ্যাবুট), যা ফাস্টবুট ইন্টারফেস প্রয়োগ করে (যা স্যামসাং ডিভাইসে অনুপস্থিত)। অ্যাবুট বুট এবং পুনরুদ্ধার পার্টিশনের সত্যতা যাচাই করে। একটি নির্দিষ্ট কী সমন্বয় টিপে, ডিভাইসগুলি পুনরুদ্ধার মোডে বুট করতে পারে। আবুট তারপর লিনাক্স কার্নেলে নিয়ন্ত্রণ স্থানান্তর করে। কার্নেল এবং initramfs initramfs একটি gzip 'ed cpio আর্কাইভ যা একটি ছোট মূল ফাইল সিস্টেম ধারণ করে। এতে init রয়েছে, যা এক্সিকিউট করা হয়। অ্যান্ড্রয়েড কার্নেল হল লিনাক্স কার্নেলের একটি পরিবর্তিত সংস্করণ। ইনিশ পার্টিশনগুলি মাউন্ট করে। dm-verity fstab ফাইলে নির্দিষ্ট করা পার্টিশনগুলির অখণ্ডতা যাচাই করে। ডিএম-ভেরিটি হল একটি লিনাক্স কার্নেল মডিউল যা গুগল দ্বারা অ্যান্ড্রয়েডে 4.4 সংস্করণ থেকে চালু করা হয়েছিল। স্টক বাস্তবায়ন শুধুমাত্র ব্লক ভিত্তিক যাচাইকরণ সমর্থন করে, কিন্তু স্যামসাং ফাইলগুলির জন্য সমর্থন যোগ করেছে। জাইগোট জাইগোট ইনিত প্রক্রিয়া দ্বারা উদ্ভূত হয়, যা অ্যান্ড্রয়েড অ্যাপ্লিকেশন এবং পরিষেবা প্রক্রিয়া শুরু করার জন্য দায়ী। এটি এমন ক্লাসগুলিকে লোড এবং ইনিশিয়ালাইজ করে যা খুব ঘন ঘন হিপে ব্যবহার করার কথা। উদাহরণস্বরূপ, লাইব্রেরির ডেক্স ডেটা স্ট্রাকচার। জাইগোট শুরু হওয়ার পরে, এটি একটি সকেটে কমান্ডের জন্য শোনে। যখন একটি নতুন অ্যাপ্লিকেশন শুরু হয়, তখন জাইগোটে একটি কমান্ড পাঠানো হয় যা একটি ফর্ক () সিস্টেম কল কার্যকর করে। পার্টিশন বিন্যাস অ্যান্ড্রয়েড সিস্টেমটি বিভিন্ন পার্টিশনে বিভক্ত। কোয়ালকম প্ল্যাটফর্মটি জিইউআইডি পার্টিশন টেবিল ব্যবহার করে, যদিও এই নির্দিষ্টকরণটি ইউইএফআই নির্দিষ্টকরণের অংশ, এটি ইউইএফআই ফার্মওয়্যারের উপর নির্ভর করে না। আরও দেখুন উইন্ডোজ এক্সপ্ল্যানেটরি নোটের কোরবুট বুটিং প্রক্রিয়া রেফারেন্স বাহ্যিক লিঙ্ক Android.com-বুট ফ্লো ম্যানেজমেন্ট বুট টাইম কোয়ালকম বুটলোডার কোয়ালকমের চেইন অফ ট্রাস্ট সিকিউর বুট এবং ইমেজ অথেন্টিকেশন সিকিউর বুট স্ন্যাপড্রাগন 410 অ্যানালাইসিস অফ কোয়ালকম সিকিউর বুট চেইন এমএসএম8916-মেইনলাইন/কিপস্টাব অ্যান্ড্রয়েড সিস্টেম ইনিট প্রসেস স্টার্টআপ এবং init.rc সম্পূর্ণ বিশ্লেষণ অ্যান্ড্রয়েড ইনিশিয়াল ল্যাঙ্গুয়েজ অ্যান্ড্রয়েড (অপারেটিং সিস্টেম) বুটিং প্রসেস বুট লোডার