Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

530 views

Published on

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

Published in: Software
  • Be the first to comment

  • Be the first to like this

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

  1. 1. ‫و‬ ‫لینوکس‬ ‫هسته‬ ‫آن‬ ‫کامپایل‬ ‫موسوی‬ ‫علی‬ ‫مشهد‬ ‫لینوکس‬ ‫کاربران‬ ‫گروه‬ ‫یبهشت‬‌ ‫ارد‬۱۳۹۳
  2. 2. ‫هسته؟‬ ●.‫لها‬‌ ‫معام‬‌ ‫سیست‬ ‫اکثر‬ ‫اصلی‬ ‫جزو‬ ●:‫سیستم‬ ‫منابع‬ ‫مدیریت‬ ‫اصلی‬ ‫هی‬‌ ‫وظیف‬ ●‫تافزار‬‌ ‫سخ‬ ‫و‬ ‫مافزار‬‌ ‫نر‬ ‫بین‬ ‫ارتباط‬ ‫ایجاد‬ ●‫تافزار‬‌ ‫سخ‬ ‫و‬ ‫هنویس‬‌ ‫برنام‬ ‫بین‬ ‫ارتباط‬ ‫هسازی‬‌ ‫ساد‬
  3. 3. ‫لینوکس‬ ‫هی‬‌ ‫هست‬ ●.‫است‬ ‫لینوکس‬ ‫لینوکس‬ ‫هی‬‌ ‫هست‬ ●.‫دارد‬ ‫فعال‬ ‫هنویس‬‌ ‫برنام‬ ‫صدها‬ ‫از‬ ‫بیش‬ ●.‫یشود‬‌ ‫م‬ ‫مدیریت‬ ‫توروالدز‬ ‫لینوس‬ ‫توسط‬
  4. 4. ‫وانیلی‬ ‫هی‬‌ ‫هست‬ ●‫سایت‬ ‫در‬ ‫که‬ ‫های‬‌ ‫هست‬ ‫به‬ kernel.org‫منتشر‬ ‫یشود‬‌ ‫م‬‫وانیلی‬ ‫هی‬‌ ‫هست‬ )Vanilla Kernel( .‫یگویند‬‌ ‫م‬ ●‫توسط‬ ‫وانیلی‬ ‫هی‬‌ ‫هست‬ ‫ههای‬‌ ‫پروژ‬ ‫و‬ ‫عها‬‌ ‫توزی‬ ‫منتشر‬ ‫و‬ ‫دستکاری‬ ‫مختلف‬ .‫یشود‬‌ ‫م‬
  5. 5. ‫کنیم؟‬ ‫کامپایل‬ ‫چرا‬ ●.‫کنیم‬ ‫تنظیم‬ ‫نیازمان‬ ‫مطابق‬ ‫را‬ ‫کرنل‬ ‫از‬ ‫بخشی‬ ●.‫کنیم‬ ‫استفاده‬ ‫دیگر‬ ‫کرنل‬ ‫یک‬ ‫از‬ ●.‫باشیم‬ ‫داشته‬ ‫خود‬ ‫برای‬ ‫سریع‬ ‫و‬ ‫کوچک‬ ‫کرنل‬ ‫یک‬ ●.‫بگیریم‬ ‫یاد‬ ●Just for fun!
  6. 6. ‫کنیم؟‬ ‫کامپایل‬ ‫چگونه‬ ۱-‫تافزار‬‌ ‫سخ‬ ‫اطلعات‬ ‫عآوری‬‌ ‫جم‬ ●‫یکند؟‬‌ ‫م‬ ‫استفاده‬ ‫افزارهایی‬ ‫سخت‬ ‫چه‬ ‫از‬ ‫من‬ ‫سیستم‬ ● cat /proc/cpuinfo ● cat /proc/meminfo ● lspci -k ● lsusb
  7. 7. ‫کنیم؟‬ ‫کامپایل‬ ‫چگونه‬ ۲-‫چیست؟‬ ‫ماژول‬ ●.‫یشود‬‌ ‫م‬ ‫لود‬ ‫مموری‬ ‫در‬ ‫همیشه‬ ‫کرنل‬ ‫اصلی‬ ‫بخش‬ ●‫نیازی‬ ‫آن‬ ‫به‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫که‬ ‫است‬ ‫کرنل‬ ‫از‬ ‫بخشی‬ ‫ماژول‬ .‫یگیرد‬‌ ‫نم‬ ‫قرار‬ ‫مموری‬ ‫در‬ ‫نباشد‬ ●‫به‬ ‫را‬ ‫هسته‬ ‫امکانات‬ ‫و‬ ‫تافزارها‬‌ ‫سخ‬ ‫از‬ ‫بسیاری‬ ‫یتوان‬‌ ‫م‬ .‫کرد‬ ‫تنظیم‬ ‫ماژول‬ ‫عنوان‬
  8. 8. ‫کنیم؟‬ ‫کامپایل‬ ‫چگونه‬ ۳-‫ماژول‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫چیزهایی‬ ‫چه‬ ‫کنیم؟‬ ‫تنظیم‬ ●)‫قطعات‬ ‫مثل‬ ‫شدن‬ ‫جدا‬ ‫قابل‬ ‫قطعات‬usb( ●‫مختلف‬ ‫مهای‬‌ ‫سیست‬ ‫روی‬ ‫بر‬ ‫شما‬ ‫کرنل‬ ‫یخواهید‬‌ ‫م‬ ‫اگر‬ ‫کرنل‬ ‫در‬ ‫را‬ ‫درایورها‬ ‫هی‬‌ ‫هم‬ ‫که‬ ‫نیست‬ ‫منطقی‬ ،‫شود‬ ‫اجرا‬ .‫کنید‬ ‫کامپایل‬ ●‫چه‬ ‫به‬ ‫تافزارهایی‬‌ ‫سخ‬ ‫چه‬ ‫که‬ ‫یدهد‬‌ ‫م‬ ‫تشخصی‬ ‫لینوکس‬ .‫یکند‬‌ ‫م‬ ‫بارگزاری‬ ‫را‬ ‫نها‬‌ ‫آ‬ ‫و‬ ‫دارند‬ ‫نیاز‬ ‫لهایی‬‌ ‫ماژو‬
  9. 9. ‫کنیم؟‬ ‫کامپایل‬ ‫چگونه‬ ۴-‫ماژول‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫چیزهایی‬ ‫چه‬ ‫نکنیم؟‬ ‫تنظیم‬ ‫یک‬ ‫از‬ ‫لها‬‌ ‫ماژو‬‫یک‬ ‫از‬ ‫لها‬‌ ‫ماژو‬ ‫دیسک‬ ‫روی‬ ‫محل‬‫دیسک‬ ‫روی‬ ‫محل‬ ‫بارگزاری‬ ‫سخت‬‫بارگزاری‬ ‫سخت‬ !‫یشوند‬‌ ‫م‬!‫یشوند‬‌ ‫م‬
  10. 10. ‫کنیم؟‬ ‫کامپایل‬ ‫چگونه‬ ۵-‫لها‬‌ ‫ماژو‬ ‫با‬ ‫کار‬ ● lsmod – rmmod – modprobe – modinfo ●‫کار‬ ‫هی‬‌ ‫نحو‬ ‫تغییر‬ ‫لها‬‌ ‫ماژو‬ ‫از‬ ‫استفاده‬ ‫فواید‬ ‫از‬ ‫یکی‬ :‫لهاست‬‌ ‫ماژو‬ # modprobe [module name] [param] ● /etc/modprobe.d/[module name] options [module name] [param]
  11. 11. ‫کنیم؟‬ ‫کامپایل‬ ‫چگونه‬ ۶-‫هسته‬ ‫دریافت‬ ●‫سایت‬ ‫به‬kernel.org.‫کنید‬ ‫مراجعه‬ ●.‫کنید‬ ‫ذخیره‬ ‫و‬ ‫انتخاب‬ ‫را‬ ‫هها‬‌ ‫گزین‬ ‫از‬ ‫یکی‬ ●.‫کنید‬ ‫اکسترکت‬ ‫و‬ ‫ذخیره‬ ‫جایی‬ ‫در‬ ‫را‬ ‫دریافتی‬ ‫فایل‬
  12. 12. ‫کنیم؟‬ ‫کامپایل‬ ‫چگونه‬ ۶-‫کرنل‬ ‫یسازی‬‌ ‫شخص‬ ‫و‬ ‫تنظیم‬ ●:‫کرنل‬ ‫تنظیم‬ ‫ابزار‬ ‫از‬ ‫استفاده‬ $ cp .config .config~ ● $ make menuconfig
  13. 13. ‫تنظیمات‬ ‫برای‬ ‫نکته‬ ‫چند‬ ● $ zcat /proc/config.gz > .config ● localmodconfig ● localyesconfig ● kernel-seeds.org
  14. 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
  15. 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) }
  16. 16. ‫مجدد‬ ‫هاندازی‬‌ ‫را‬ ‫جدیدتان‬ ‫کرنل‬ ‫از‬ !‫ببرید‬ ‫لذت‬
  17. 17. OOPS! ●‫یکنه؟‬‌ ‫نم‬ ‫کار‬ ‫درست‬ ‫چیزی‬ ‫یک‬ ...‫کنید‬ ‫تنظیم‬ ‫دوباره‬ :‫کنید‬ ‫کامپایل‬ ‫دوباره‬ $ make # make modules_install
  18. 18. ‫مجدد‬ ‫هاندازی‬‌ ‫را‬ ‫جدیدتان‬ ‫کرنل‬ ‫از‬ !‫ببرید‬ ‫لذت‬
  19. 19. !‫منتشر‬ ‫هسته‬ ‫جدید‬ ‫ورژن‬ ‫کنید‬ ‫صبر‬ !‫شده‬ ●.‫کنید‬ ‫اکسترکت‬ ‫جایی‬ ‫و‬ ‫دریافت‬ ‫را‬ ‫هسته‬ ‫جدید‬ ‫ورژن‬ ● $ zcat /proc/config.gz > .config ● $ make oldconfig ● $ make ● # make modules_install
  20. 20. ‫مجدد‬ ‫هاندازی‬‌ ‫را‬ ‫جدیدتان‬ ‫کرنل‬ ‫از‬ (: !‫ببرید‬ ‫لذت‬

×