پچ جادویی

پچ جادویی باعث شد دل رو به دریا بزنم و برم تو نخش و خلاصه شب جمعیه، شور و شعفی بر من حاصل شد که همش ناشی از کامپایل کرنل ۲.۶.۳۶ بود البت در کنار این پچ خوشگل و نازنین 🙂

خلاصه کلام اینکه اگه میخواین از این پچ استفاده کنید، دو راه دارید! روش اول رو وب‌آپدیت بهش اشاره کرده که به دلم ننشست! روش دوم هم که دل و هوش رو ازم برد براتون میگم 🙂 باشد نثارمون کنید شب جمعه‌ای بهترین‌ها رو….

سورس کرنل ۲.۶.۳۶ رو میگیرید…. از حالت فشرده خارجش کنید….. حالا یه فولدر داریم به اسم linux-2.6.36 که توش یه سری خرت و پرت هست

حالا باید پچ جادویی رو بگیرید که حجمش خیلی کمه….. حالا پج رو که همچین اسمی داره Galbraith-patch.patch منتقل کنید به پوشه linux-2.6.36

از اینجا باید دست به دامن ترمینال شد …. وارد پوشه linux-2.6.36 بشید و با دستور زیر، کرنل رو وصله پینه کنید….

patch < Galbraith-patch.patch -p1

حالا میرسیم به جای ترسناک کار که همون سفارشی سازی کرنله….

برای غلبه به ترس، دست به دعا میشیم و دستور زیر رو می‌زنیم….

make localyesconfig

و بعد هم دستور زیر ….

make menuconfig

پچ رو اگه درست اعمال کرده باشید، باید در هنگام کانفیگ کردن چشتون به جمال Automatic process group scheduling از بخش General setup آشنا بشه….

برای سر در اوردن از بقیه بخش‌ها، کافیه راهنمای هر بخش رو بخونید و بعد هم به این پست مراجعه کنید 🙂

کرنل رو کامپایل میکنیم ….

make -j4

ماژول‌ها رو کامپیل میکنیم…

make modules

و حالا از آخر به اول… ماژول‌ها رو با بالاترین دسترسی، سر جاشون می‌شونیم….

sudo make modules_install

و حالا خود کرنل رو….

sudo make install

این دستور بالایی رو که بزنید…. آخرین خطش یا یکی مونده به آخرش…. یه عدددی می بینید مث ۲٫۶٫۳۶ …. این رو باید کپی کنید تو حافظه اگر اوبونتویی هستید…

از اینجا به بعد فقط مختص اوبونتو کاراست 🙂 بقیه هم باید یه جوری initramfs رو بسازن و با خود کرنل جا بدن توی گراب (اپن سوزه‌ای ها مراجعه کنن به پست هر نفر یک کرنل)

sudo update-initramfs -k 2.6.36 -c

اون عددی رو که توی حافظه داددیم، گذاشتیم توی دستور بالایی … دقیقا با ی فاصله بعد از حرف k

دستور آخر رو که بزنید، گراب کرنل جدید رو شناسایی میکنه ….

sudo update-grub

درایور انویدیا رو هم که از سایتش دانلود کردید قبلن… وارد کرنل جدید میشید… با دستور sudo sh NVI*.run درایور کارت گرافیکی رو نصب میکنید…..

کرنل ۲.۶.۳۶ با پچ جادویی

رسیدیم به قسمت هیجان انگیز کار 🙂 (برای دیدن سایز اصلی، روی عکس کلیک کنید)

همونطور که می‌بینید…. ۴ تا هسته پردازشگر چسبیده به صد … اونم به مدت چند دقیقه 🙂 و من خیلی راحت فیلم اچ‌دی (۱۰۸۰ پی) می‌بینم…. دنت میکنم به حدی که اسپم شناخته میشم! وبگردیم رو انجام میدم خیلی نرم و روون و از همه این اتفاقات عکس میگیرم :ی

خلاصه پچ خیلی خوبیه و خیلی خوشحالم که با کرنل در آینده یکی میشه …… (نمی دونم ۲.۶.۳۷ یا ۲.۶.۳۸)

* در صورت فعال بودن پچ، باید خروجی دستور زیر باید یک باشه…

cat /proc/sys/kernel/sched_autogroup_enabled

 

پی‌نوشت : پچ جادویی برای آرچ لینوکس روهم دوست خوبم فرود زحمت تهیش رو کشیده 🙂 آرچ کارا از دستش ندن :ی

کامپایل ffmpeg در اوبونتو و مینت

نمی‌دونم اطلاع دارید یا نه؟‌ffmpeg 0.6 چند روزی می‌شه که نسخه جدیدش بیرون اومده. حالا شاید خیلیا براشون این سوال پیش بیاد که ffmpeg  چه آشغالیه! اومده که اومده. برای همین بد ندیدم یه توضیح کوچولو در موردش بدم:دی

