আমি লিনাক্স ফাউন্ডেশনের কারিগরি উপদেষ্টা জেমস বটমলি- র লেখা এই প্রবন্ধটি অনুবাদ করতে যাচ্ছি , যিনি লিনাক্স যাতে বুট করতে পারে, সেজন্য একটি প্রি-বুটলোডার তৈরি করার কাজে হাত দিয়েছিলেন ।
আমার আগের পোস্টে যেমনটা ব্যাখ্যা করেছিলাম, আমাদের কাছে লিনাক্স ফাউন্ডেশন প্রি-বুটলোডারের কোড প্রস্তুত আছে। তবে, মাইক্রোসফটের সাইনিং সিস্টেমে অ্যাক্সেস পেতে কিছুটা বিলম্ব হয়েছিল।
আপনাকে প্রথমে যা করতে হবে তা হলো ভেরিসাইন (বর্তমানে সিম্যানটেক)-কে ৯৯ ডলার ফি প্রদান করে একটি ভেরিসাইন-যাচাইকৃত কী সংগ্রহ করা। আমরা লিনাক্স ফাউন্ডেশনের জন্য এই কাজটি করেছিলাম, এবং তারা এটি যাচাই করার জন্য শুধু তাদের সদর দপ্তরে ফোন করতে চেয়েছিল। কী-টি একটি ইউআরএল-এর মাধ্যমে ফেরত আসে যা আপনার ব্রাউজারে ইনস্টল হয়ে যায়, কিন্তু সাধারণ লিনাক্স এসএসএল টুল ব্যবহার করে এটি এক্সট্র্যাক্ট করা এবং একটি নিয়মিত পিইএম সার্টিফিকেট ও কী তৈরি করা যায়। এর সাথে ইউইএফআই সাইনিং-এর কোনো সম্পর্ক নেই, কিন্তু আপনি যে ব্যক্তি বলে দাবি করছেন, তা মাইক্রোসফটের সিসডেভ সিস্টেমের কাছে যাচাই করার জন্য এটি ব্যবহৃত হয়। একটি সিসডেভ অ্যাকাউন্ট তৈরি করার আগে, তাদের দেওয়া একটি এক্সিকিউটেবল ফাইল সাইন করে এবং আপলোড করে আপনাকে এটি পরীক্ষা করতে হবে । তাদের কঠোর শর্ত রয়েছে যে আপনাকে একটি নির্দিষ্ট উইন্ডোজ প্ল্যাটফর্মে এটি সাইন করতে হবে, কিন্তু অন্তত এসবিসাইন (sbsign) কাজ করেছিল, এবং ব্যস, আমাদের অ্যাকাউন্টটি তৈরি হয়ে গিয়েছিল।
একবার অ্যাকাউন্ট তৈরি করার পরেও, প্রথমে একটি লিখিত চুক্তিতে স্বাক্ষর না করে আপনি স্বাক্ষরের জন্য UEFI বাইনারি আপলোড করতে পারবেন না । চুক্তিগুলো খুবই কষ্টসাধ্য, যার মধ্যে অনেকগুলো লাইসেন্স বাদ দেওয়া হয়েছে (ড্রাইভারের জন্য সমস্ত GPL অন্তর্ভুক্ত, কিন্তু বুটলোডারের জন্য নয়)। সবচেয়ে কষ্টসাধ্য অংশটি হলো, চুক্তিগুলো আপনার স্বাক্ষরিত UEFI অবজেক্টের বাইরেও বিস্তৃত বলে মনে হয় । লিনাক্স ফাউন্ডেশনের আইনজীবীরা এই সিদ্ধান্তে পৌঁছেছেন যে, এটি এলএফ-এর জন্য মূলত ক্ষতিকর নয়, কারণ আমরা কোনো পণ্য বিক্রি করি না, কিন্তু এটি অন্যান্য কোম্পানির কাছে অগ্রহণযোগ্য হতে পারে। ম্যাথিউ গ্যারেটের মতে, মাইক্রোসফট এই সমস্যাগুলোর কিছু প্রশমিত করার জন্য ডিস্ট্রিবিউশনগুলোর সাথে বিশেষ চুক্তি নিয়ে আলোচনা করতে ইচ্ছুক।
চুক্তিগুলো স্বাক্ষরিত হয়ে গেলেই আসল কারিগরি মজা শুরু হয় । আপনি শুধু একটি UEFI বাইনারি আপলোড করলেই যে সেটি স্বাক্ষরিত হয়ে যাবে, তা আশা করতে পারেন না। প্রথমে, আপনাকে এটিকে একটি .cab ফাইলের মধ্যে রাখতে হবে। সৌভাগ্যবশত, lcab নামে একটি ওপেন-সোর্স প্রজেক্ট আছে যা ক্যাবিনেট ফাইল তৈরি করতে পারে। এরপর আপনাকে Verisign কী দিয়ে .cab ফাইলটিতে স্বাক্ষর করতে হবে । এক্ষেত্রেও, osslsigncode নামে আরেকটি ওপেন-সোর্স প্রজেক্ট আছে যা এই কাজটি করতে পারে। যাদের এই টুলগুলোর প্রয়োজন, তারা আমার openSUSE UEFI Build Service রিপোজিটরিতে এগুলো পেতে পারেন। শেষ বাধাটি হলো, ফাইলটি আপলোড করার জন্য Silverlight প্রয়োজন । দুর্ভাগ্যবশত, Moonlight কাজ করে বলে মনে হয় না, এমনকি এর ভার্সন ৪ প্রিভিউতেও আপলোড বক্সটি খালি দেখায়, তাই KVM (কার্নেল-ভিত্তিক ভার্চুয়াল মেশিন)-এর অধীনে Windows 7 ব্যবহার করার সময় এসেছে । যখন আপনি সেই পর্যায়ে পৌঁছাবেন, তখন আপনাকে এটাও প্রত্যয়ন করতে হবে যে, "যে বাইনারিটিতে স্বাক্ষর করা হবে, সেটি অবশ্যই GPLv3 বা অনুরূপ কোনো ওপেন-সোর্স লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত হবে না ।" আমার ধারণা, চাবি ফাঁস হয়ে যাওয়ার ভয়ের কারণেই এমনটা করা হয়েছে, কিন্তু বিষয়টি মোটেও স্পষ্ট নয় (একই কথা ‘অনুরূপ ওপেন সোর্স লাইসেন্স’-এর ক্ষেত্রেও প্রযোজ্য)।
আপলোড সম্পন্ন হলে, ক্যাবিনেট ফাইলটি সাতটি ধাপ অতিক্রম করে। দুর্ভাগ্যবশত, প্রথম পরীক্ষামূলক আপলোডটি ৬ষ্ঠ ধাপে (ফাইল সাইনিং পর্যায়ে) আটকে যায়। ছয় দিন পর, কী ঘটছে তা জানতে চেয়ে আমি মাইক্রোসফট সাপোর্টে ইমেল করি। উত্তরে বলা হয়: “সাইনিং প্রক্রিয়ার ফলে প্রাপ্ত এরর কোডটি হলো, আপনার ফাইলটি একটি বৈধ Win32 অ্যাপ্লিকেশন নয় । এটি কি একটি বৈধ Win32 অ্যাপ্লিকেশন?” উত্তর ছিল: স্পষ্টতই না, এটি একটি বৈধ ৬৪-বিট UEFI বাইনারি। এরপর আর কোনো উত্তর আসেনি …
আমি আবার চেষ্টা করলাম। এবার আমি স্বাক্ষরিত ফাইলটির জন্য একটি ডাউনলোড ইমেল পেলাম, কিন্তু ড্যাশবোর্ডে দেখাচ্ছিল যে স্বাক্ষর করা ব্যর্থ হয়েছে । আমি ফাইলটি ডাউনলোড করে যাচাই করে দেখলাম। বাইনারিটি সিকিওর বুট প্ল্যাটফর্মে কাজ করে এবং এটি কী (key) দিয়ে স্বাক্ষরিত।
বিষয় = / সি = মার্কিন / এসটি = ওয়াশিংটন / এল = রেডমন্ড / ও = মাইক্রোসফ্ট কর্পোরেশন / ওইউ = এমওপিআর / সিএন = মাইক্রোসফ্ট উইন্ডোজ ইউইএফআই ড্রাইভার প্রকাশক
ইস্যুকারী = / সি = মার্কিন / এসটি = ওয়াশিংটন / এল = রেডমন্ড / ও = মাইক্রোসফ্ট কর্পোরেশন / সিএন = মাইক্রোসফ্ট কর্পোরেশন ইউইএফআই সিএ 2011আমি সাপোর্টে জিজ্ঞাসা করেছিলাম কেন প্রক্রিয়াটিতে ত্রুটি দেখাচ্ছে, অথচ আমার কাছে একটি বৈধ ডাউনলোড ছিল। বেশ কয়েকটি ইমেলের আদান-প্রদানের পর, তারা উত্তর দিল, "ওই ফাইলটি ব্যবহার করবেন না; এটি ভুলভাবে স্বাক্ষরিত ছিল । আমি আপনার সাথে পরে যোগাযোগ করব।" আমি এখনও নিশ্চিত নই সমস্যাটি কী, কিন্তু আপনি যদি সাইনিং কী-এর সাবজেক্টটি দেখেন, তাহলে দেখবেন কী-টির মধ্যে লিনাক্স ফাউন্ডেশনের কোনো চিহ্ন নেই । তাই, আমার সন্দেহ হচ্ছে যে সমস্যাটি হলো, বাইনারিটি লিনাক্স ফাউন্ডেশনের সাথে যুক্ত একটি নির্দিষ্ট (এবং প্রত্যাহারযোগ্য) কী-এর পরিবর্তে একটি জেনেরিক মাইক্রোসফট কী দিয়ে স্বাক্ষরিত হয়েছে।
যাইহোক, এই স্থিতি: লিনাক্স ফাউন্ডেশনকে স্বাক্ষরিত ও বৈধ যাচাই করা প্রি-বুটলোডার দেওয়ার জন্য আমরা মাইক্রোসফ্টের জন্য অপেক্ষা করতে থাকব। এটি হয়ে গেলে, এটি ব্যবহারের জন্য লিনাক্স ফাউন্ডেশন সাইটে আপলোড করা হবে।
উৎস: http://blog.hansenpartnership.com/adventures-in-microsoft-uefi-signing/
আপনার সিদ্ধান্তগুলি আঁকুন, তবে এটি সময় নিতে চলেছে।