هسته لینوکس و کامپایل آن

20
کس و سته لینو ه کامپایل آن موسوی علی لینوکس مشهدبرانوه کار گر اردیبهشت۱۳۹۳

Upload: tuxitop

Post on 09-Jul-2015

217 views

Category:

Software


2 download

DESCRIPTION

یک اسلاید ۲۰ صفحه‌ای در مورد هسته‌ی لینوکس و وظایف آن و همچنین نحوه‌ی کامپایل یک هسته‌‌ی و نیازمندی‌های کاربر جهت کامپایل هسته‌ی لینوکس. توضیحات کامل این ارایه در قالب فایل پی‌دی‌اف در آدرس http://www.slideshare.net/tuxitop/compile-a-linux-kernel قابل مشاهده و دانلود است. این ارایه در تاریخ ۷ خرداد در گروه کاربران لینوکس مشهد ارایه شد که گزارش جلسه‌ی مذکور از طریق آدرس http://www.mashhadlug.org/fa/node/245 قابل مشاهده است.

TRANSCRIPT

Page 1: هسته لینوکس و کامپایل آن

و لینوکس هستهآن کامپایل

موسوی علیمشهد لینوکس کاربران گروه

‌یبهشت ۱۳۹۳ارد

Page 2: هسته لینوکس و کامپایل آن

هسته؟

●. ‌لها ‌معام سیست اکثر اصلی جزو

● : سیستم منابع مدیریت اصلی ‌هی وظیف

‌تافزار ● سخ و ‌مافزار نر بین ارتباط ایجاد

‌تافزار ● سخ و ‌هنویس برنام بین ارتباط ‌هسازی ساد

Page 3: هسته لینوکس و کامپایل آن

لینوکس ‌هی هست

●. است لینوکس لینوکس ‌هی هست

●. دارد فعال ‌هنویس برنام صدها از بیش

● . ‌یشود م مدیریت توروالدز لینوس توسط

Page 4: هسته لینوکس و کامپایل آن

وانیلی ‌هی هست

سایت ● در که ‌های هست بهkernel.org منتشر

‌یشود وانیلی م ‌هی هست)Vanilla Kernel (

‌یگویند. م

توسط ● وانیلی ‌هی هست‌ههای پروژ و ‌عها توزی

منتشر و دستکاری مختلف‌یشود. م

Page 5: هسته لینوکس و کامپایل آن

کنیم؟ کامپایل چرا

●. کنیم تنظیم نیازمان مطابق را کرنل از بخشی

●. کنیم استفاده دیگر کرنل یک از

●. باشیم داشته خود برای سریع و کوچک کرنل یک

●. بگیریم یاد

●Just for fun!

Page 6: هسته لینوکس و کامپایل آن

کنیم؟ کامپایل چگونه‌تافزار- ۱ سخ اطلعات ‌عآوری جم

‌یکند؟ ● م استفاده افزارهایی سخت چه از من سیستم

● cat /proc/cpuinfo

● cat /proc/meminfo

● lspci -k

● lsusb

Page 7: هسته لینوکس و کامپایل آن

کنیم؟ کامپایل چگونهچیست؟- ۲ ماژول

●. ‌یشود م لود مموری در همیشه کرنل اصلی بخش

نیازی ● آن به که زمانی تا که است کرنل از بخشی ماژول. ‌یگیرد نم قرار مموری در نباشد

به ● را هسته امکانات و ‌تافزارها سخ از بسیاری ‌یتوان م. کرد تنظیم ماژول عنوان

Page 8: هسته لینوکس و کامپایل آن

کنیم؟ کامپایل چگونهماژول- ۳ عنوان به را چیزهایی چه

کنیم؟ تنظیمقطعات ( ● مثل شدن جدا قابل )usbقطعات

مختلف ● ‌مهای سیست روی بر شما کرنل ‌یخواهید م اگرکرنل در را درایورها ‌هی هم که نیست منطقی شود، اجرا

. کنید کامپایل

چه ● به ‌تافزارهایی سخ چه که ‌یدهد م تشخصی لینوکس. ‌یکند م بارگزاری را ‌نها آ و دارند نیاز ‌لهایی ماژو

Page 9: هسته لینوکس و کامپایل آن

کنیم؟ کامپایل چگونهماژول- ۴ عنوان به را چیزهایی چه

نکنیم؟ تنظیم

یک از ‌لها یک ماژو از ‌لها ماژودیسک روی دیسک محل روی محلبارگزاری بارگزاری سخت سخت

‌یشوند! ‌یشوند!م م

Page 10: هسته لینوکس و کامپایل آن

کنیم؟ کامپایل چگونه‌لها- ۵ ماژو با کار

● lsmod – rmmod – modprobe – modinfo

کار ● ‌هی نحو تغییر ‌لها ماژو از استفاده فواید از یکی‌لهاست: ماژو

# modprobe [module name] [param]

● /etc/modprobe.d/[module name]

options [module name] [param]

Page 11: هسته لینوکس و کامپایل آن

کنیم؟ کامپایل چگونههسته- ۶ دریافت

سایت ● .kernel.orgبه کنید مراجعه

●. کنید ذخیره و انتخاب را ‌هها گزین از یکی

●. کنید اکسترکت و ذخیره جایی در را دریافتی فایل

Page 12: هسته لینوکس و کامپایل آن

کنیم؟ کامپایل چگونهکرنل- ۶ ‌یسازی شخص و تنظیم

●: کرنل تنظیم ابزار از استفاده

$ cp .config .config~

● $ make menuconfig

Page 13: هسته لینوکس و کامپایل آن

تنظیمات برای نکته چند

● $ zcat /proc/config.gz > .config

● localmodconfig

● localyesconfig

● kernel-seeds.org

Page 14: هسته لینوکس و کامپایل آن

کرنل کامپایل

● $ make

● # make modules_install

● # cp -v arch/x86/bzImage /boot/vmlinuz-[version]

●: نیاز صورت در

mkinitcpio -k [fullKernelName] -c /etc/mkinitcpio.conf -g /boot/initramfs-[YourKernel].img

Page 15: هسته لینوکس و کامپایل آن

گراب تنظیم

● grub-mkconfig -o /boot/grub/grub.cfg

فایل /● ویرایش نیاز صورت etc/grub.d/40_customدر

menuentry "Other Linux" {set root=(hd0,2)linux /boot/vmlinuz (add other options here as required)initrd /boot/initrd.img (if the other kernel uses/needs one)}

Page 16: هسته لینوکس و کامپایل آن

مجدد ‌هاندازی را

جدیدتان کرنل از! ببرید لذت

Page 17: هسته لینوکس و کامپایل آن

OOPS!‌یکنه؟ ● نم کار درست چیزی یک

... کنید تنظیم دوباره

: کنید کامپایل دوباره

$ make

# make modules_install

Page 18: هسته لینوکس و کامپایل آن

مجدد ‌هاندازی را

جدیدتان کرنل از! ببرید لذت

Page 19: هسته لینوکس و کامپایل آن

! منتشر هسته جدید ورژن کنید صبرشده!

●. کنید اکسترکت جایی و دریافت را هسته جدید ورژن

● $ zcat /proc/config.gz > .config

● $ make oldconfig

● $ make

● # make modules_install

Page 20: هسته لینوکس و کامپایل آن

مجدد ‌هاندازی را

جدیدتان کرنل از(: ! ببرید لذت