ffmpeg یکی از بزرگترین پروژه‌های اپن‌سورس برای کار با فایل‌های صوتی و تصویری است. یه جور کتابخونه که خیلی برنامه‌های بزرگ بهش وابسته است. یعنی اینجور نیست که  بیاید و به صورت مستقیم با این ابزار قدرتمند کار کنید. بلکه یه جور ابزار فوق العاده قوی در دست برنامه نویسا است. یکی از بخش های مهم ffmpeg، کتابخانه libavcodec است و تقریبا باهاش می‌شه  سر از کار هر کدک تصویری وصوتی در اورد. تو پروژه های زیادی هم از این کتابخونه استفاده می‌شه. و این پروژه های بزرگ اصلا به لینوکس محدود نمی‌شن. خیلی از برنامه‌های پولی تحت ویندوز هستند که از این برنامه استفاده کنن..
به خاطر لایسنسی که ffmpeg استفاده می کنه (LGPL) شما می‌تونید برنامه‌های تجاری هم ایجاد کنید:) و نکته دیگه اینکه خیلی از توسعه دهنده‌های ffmpeg ، توسعه mplayer رو هم بر عهده دارن.

جالا نسخه جدیدی که چند روز پیش منتشر شده با خودش یه سری ویژگی جدید داشته. یکی از مهمتریناش پشتیبانی از کدک جدید گوگل یا همون VP8 است. البته موقع تبدیل پسوندی رو که خواهید دید WebM خواهد بود.

اتفاق دیگه‌ای که افتاده پخش روونتر و سریعتر کدک H.264 است.

حالا بریم سر وقت اینکه چطور این کتابخونه معظم رو کامپایل کنیم؟ در جواب باید بگم به سختی:دی و اینکه خیلی دنگ وفنگ داره اینکار..

اما خوب یه سری آدم خوب پیدا شدن یه اسکریپت نوشتن. کار این اسکریپت اینه که آخرین نسخه ffmpeg وx264 و همینطور VP8 رو می‌گیره و کنار همدیگه دانلود میکنه و پچ میکنه و در نهایت کامپایل و از اون مهمتر یه پکیج دبیان خوشگل می سازه که با اون سینپاتیک هم یه نفسی تازه می‌کنه:)  ونکته با نمک کار اینه که این اسکریپت الان تبدیل شده به یه پروژه خیلی فعال.

خود من قبل از پیدا کردن این پروژه، از سایت یه بابایی که نمی‌دونمم کجاییه، یه اسکریپت پیدا کردم که دقیقا همینکارو انجام می‌ده:) منتها یه مزیت فوق العاده خوفناک داره. وسط اسکریپت یه جا چک میکنه که سیستم ۳۲ بیتیه یا ۶۴ بیت.  و خوب کامپایل برنامه به صورت ۶۴ بیت مزیتای فراوون داره. در ضمن خوندن این اسکریپت‌ها خالی از لطف نیست و درسای زیادی به همگی می‌ده:) چند نکته مهم در ارتباط با این اسکریپتا، اونکه، به خاطر تحریم گوگل، شما موقع اجرای اسکریپت باید به وی‌پی‌ان متصل باشید. یا اینکه خودتون سورس vp8 رو با فیل‌تر شکن دانلود کنید و بعد آدرس اسکریپت رو تغییر بدید:)

نکته مهم دیگه اینکه چون این اسکریپت ها می‌یان از بسته کامپایل شده، پکیج دبیان می‌سازن، نمی‌دونم حالا چطوریاست که حتما باید ffmpeg رو نصب داشته باشید. و اگه نصب نکنید آخرش پیغام خطا می‌گیرید:)

نکته دیگه این اسکریپتی که این بابای نمیدونم کجایی نوشته ، فقط برای اوبونتو ۱۰.۴ و ۹.۱۰ است. با اضافه کردن یه خط می‌شه کاری کرد که لینوکس مینت هم کار کنه:)

پس برای اینکه از اخرین نسخه ffmpeg لذت ببرید، این اسکریپت رو دانلود می کنید(دو تا خط مینت رو اضافه کردم). بعد هم بهش مجوز اجرایی می‌دید. بعد هم وی‌پی‌ان روشن می کنید. بعد هم اجراش می کنید:) قبلشم که باید ffmpeg (نسخه قدیم)‌ رو نصب داشته باشید.

حالا برای تست می‌ریم یه کلیپ رو به این کدک جدید گوگل تبدیل می کنیم.

ffmpeg -i entrada.mp4 -sameq -vcodec libvpx_vp8 -acodec libvorbis saida.webm

خیلی جالبه که بدونید این کلیپ رو با هیچ پلیری نمی‌شه پخش کرد:)

تنها راهی که به ذهن بنده حقیر رسیده، نصب فایرفاکس ۳.۷ از طریق مخازن ppa بود. بعدم درگ و دراپ ساده کلیپ.


فیل‌ترینگ سراسری وردپرس بندهای زیر از قانون اساسی را نقض می‌کند.

اصل۲۳- تفتیش عقاید ممنوع است و هیچکس را نمی‌توان به صرف داشتن عقیده‌ای مورد تعرض و مواخذه قرار داد.

(آیا جز اینه که وردپرس محلی برای ابراز عقاید آدمای مختلفه؟)

اصل۲۵- بازرسی و نرساندن نامه‌ها، ضبط و فاش کردن مکالمات تلفنی‏، افشای مخابرات تلگرافی و تلکس، سانسور، عدم مخابره و نرساندن آن‌ها، استراق سمع و هر گونه تجسس ممنوع است مگر به حکم قانون.
(فیل‌ترینگ وردپرس، سانسور حساب نمی‌شه؟)


