پروژه TCCBOOT بوت لودر قادر به کامپایل و بوت هسته لینوکس به طور مستقیم از کد منبع آن است.
TCCBOOT تنها 138 KB بزرگ (کد غیر فشرده) است و می تواند کامپایل و اجرای یک هسته لینوکس معمولی در کمتر از 15 ثانیه در یک پردازنده پنتیوم 4 2.4 گیگاهرتز.
TCCBOOT بر TinyCC کامپایلر، اسمبلر و لینکر است. TinyCC یک آزمایش برای تولید یک کامپایلر بسیار کوچک و ساده C سازگار با کامپایلر GNU C و آب و برق باینری است.
چکمه های TCCBOOT به همان شیوه به عنوان یک هسته لینوکس، بنابراین هر بوت لودر که می تواند 'bzImage "لینوکس تصویر هسته می تواند TCCBOOT اجرا اجرا شود. من فقط آن را با ISOLINUX تست شده، اما LILO یا GRUB باید بیش از کار می کنند.
TCCBOOT بار خوانده شده C یا مونتاژ منابع از یک فایل سیستم ROMFS gzip شد ذخیره شده در رم دیسک اولیه (مثال initrd). این برای اولین بار فایل 'بوت / tccargs' که شامل خط فرمان TinyCC (همان نحو به عنوان اجرایی TCC) می خواند. نیایش TinyCC باید خروجی یک تصویر باینری 'هسته. این تصویر است که در آدرس 0x00100000 لود می شود. TCCBOOT سپس به پرش به 0x00100000 آدرس در حالت صاف 32 بیتی. این سازگار با ABI از 'vmlinux' تصویر هسته است.
ترجمه:
TCCBOOT تنها با لینوکس 2.4.26 مورد آزمایش قرار گرفت. به منظور ساخت TCCBOOT، شما ابتدا باید کامپایل کرنل 2.4.26 چرا که برای TCCBOOT سادگی با استفاده از برخی فایل های باینری و هدر از هسته لینوکس است. TCCBOOT نیز نیاز کد منبع TinyCC (تست شده با TinyCC نسخه 0.9.21). شما می توانید makefile در تغییر به مسیرهای مورد نیاز است.
مثال:
پارتیشن "سلام جهان" ROMFS گنجانده شده است (initrd.img). شما می توانید آن را از به عنوان مثال / دایرکتوری بازسازی. شما می توانید آن را با شبیه ساز QEMU PC با 'QEMU-tccboot' اسکریپت آزمون.
هسته تلفیقی:
برای اطلاع شما، پچ 'لینوکس 2.4.26-tcc.patch' می دهد تغییرات لازم را برای ساخت یک هسته لینوکس با TCCBOOT (توجه: بهتر است suffisant به ساخت هسته با Makefile ها خود را - من هرگز سعی). پیکربندی کرنل مربوطه در فایل لینوکس 2.4.26-پیکربندی است. تکه های به دلایل زیر ضروری است:
- دستورات اسمبلی پشتیبانی نشده: .rept، .endr، .subsection
- '__ASSEMBLY__ #define' مورد نیاز در منابع مونتاژ
- متغیرهای استاتیک می توانید از کد اسمبلی های درون خطی دیده نمی شود
- مشکلات تایپ / تساوی با '؟ : '
- زمینه های کمی هیچ طولانی طولانی
- تراز وسط قرار دارد 'ویژگی برای تمام ساختمانها پشتیبانی نمی شود، تنها برای زمینه
- اشکال پیش پردازنده obscur
برخی از این مشکلات به راحتی می تواند ثابت شود، اما من در حال حاضر بیش از حد تنبل هستم. این شوید که هنوز هم بسیاری از اشکالات در هسته تولید شده توسط TinyCC / TCCBOOT وجود دارد، اما حداقل می توان آن را بوت و راه اندازی پوسته.
جزئیات نرم افزار:
نسخه: 0.1
ها تاریخ: 3 Jun 15
پروانه: نرم افزار
قیمت: 0.00 $
محبوبیت: 58
نظر یافت نشد