TCCBOOT প্রকল্প এর সোর্স কোড থেকে সরাসরি একটি লিনাক্স কার্নেল কম্পাইল এবং বুট করতে সক্ষম একটি বুট-লোডার হয়.
TCCBOOT শুধুমাত্র 138 কিলোবাইট বড় (গুগুল কোড) এবং এটি কম্পাইল এবং একটি 2.4 GHz পেন্টিয়াম 4 কম 15 সেকেন্ডের মধ্যে একটি টিপিক্যাল লিনাক্স কার্নেল চালাতে পারেন.
TCCBOOT TinyCC কম্পাইলার, প্রতীকী ভাষান্তর এবং Linker উপর ভিত্তি করে. TinyCC গনুহ সি ল্যাঙ্গুয়েজের কম্পাইলার এবং বাইনারি ইউটিলিটি সঙ্গে সামঞ্জস্যপূর্ণ একটি খুব ছোট এবং সহজ সি কম্পাইলার উত্পাদন একটি পরীক্ষা.
TCCBOOT বুট TCCBOOT চালাতে পারেন একটি 'bzImage' লিনাক্স কার্নেল ইমেজ চালাতে পারেন, যা একটি Linux কার্নেল হিসাবে একই ভাবে, তাই কোনো বুট-লোডার. আমি শুধুমাত্র isolinux সঙ্গে এটি পরীক্ষিত, কিন্তু LILO অথবা GRUB খুব কাজ করা উচিত.
TCCBOOT ইনিশিয়াল RAM ডিস্ক (initrd) মধ্যে সংরক্ষিত একটি Gzipped ROMFS ফাইল সিস্টেম থেকে সি বা সমাবেশ সূত্র সার্চ. এটা প্রথম TinyCC কমান্ড লাইন থেকে ব্যবহারযোগ্য (TCC এক্সিকিউটেবল হিসাবে একই সিনট্যাক্স) ধারণকারী ফাইল 'বুট / tccargs' সার্চ. TinyCC আবাহন উচিত আউটপুট এক বাইনারি ইমেজ 'কার্নেল'. এই ইমেজ ঠিকানা 0x00100000 এ লোড হয়. TCCBOOT তারপর 32 বিট ফ্ল্যাট মোড ঠিকানা 0x00100000 একটি লাফ আছে. এই 'vmlinux' কার্নেল ইমেজ ABI সঙ্গে সামঞ্জস্যপূর্ণ.
সংকলন:
TCCBOOT শুধুমাত্র লিনাক্স 2.4.26 সঙ্গে পরীক্ষা ছিল. সরলতা TCCBOOT লিনাক্স কার্নেলে থেকে কিছু বাইনারি ফাইল এবং হেডার ব্যবহার করে, কারণ TCCBOOT নির্মাণ করার জন্য, আপনাকে প্রথমে একটি 2.4.26 কার্নেল কম্পাইল করতে হবে. TCCBOOT এছাড়াও (TinyCC সংস্করণ 0.9.21 সঙ্গে পরীক্ষিত) TinyCC এর সোর্স কোড প্রয়োজন. আপনি প্রয়োজন পাথ দিতে Makefile নামক পরিবর্তন করতে পারেন.
উদাহরণ:
একটি "হ্যালো ওয়ার্ল্ড" ROMFS পার্টিশন অন্তর্ভুক্ত করা হয় (initrd.img). আপনি যেমন / ডিরেক্টরি থেকে এটা পুনর্নির্মাণ করতে পারেন. আপনি 'QEMU-tccboot' স্ক্রিপ্ট QEMU পিসি এমুলেটর সঙ্গে এটি পরীক্ষা করতে পারবেন.
কার্নেল সংকলন:
আপনার তথ্যের জন্য, প্যাচ 'লিনাক্স 2.4.26-tcc.patch' TCCBOOT সঙ্গে একটি লিনাক্স কার্নেল নির্মাণ করা প্রয়োজন পরিবর্তন দেয় (উল্লেখ্য: এটি তার নিজের ফাইল তৈরী কার্নেল নির্মাণ suffisant না হয় - আমি চেষ্টা না). সংশ্লিষ্ট কার্নেল কনফিগারেশন ফাইল লিনাক্স 2.4.26-কনফিগ হয়. প্যাচ নিম্নলিখিত কারণের জন্য প্রয়োজনীয়:
- অসমর্থিত সমাবেশ নির্দেশনা: .rept, .endr, .subsection
- সমাবেশ উৎস প্রয়োজন '# define __ASSEMBLY__'
- স্ট্যাটিক ভেরিয়েবল ইনলাইন সমাবেশ কোড থেকে দেখা যায় না
- 'সঙ্গে টাইপ / lvalue সমস্যা? : '
- কোন দীর্ঘ দীর্ঘ বিট ক্ষেত্র
- 'প্রান্তিককৃত' শুধুমাত্র ক্ষেত্রের জন্য, পুরো structs এর জন্য সমর্থিত নয় অ্যাট্রিবিউট
- Obscur এর preprocessor বাগ
এই সমস্যার কিছু সহজেই সংশোধন করা যেতে পারে, কিন্তু আমি এখন খুব অলস নই. এটা TinyCC / TCCBOOT দ্বারা উত্পন্ন কার্নেলের মধ্যে অনেক বাগ এখনও আছে নিশ্চিত, কিন্তু অন্তত এটা একটি শেল বুট এবং আরম্ভ করতে পারেন.
সফটওয়্যার বিবরণ:
সংস্করণ: 0.1
তারিখ আপলোড: 3 Jun 15
লাইসেন্স: Shareware
মূল্য: 0.00 $
জনপ্রিয়তা: 58
পাওয়া মন্তব্যসমূহ না