این کلاه برای این هست که شما دوست عزیز از آخرین مطالب وبلاگ مطلع شوید.
کافیه روی کلاه راست کلیک کنید و فید وبلاگ را به حافظه بسپارید. برای اینکار:
در فایرفاکس و کروم روی گزینه copy link location کلیک نمایید تا آدرس به حافظه سپرده شود.
در IE روی گزینه properties کلیک کنید. از قسمت Address می‌توانید آدرس فید را به حافظه بسپارید.
وارد گوگل ریدر شوید. حرف A از روی کیبرد را بزنید.
فید وبلاگ را پیست کنید.

فید وبلاگ آی لینوکس

هر نفر یک کرنل

این نظریه زیاد انجام دادنش کار سختی نسیت. ینی شما می تونید کرنل شخصی خودتون رو داشته باشید. داشتن کرنل شخصی چند تا مزیت داره! اولیش اینه که سرعت بوت بدون شک زیاد می شه. دومیش در صورتی هست که کرنل رو به صورت درستی کانفیگ کرده باشید و نتیجه کانفیگ درست هم بالا رفتن راندمان سیستم هست. یه جورایی لینوکس می تونه از تمام قدرت سیستم شما استفاده کنه که در حالت عادی نمی تونست! سومین مزیت اینه که چیزای زیادی دستگیرتون می شه و به قدرت و عظمت لینوکس هم تا حدودی پی خواهید برد:دی

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

کامپایل کرنل خیلی خیلی عملیات آسونیه. و تنها مرحله‌ای که نیاز به صبر و حوصله بیشتری داره ، تنظیم درست و صحیح فایل کانفیگ کرنل هست که ما به اون کانفیگ کردن می‌گیم.  کرنل در تمام توزیع‌ها(یا اکثرشون) طوری کانفیگ و تنظیم می شوند، که بر روی طیف وسیعی از سخت‌افزارها نصب و اجرا بشوند. منظور از طیف وسیع این هست که اوبونتو یا فدورا یا سوزه و یا هر توزیع دیگر، هم  از پردازشگر اینتل و هم ای‌ام‌دی باید پشتیبانی به عمل بیاورد. هم روی پنتیوم ۴ کار کند و هم پنتیوم تری! هم کیبرد من در لینوکس کار کند و هم کیبرد شما. قرار است صدا از تمام اسپیکرها به گوش رسد.فرقی نمی‌کند  مادربورد ایسوس است و فلان چیپست را دارد یا مادربورد گیگا است و چیپست دیگر را !  برای همین در کرنل یک سری تنظیمات خاص داریم و یک سری تنظیمات عمومی! تنظیمات عمومی همین چیزی هست که در تمام توزیع‌ها وجود دارد و با این تنظیمات کرنل روی هر سخت افزاری نصب می شود. اما کارایی تا حدود زیادی لطمه می‌بیند. بنابراین  اگر  کرنل  منطبق با سخت‌افزار هر فرد کانفیگ شود، به شدت در افزایش سرعت بوت و مهمتر از آن افزیش کارایی سیستم تاثیر زیادی دارد.

مراحل کلی کار اینا هست.

۱- دانلود سورس کرنل به حجم ۶۰ مگ از سایت رسمی

۲- تنظیم و کانفیگ کردن کرنل

۳- کامپایل کرنل

۴- کامپایل ماژول‌های کرنل

۵- نصب ماژول های کرنل

۶- نصب خود کرنل

۷- ساخت رم دیسک

۸- قرار دادن کرنل و رم دیسک در گراب

باور کنید این مراحل یکی از یکی آسون تره! و همونطور که گفتم، طولانی ترین  مرحله کانفیگ کرنل هست. که اونم با ترفند و روشی که در نسخه جدید کرنل (۲.۶.۳۲) به وجود اومده، تبدیل به کار آسونی خواهیم کرد:دی  ینی اینطور بگم! منی که یک عمر از کامپایل کرنل می‌ترسیدم. الان روزی ده بار کرنل رو کامپایل می‌کنم.

۱- مورد اول که خیلی سادست! به سایت کرنل می رید و هر نسخه‌ای که دوست دارید رو دانلود می‌کنید:دی در ضمن هیچ خطری هم دانلود کرنل ناپایدار و در حال توسعه نداره. چون کرنل اصلی سیستم عامل همیشه سر جاش می‌مونه. نهایت امر اینه که می‌بینید کرنل جدیدی که کامپایل کردید، به دلتون نمی شینه. خیلی راحت از داخل گراب وارد کرنل سابق می شید.

۲- تنظیم و کانفیگ کردن کرنل

حالا فایل فشرده‌ای رو که گرفتید  باید از حالت فشرده در بیارید. و با ترمینال  وارد پوشه‌ای که سورس کرنل اونجاست بشید. اسم پوشه حاوی سورس چیزی شبیه linux-2.6.32 خواهد بودکه بسته به نسخه کرنل ، اون اعداد می تونه متفاوت باشه.

