منبع اصلی نوشتار زیر در این لینک قرار دارد

کرنل،بوت لودر،کامپایل و نصب هسته ی لینوکس

این مطلب شامل سه بخش است که بخش اول تعریفی از کرنل ،بخش دوم بوت لودرها و انواع آن و بخش سوم شامل کامپایل و نصب هسته ی لینوکس است.

 

۱ کرنل لینوکس

کرنل لینوکس نقش یک برنامه کنترل مرکزی در کامپیوتر را نسبت به برنامه ها، چگونگی تعامل آنها با یکدیگر و هدایت آنها برای استفاده از منابع اصلی سیستم مانند حافظه، دیسکها، پردازنده ها، دستگاههای جانبی و غیره را بر عهده دارد درایورهای لینوکس، برنامه هایی که برای مدیریت ورودی/خروجی دستگاههای جانبی (I/O Devices) می باشند، نقش مجری سیاستهای کرنل را بر عهده دارند. کرنل نیز وظیفه کنترل اینها را برعهده دارد. به این ترتیب هرچه تعداد این دستگاه ها زیاد شود سرعت سیستم کمتر میشود. در ضمن هر چه حجم کرنل بیشتر باشد، حافظه کمتری برای نرم افزارهای دیگر در اختیار می گذارد.

 

۲ BootLoader های لینوکس

بوت لودر یک نرم افزار است که پس از اتمام تست های startup بایوس اجرا می گردد. بوت لودر می تواند یک سیستم عامل یا حتی یک بوت لودر دیگر را اجرا نماید)اصطلاحا به آنchainloading گفته می شود). برخی بوت لودرها قادرند فقط سیستم عاملهای خاصی را بوت کنند و قادر به بالا آوردن بقیه نیستند. چهار نمونه از بوت لودر را توضیح میدهیم:

 

 

  • Lilo

LILO  بوت لودر پیش فرض خیلی از توزیع های لینوکس بود حتی قبل از آنکه GRUB نوشته شود.  LILO  توسط Werner Almesberger ، در سالهای ۲۹۹۱ تا ۲۹۹۱ John Coffman درسالهای ۱۹۹۹ تا ۲۰۰۷ و Joachim Weidorn از سال ۲۰۱۰ توسعه داده می شود و هم اکنون پروژه فعالی ست.

برتری LILO نسبت به بقیه بوت لودرها اینست که وابسته به فایل سیستم خاصی نیست. این یعنی سیستم عامل می تواند روی هر فایل سیستمی مانند NTFS ، EXT4 ، BTRFS ، FAT32 ، HFS+ ، UFS ، JFS و غیره نصب شده باشد. LILO همچنین قادر است image کرنل لینوکس را از روی فلاپی دیسک وهارددیسک بوت کند و می تواند تا ۲۱ سیستم عامل را همزمان هندل نماید. LILO ممکن است روی بوت سکتور پارتیشن یاMBR ( Master Boot Record ( نصب شود.

 

  • ELILO

انشعابی از LILO است که قادر است با سخت افزار های مبتنی بر EFI کار کند.توسط Hewlet Pakard تولید شده است ELILLO در واقع به عنوان یک انتخاب برای سیستم های مکینتاش Intel Based ارائه شده و ضمنا می تواند قابلیت بوت از طریق شبکه را به وسیله ی پروتکل های TFTP و DHCP برای کاربر فراهم نماید.

 

  • Gnu grub

به صورت گشترده و عمومی در سیستم های یونیکس (همچنین لینوکس و سولاریس) از سال ۲۰۱۳ مورد استفاده قرار گرفته است.مخفف  GNU Grand Unified Bootloader است.پروژه ی GNU تولید کننده ی اصلی و نگهدار فعلی این بوت لودر بوده است. GNU GRUB به زبان های اسمبلی و C نوشته شده است.

 

  • SYSLINUX

یک بوت لودر سبک است که توسط H.Peter Anvin نوشته شده است.بسیاری از بوت لودرها منشعب از این پروژه بوده و از کد اصلی آن استفاده کرده اند.SYSLINUX برای فایل سیستم های FAT و NTFS مورد استفاده قرار می گیرد و می تواند هارددیسک ها ،فلاپی دیسک ها و درایورهای USB را هندل کند.ISOLINUX با فایل سیستم CD-ROM ISO 9660 مورد استفاده قرار می گیرد.PXELINUX توسط سرورهای شبکه برای کار با سیستم های PXE

(Preboot Execution Environment)  مورد استفاده قرار می گیرد.سیستم عامل های موجود بر روی فایل سیستم های EXTX و BRTFS به بوت لودر EXTLINUX نیاز دارند.MEMDISK روی سیستم عامل های قدیمی مانند DOS مورد استفاده قرار می گیرد.تمام بوت لودرهای ذگر شده در بالا از خانواده ی SYSLINUX هستند.

 

۳-کامپایل و نصب هسته ی لینوکس

در ابتدا برای کامپایل هسته ی لینوکس باید آخرین نسخه ی  GCC و پکیج  NCURSES و پکیج های دیگری را بر روی سیستم خود نصب کنیم.این کار را با دستورات زیر انجام میدهیم:

sudo apt-get install gcc

1

sudo apt-get install libncurses5-dev

2

sudo apt-get update && sudo apt-get upgrade

3_3

مرحله ی بعد دانلود هسته ی لینوکس است.که لینک دانلود آخرین نسخه ی آن را از سایت kernel.org قابل دسترسی است.

با دستور زیر این کار را انجام می دهیم:

Wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.17.1.tar.xz

3

در گام بعدی باید فایل دانلود شده را از حالت فشرده خارج کنیم:

4

بعد از آن به دایرکتوری کرنل جدید می رویم و عملیات پیکربندی و کامپایل و نصب را انجام می دهیم.

برای پیکربندی از دستور زیر استفاده می کنیم:

Sudo make oldconfig

بعد از این مرحله باید آن را کامپایل کنیم.این مرحله زمانبر است:

Sudo make

5

و نصب هسته :

Sudo make modules_install install

با اجرای این دستور هسته ی جدید نصب می شود و فایل های جدیدی در /boot ایجاد می شود.

6

 

کرنل جدید نصب شده است.حال سیستم را Restart می کنیم تا آن را با هسته ی جدید بالا بیاوریم. همانطور که قبلا در مورد بوت لودرها توضیح دادیم،بوت لودر اولین چیزی است که بعد از راه اندازی سیستم اجرا می شود.گراب به شما اجازه می دهد که سیستم عامل های متفاوت و از هر کدام انواع مختلف را بر روی یک هارد دیسک واحد یا بر روی چندین هارد دیسک و بر روی یک سیستم داشته باشید.برای مثال اگر شما هر دو سیستم عامل گنو/لینوکس و ویندوز را بر روی سیستم خود نصب کرده باشید،گراب قبل از هر دوی این سیستم عامل ها اجرا می شود و به شما این اجازه را می دهد که یکی از آنها را برای بوت شدن انتخاب کنید.تصویر زیر هسته های نصب شده را نشان می دهد.

7

 

هسته ی اولی :

8

 

هسته ی دوم:۳.۱۷.۱

9

 

منابع:

http://wiki.ubuntu.ir

www.kernel.org

http://planet.sito.ir

http://www.linuxhomenetworking.com