حالا نوبت به تنظیم کردن کرنل می‌ٰ رسه. برای تنظیم کردن کرنل، ما انتخابای مختلفی رو داریم. شاید یکی محیط گنوم باشه و کتابخانه‌های GTK رو داشته باشه، پس از دستور make gconfig برای تنظیم کرنل استفاده می‌کنه. شایدم یکی کی‌دی‌ای باشه دستور  make xconfig رو می‌زنه و یکی هم مث من محیط گرافیکی ترمینال رو دوست داره ، دستور make menuconfig می‌زنه و یکی هم زده به سیم آخر و می‌خواد به تک تک سوالات فایل کانفیگ جواب بده!! دستور make config رو می‌زنه. چیزی که مهمه این هست که هیچ کدوم از اینا فرقی با هم ندارند و تمام اینها تغییراتی رو در فایل مخفی کانفیگ موجود در سورس کرنل لینوکس ( config) ایجاد می‌کنند. تمام تنظیمات کانفیگ در این فایل ذخیره خواهد شد. فایلی که اولشم یک نقطه داره(چون مخفیه) ! این فایل هست که می‌گه چه چیزی باید کامپایل بشه و چه چیزی نشه:دی شما از چه فایل سیستمی استفاده می‌کنید؟ ext3 ؟ خوب در تنظیمات کرنل می‌تونید بقیه فایل سیستم‌ها رو غیر فعال کنید. پردازشگر اینتل دارید!؟ در قسمت تنظیمات یا همون کانفیگ کرنل باید ، تا چشتون به کلمه AMD، افتاد غیر فعالشون کنید و بالعکس

با دستور make menuconfig  وارد  تنظیمات کانفیگ می‌شیم. و صرفا قصدمون اینه که با هم قسمتای مختلف آشنایی پیدا کنیم. به محض اجرای این دستور اگر وارد محیطی همانند تصویر زیر نشدید! نهراسید! حتما نیاز به یک برنامه دیگر برای اجرای محیط گرافیکی زیر دارید:دی پیغام خطا حتما مشخص می‌کنه چه برنامه‌ای رو لازم دارید. نصب بسته هم مثل هر بسته دیگه در لینوکس. از توزیع تا توزیع فرق می‌کنه:دی (توی سیناپتیک سرچ یادتون نره)

وقتی وارد تنظیمات کرنل در ترمینال بشیم، تصویر زیر رو خواهیم داشت.

یک  سری سرفصل کلی داریم، که از روی اسم می‌شه تا حدودی به کار اونها پی برد! ما تاجایی که ممکنه باید این کرنل رو لخت کنیم! هر گزینه‌ سه حالت داره. یا هست، یا نیست و یا اینکه به صورت ماژول وجود داره:دی وقتی چیزی به صورت ماژول وجود داره، یعنی قرار نیست ما در حالت پیشفرض از اون قابلیت استفاده کنیم. هر موقع نیاز شد،  می تونیم ماژول رو بارگذاری کینم. مثل کاری که خیلیا باید برای نصب درایور کارت تی‌وی‌ انجام بدن! اما وقتی که کرنل رو داریم برای خودمون کامپایل می کنیم، استفاده از ماژول مفهوم چندانی نداره:دی  چون ما تکلیفمون با خودمون روشنه.  یا از یک چیز می‌خوایم استفاده کینم و یا نمی‌خواهیم!  من اول از سر فصلایی شروع می کنم که شما راحت می‌تونید لختش کنید و کرنل رو سبک کنید.

اولی Virtualization یا همون مجازی سازیه! پردازشگر  یا مجازی سازی رو ساپورت می‌کنه یا خیر! فرض می کنیم ساپورت می کنه. اما شما اصلا استفاده‌ای ازش ندارید:) پس سریع ستاره رو از جلوی مجازی سازی بردارید(با زدن اسپیس) .
حالا  فرض می کنیم پردازشگر شما ساپورت می کنه و مجازی سازی هم باب میل طبع شماست. اینتر می‌زنید تا وارد زیر فصلاش شید. اگه اولین گزینه رو که kvm داره رو ستاره دار کنید، دو تا گزینه دیگه هم فعال می شه:) متناسب با پردازشگر خودتون، مجازی سازی رو انتخاب کنید. دو قابلیت دیگه هم به صورت مجازی وجود داره. می تونید راهنما مربوط به اونا رو بخونید و در صورتی که باب میلتون بود اونا رو فعال کنید. من هنوز رابطه بین این گزینه‌های داخل کرنل با اون برنامه‌های ویرچال باکس و وی‌ام‌ویر رو متوجه نشدم:دی وقتی روشن می‌کنم، ویرچال باکس مشکل پیدا می‌کنه. بهتره این قابلیت رو  به صورت m یعنی ماژول فعال ‌کنیم تا فقط در صورت نیاز ماژول رو  بشه بارگزاری کرد.

سر فصل دیگه file system هست که به راحتی  مورد نظر رو می‌شه تشخیص داد و بقیه رو خاموش کرد. این زیر فصل دو تا چیز مهم هم داره!
یکی فایل سیستم ویندوز! اگه می خواید به پارتیشنای ویندوز از داخل لینوکس دسترسی داشته باشید، باید محتویات (DOS/FAT/NT Filesystems) را فعال کنید. همینطور خوندن سی‌دی‌و دی‌وی‌دی(CD-ROM/DVD Filesystems) . گزینه CD-ROM/DVD Filesystems هم برای سامبا و nfs هست. نوعی سیستم اشتراک فایل و تجهیزات مختلف بین ویندوز و لینوکس که در صورتی که استفاده‌ای ندارید، می‌شه غیر فعالش کرد.
در زیر مجموعه Partition Types هم می‌تونید دو گزینه PC BIOS و Windows Logical Disk Manager رو تیکش رو بزنید. در صورتی هم که از جداول پارتیشن بندی دیگه استفاده می کنید‌، باید مراقب باشید:دی در ضمن در مورد فایل سیستم‌ها مورد مربوط به دیباگ(Debuge)  رو بهشون نیازی نداریم:دی

برای برگشتن به صفحه اصلی هم از Esc استفاده کنید.

خوب یکی از سرفصلای کلیدی Device Drivers  هستش. تقریبا تمام قطعات سخت‌افزاری سیستم در این قسمت اگه درست انتخاب شه کار می کنن!  در اینجا اگه زیادی گزینه‌ها رو خاموش کنید، احتمال اینکه قطعه ای از سیستم کار نکنه بالاست.

مهمترینای بخش دیوایس:

Generic Driver Options که در داخلش یکی از مهمترین بخش‌های کرنل نسخه جدید (۲.۶.۳۲) وجود داره! که باعث افزایش سرعت بوت می شه . منظور گزینه Create a kernel maintained /dev tmpfs هستش که تاثیر زیادی در افزایش سرعت بوت بر عهده داره.

گزینه دیگر ATA/ATAPI/MFM/RLL support  هست که مربوط به هاردای IDE هستند و من به کل این بخش رو غیر فعال کردم:دی چون فقط ساتا دارم. دوستان باید دقت کنند که حتی هاردای ساتا نیز می توانند عملکردی مشابه آی‌دی‌ای داشته باشند.

و اما در صورت داشتن هارد ساتا. وارد زیر بخش Serial ATA (prod) and Parallel ATA (experimental) drivers می‌شید و گزینه‌های AHCI SATA support  و ATA SFF support  رو می زنید. اگه دقت کنید گزینه Marvell SATA support  رو هم خواهید دید. این تکنولوزی هست که در مادربوردای تمام ساتا به کار می ره . وقتی می‌خوان یک هارد IDE داشته باشن از این روش استفاده می کنن. در ضمن یادتون نره از داخل بایوس نحوه عملکرد هاردای ساتا رو AHCI تنظیم کنید تا ساتای واقعی بشن.

قسمت مربوط به اسکازی از موارد مهم  برای آدمای خاص هست(در صورتی که وسایل  اسکازی   دارید!!) . منظور گزینه SCSI device support هست که در زیر قسمت آن بخش‌های مهمی داریم. SCSI CDROM support  برای کار کردن سی دی رام اسکازی مورد نیاز است. SCSI generic support نیز برای رایتر و اسکنرهایی که اسکازی هستند مورد نیاز می شه. گزینه پشتیبانی از هاردای اسکازی هم SCSI disk support هست.

دوستان من تاکید می‌کنم! این گزینه‌هایی هست که من زدم و برای سخت‌افزار خودم بوده. من باگفتن این موارد فقط قصد دارم جای حدودی هر گزینه رو بهتون بگم و بقیه کار تلاش خودتون هست:دی

قسمتای مهم دیگه Network device support هست. در این بخش هست که کارت شبکه (ADSL)  و همه این چیزا تعیین می‌شه. پس این بخش رو باید دقت کنید:دی من این زیر بخش رو توضیحی نمی‌دم چون موارد متنوع هست. اما در ادامه روشی رو می بینیم که تمام این تنظیمات به صورت خودکار توسط چند خط کد اضافه انجام می‌شه (انقلاب در کانفیگ کرنل)

یکی از مهمترین بخش‌ها Graphics support هست . دقت کنید دوستان! من خودم شخصا تمام این گزینه‌های رو غیر فعال کردم. اما نتیجه این شده که از زمان گراب تا بالا اومدن لینوکس شاهد یک ترمینال زشت و زمخت هستم! همون اول بعد از گراب، هر بار سر تعیین  رزولیشن ترمینال زمانی رو از دست می‌دم! و سر همین موضوع زمان بوتم پایین می یاد:دی

از طرفی وقتی گزینه‌های زیادی رو فعال می کنم!! درایور رسمی شرکت انودیا رو نمی تونم نصب کنم! و علت تداخل با این کارت‌ها میباشد. پس تا زمانی که بتونیم اطلاعات دقیقی رو در این مورد بدست بیاریم:)) پیشنهاد من غیر فعال کردن همه موارد هست:دی

موارد پشتیبانی از USB و همینطور مانیتورای LED  نیز از این بخش قابل تنظیم هست. تکنولوژی DMA Engine support  نیز نباید فراموش شه. این تکنولوژی متعلق به اینتل هست و باعث می شه اطلاعات بدون اینکه پردازشگر کار بکنه ، در حالت رید بر روی هارد نوشته شه و البته زمانی به درد می خوره که سخت افزار هم پشتیبانی کنه:دی

زیر بخش مربوط به Multimedia support هم بخش‌های مهمی برای کسایی که وب کم و یا کارت تی‌وی یا DVB  دارن حساب می شه و باید سرکی بهش بکشن.

اگر از پارتیشن بندی به روش LVM یا Raid استفاده نمی‌کنید، نیز با خیال راحت گزینه Multiple devices driver support (RAID and LVM) رو خاموش کنید.

با زدن Esc وارد  بخش اصلی  می‌شیم. یکی از سر فصل‌های اصلی که من همه رو خاموش کردم، سرفصل Networking support هست که به جز گزینه اول، بقیه موارد داخل این سرفصل رو خاموش کردم:دی . چون نه وایرلسی دارم  و نه وایمکس و نه بلوتوثی

یکی از بخش‌های مستعد Power management and ACPI options  هست . این قسمت همونجایی هست که مسئول عملیات ساسپند و خواب زمستانی هست. پیشنهاد من اینه که اگه پی‌سی دارید، این گزینه رو غیر فعال کنید. اگرم که لب تاب دارید، می تونید گزینه های مطلوب رو روشن کنید.

یکی از زیر بخش‌های مهم ACPI ، گزینه های مربوط به   CPU Frequency scaling هستند . عموما در لب‌تابها و حتی پی‌سی ها برای صرفه جویی در مصرف برق و در نتیجه دیر تمام شدن باتری، در زمانی که سیستم غیرفعال است، پردازشگر در فرکانس کمتری کار می کند. در صورتی که بخواهید کرنل به صورت خودکار فرکانس را تغییر دهد، باید به این گزینه‌ها یک نگاهی بیندازید.

اما یکی از سرفصل‌های اصلی و بسیار مهم که تاثیر به سزایی در بالا رفتن کارایی لینوکس روی سخت‌افزار شما دارد، Processor type and features می باشد.

در زیر مجموعه این بخش مهم به  Configure Maximum number of SMP Processors and NUMA Nodes بر می‌خوریم که حداکثر تعداد پردازشگر را مشخص می کند .  اگر شما پردازشگر تک هسته‌ای دارید با خیال راحت این بخش رو غیر فعال کنید و اگر مثل من ۴ هسته‌ای دارید، آن را روی عدد ۴ بگذارید. نیازی نیست روی ۵۱۲ این عدد بماند!

SMT (Hyperthreading) scheduler support    یک تکنولوژی هست که  در پردازشگرهای پنتیوم ۴ اینتل به کار رفته. کارش این بوده که پردازشگر تک هسته‌ای شما رو با روشای مهندسی و تمام نرم‌افزاری! تبدیل به دو هسته می کنند:دی البته الان هم اینتل در پردازشگرای جدید خود core i7 نیز از این فناوری استفاده کرده! و برای همینه که می گن پردازشگرای ۴ هسته ای جدید اینتل، داری ۸ هسته هست:دی و اون ۴ هسته اضافی توسط همین فناوری درست می شه:دی اگر پردازشگرای دو هسته و یا ۴ هسته ای معمولی اینتل رو دارید نیازی به روشن کردن این گزنیه ندارید.

یکی از بخش‌های خیلی خیلی مهم Processor family  هست که نوع پردازشگرتون رو مشخص می کنه! اینجاست که شما باید تعیین کنید که آیا مثل من اینتل ۴ هسته ای یا دو هسته ای یا زئون دارید( Core 2/newer Xeon) و یا اینکه پردازشگر اتم اینتل دارید استفاده می‌کنید. AMD هم که گزینش مشخصه! توجه کنید که حالت Generic-x86-64  همونی هست که در تمام توزیعا روشنه و برای تمام پردازشگرها عمومیت داره! ینی درسته همه پردازشگرا رو پشتیبانی می‌کنه اما در عوض کارایی رو پایین می‌یاره.

در همین جا اگر لب تاب شرکت دل دارید، گزینه Dell laptop support رو باید روشن کنید.

دوستان این بخش موارد پیشرفته دیگه‌ای هم داره! که من هنوز به صورت کامل و درست از اونا سر در نیوردم:دی. هر موقع فهمیدم چی به چیه:دی (با کمک شما دوستان) مطلب رو در پستای بعدی می شکافیم:دی


انقلاب در کانفیگ کرنل

روشی جدید برای ساده سازی کانفیگ کرنل از شماره ۲.۶.۳۲ به کار گرفته شده، که کار افرادی مثل من و شما رو خیلی خیلی ساده می کنه. در مرحله قبل ما مجبور بودیم درکی از ریزترین جزئیات کرنل داشته باشیم که حقیقتا کاری سخت و طاقت فرسا هست. البته در گذشته( و همین الان) دستور make oldconfig مورد استفاده بوده. هنگامی که شما این دستور را می‌زنید. فایل کانفیگ مقادیر پیشفرض کرنل جاری سیستم عامل رو به خود می‌گیرد. و در ادامه در ترمینال فقط سوال‌هایی به شما نشان داده خواهد شد، که که کاملا جدید هستند و به این ترتیب فردی که می‌خواهد عمل کانفیگ کرنل را انجام دهد، کار کمتری را باید انجام دهد.(به جای اینکه به تک تک سوالات جواب دهد به ۵۰ تا جواب می‌ده)

اما روش جدیدی که در  نسخه جدید برای آسان سازی کامپایل مورد استفاده قرار می گیرد استفاده از دستور خوشدست make localyesconfig هست.
به صورت خودمانی این دستور می‌یاد فایل کانفیگ شما رو بر اساس ماژولایی که فعال هستن، ست می کنه! یعنی اینکه وقتی شما این دستور رو می‌زنید یه چیزی در حدود ۲۰ تا سوال از شما می شه. اکثر سوالات حالات پیشفرض NO رو دارن و با زدن اینتر بازم غیر فعال می مومونند. یه سری هم Y دارن شما می‌تونید با نوشتن حرف n اونا ر و غیر فعال کنید. اما نکته اینجاست! که شما یه سوال رو جواب می‌دید ، ۵۰ تا رو خود دستور تنظیم می کنه! چطوری؟ بر اساس ماژولایی که همین الان رو سیستم شما دارن کار می‌کنن:دی وقتی بعد این مرحله برید و فایل کانفیگ رو ببینید!! می‌بینید تمام قسمت‌های سخت و نفس گیر ، خودشون بر اساس سخت‌افزار و شرایطی که شما داشتید روشن می شند:O یعنی دیگه وقتی به قست کیبردا برید، همه گزینه‌ها روشن نیست. وقتی به قسمت شبکه برید ۹۵ درصد موارد نا مربوط به سخت افزار  خاموش هستند:دی

خلاصه اینکه شما اول باید این دستور make localyesconfig رو اجرا کنید. از اسم دستور هم مشخصه که چیکار داره می‌کنه! localy با استفاده از ماژولای فعال هر فرد (سیستم با سیستم فرق می‌کنه)‌ easy  کار رو آسون می‌کنه! کدوم کار رو!؟ کار کانفیگ کرنل رو :دی بعد از اجرای دستور هم گفتم که باید به ۲۰ تا سوال جواب بدید.  این سوالات همونایی هست که در منوهای بالا قبلا دیده بودید
جلوی هر سوال نگاه کنید! سه حالات داره! N و y  و m که بیشتر اونها حرف N بزرگ هست. اونی که حرف بزرگ هست حالت پیشفرض هست! بدین معنی که اگر در جواب به این سوالات اینتر رو بزنید، اون حرف بزرگه به صورت خودکار در فایل کانفیگ تنظیم می‌شه:دی من با اطمینان می‌گم شما می‌تونید همه اون سوالاتی که دیفالتشون حرف N هست رو اینتر بزنید:)) و اما! اونایی که با حرف Y بزرگ هستند! رو بخونید ببینید چی می گه:دی اگه دوست نداشتید جیزی فعال شه کافیه n رو تایپ کنید و بعد هم اینتر رو بزنید.

و بعد اجرای این دستور برید و دستور make menuconfig رو اجرا کنید! و لذت ببرید! از قدرت هکرای کرنل:)) فایل کانفیگ ۸۰ درصد خالی شده. کافیه یه گشت تو تنظیمات بزنید. حالا می‌تونید مدل دقیق کیبرد و موستون رو پیدا کنید. حالاست که می‌تونید مدل دقیق کارت شبکتون رو ببینید چیه! و پی ببرید که کدوم قسمت از کرنل هست که مسول به کار انداختن کارت شبکه و یا usb های شما هست! انتخاب بسیار محدود شده!

من فقط شما رو به قسمت فایل سیستم‌ها مجددا ارجاع می‌دم.  و یکی هم اون قسمت کارت گرافیکی! که هر چی در این دو بخش دیدید رو خاموش کنید.

در ضمن همچنان باید نوع معماری پردازشگر و تعدادشون رو هم انتخاب کنید:دی

۳- فرض رو بر این می‌گذاریم که شما کرنل رو کانفیگ کردید! فایل کانفیگ رو ذخیره کردید و از محیط برنامه خارج شدید. تمام تغییرات در فایل مخفی کانفیگ (config. ) نوشته شده. شما می‌تونید این فایل رو برای استفاده در آینده در محل دیگری نگهداری کنید:دی

حالا نوبت کامپایل هسته می‌ٰسه. برای اینکار از دستور make استفاده می‌کنیم. اگر پردازشگر دو هسته ای دارید برای سریعتر شدن کار از دستور make -j 2 و اگر هم ۴ هسته‌ دارید، make -j 4 رو وارد کنید. افرادی که پردازشگرای تک هسته‌ای دارن باید  ۱۵ دقیقه ای رو تحمل کنن و به کارای دیگشون برسن:دی . افرادی مث من هم، بعد ۴ دقیقه کرنل کامپایل شده رو خواهند دید:دی

۴- حالا نوبت کامپایل ماژولای کرنل فرا می‌رسه.  برای اینکار کافیه دستور make modules رو وارد کنید. حالا کرنل و ماژولا رو کامپایل شده داریم. باید با یه دستوری اینا رو به سر جاشون منتقل کنیم:دی و چون سر جاشون، تو فولدر ریشه و جایی هست که باید دسترسی ریشه داشته باشیم، از دستور sudo استفاده می‌کنیم.
۵- اول از همه ماژولا رو با دستور sudo make modules_install به سر جاشون می‌بریم. ۶- و بعد خود کرنل کامپایل شده رو با دستور sudo make install به مکانی که باید، بره می‌بریم(boot/ ) .
توجه کنید که با زدن این دستور آخر در اپن سوزه سه تا اتفاق دیگه به صورت خودکار می‌یوفته:دی اول ساخته شدن رم دیسک هست! و دومی انتقال اون به محلی که باید باشه و سومی هم معرفی رم دیسک و کرنل به گراب:دی

و چون شما احتمالا اوبونتو دارید. اون سه تا کار آخر رو هم باید دستی انجام بدید.( اپن سوزه = اژدهای خاموش)

۷- رم دیسک چیست!؟ و چگونه آن را ایجاد کنیم

قبلش بگم منظور از اون initrd چی هست! نگین طرف ماسمالی کرد و رفتش:)) این کلمه مخفف initial ramdisk هست و همانند قضیه مرغ و تخم مرغ هست:دی :)))

وقتی شما کامپیوتر رو روشن می‌کنید و بایوس کامپیوتر قصد داره، کار رو به هارد بکشونه! و کرنل رو از رو هارد بخونه! چطوری باید اینکارو بکنه!؟ وقتی درایور خود هارد رو نداره، چیکار کنه!!؟ ببینین ما داریم تو خود کرنل، درایورای مربوط به هارد رو تیک می‌زنیم که آره آقای کرنل شما  بیا مدل هارد ما رو که Raid و یا LVM هست ساپورت کن! بعد موقعی که سیستم رو روشن می‌کنید که کرنلی در کار نیست:دی چون کرنل رو هارده و همینوطور درایورا و اگه با فرض اینکه هارد معمولی هست، اطلاعات رو بخونه می تونه منجر به اشتباهات بدی بشه!!  پس اینجا اومدن initial ramdisk رو ایجاد کردن . ینی اول می یان روی رم یه چیزی رو می‌سازن و از اون به صورت یک فایل سیستم استفاده می‌کنند. کما اینکه بعدا خودتون می‌تونید اینکار رو بکنید! یعنی شما می‌تونید یه تیکه از رم رو کاری کنید انگار جزئی از هارد شما هست! و بعد به عنوان مثال کش فایرفاکستون روی اون ذخیره کنید:دی و اون موقع از لذت بالای وبگردی لذت ببرید!! خلاصه سرتون رو درنیارم! رم دیسک در حکم نمی‌دونم مرغه هست و  یا شایدم تخم مرغه و چیزی که مهمه خیلی خیلی مهمه اینه که حتی وظیفه بارگذاری ماژولا در کرنل رو هم انجام می‌ده.

حالا  ببینیم شما در اوبونتو باید با زدن چه دستوری این رم دیسک رو بسازید!؟

mkinitramfs -o /boot/initrd.img-2.6.32

همونطور که می‌بینید این دستور برای ساخت رم دیسک مورد استفاده قرار می‌گیره! و محل ذخیره شدنشم معلومه! دقیقا در فولدر boot کنار دست کرنل. هیچ چیز خاصی نیست و فقط درشروع مورد استفاده قرار می‌گیره تا سیستم بالا بیاد. چون محتویات حافظه رو برخلاف هارد می‌شه به راحتی خوند! و دیگه درایور برای رم نداریم:)))

حالا مرحله آخر ویرایش فایل گراب هست! که راهنماش ریخته!!‌ من فقط این نکته رو بگم که شما کافیه خطوط مربوط به کرنلی که الان باهاش توی لینوکس هستید! رو کپی پیست کنید و اونا رو یه تغییرات کوچیک بدید:دی ( منطور اینه که آدرس دقیق کرنل و رم دیسک رو باید بدید! )

و نکته آخر اگه همه چی با موفقیت باشه! شما باید وارد ترمینال بشید! وارد ترمینال که شدید باید برید با دستور ساده sudo sh Nvidia*.run درایور کارت گرافیکی رو نصب کنید:دی تا با ریست بعدی وارد محیط دسکتاب بشید.

دوستان ،،،،،،         همیشه آزاد باشید ,,,, مجوز  مطلبم GPL هست:دی

کاهش زمان بوت

سوزه عالیه،از هر جهت که بشه تصورش رو کرد. تنها مشکل زمان بوت اپن سوزه هست که حوصله آدم رو سر می‌بره.

زمان بوت در اپن سوزه
زمان بوت در اپن سوزه: ۸۵ ثانیه

آخرین هسته ناپایدار یعنی ۲٫۶٫۳۲-rc8 رو کامپایل کردم.به تصویر زیر می رسیم.

زمان بوت در کرنل سفارشی شده ۴۰ ثانیه هست.

با یه کامپایل ساده و حذف خیلی از آتاشغالایی که به درد هیچ کی نمی‌خوره زمان بوت از نصف هم کمتر شد.

* اوبونتو با داشتن کرنلی شبیه اپن سوزه زمان بوت به مراتب کمتری داره چون روی قسمتای دیگه هم کار کردن. روی پروسه‌هایی که از لحظه شروع  بوت، در پشت صحنه اجرا می شن.

* اوبونتو ۱۰.۴ قراره به هدف زمان بوت ۱۰ ثانیه برسه! باید براشون نشست و دعا کرد