با سلام و خسته نباشید.
تا جایی که در صفحات وب گشتم ،اینطور فهمیدم که آموزش هایی را که در رابطه با نصب کرنل لینوکس گذاشته اند، بیشتر در حول و حوش افزایش ورژن کرنل فعلی میباشد.
ببینید لازم نیست تا کرنلی که الان دارید رو ارتقا بدید یا عوض کنید. اون چیزی که از kernel.org دریافت میکنید، کد کرنل هست (یکمی هم firmware به صورت دودویی همراهش هست) مشخصا این کد توی این حالت نمیتونه کاری انجام بده. برای همین شما باید اون کد رو کامپایل کنید تا تبدیل به یه کرنل به همراه ماژولهاش بشه. برای کامپایل به یه کامپایلر و پردازنده نیاز دارید. پردازنه که توی کامپیوتر شما قرار داره و بهش کاری نداریم. برای کامپایلر، معمولا از gcc استفاده میشه، البته گزینههای دیگه مثل llvm هم هستند.
اگه بخواهید بدون هیچ سیستمعاملی کرنل رو کامپایل کنید، باید برای اینکار یه سختافزار بسازید.
اگه از یه توزیع زنده استفاده کنید، میشه از یه کامپایلر استفاده کرد تا کار شما رو راحتتر کنه (به جای اینکه کامپایلر خودتون رو بنویسید یا اینکه بخواهید سختافزاری مخصوص اینکار درست کنید)
وقتی یه کرنل رو نصب میکنید، در اصل فایلهایی که کامپایل شدند، توی جاهای خاصی قرار میگیرند. معمولا خود فایل کرنل توی /boot/ قرار میگیره و ماژولهای اون توی دایرکتوری /lib/modules/KERNEL-VERSION/
نصب کار خاصی انجام نمیده، فقط فایلهایی که کامپایل شدند روی توی اون مسیرها قرار میده، همین.
برای کامپایل، معمولا مستقیما از خود کامپایلر استفاده نمیکنند؛ چون تعداد فایلها خیلی و دستورات هم معمولا طولانی هستند، به همین دلیل، از build system ها مثل make استفاده میشه. با make میشه توی یه فایل تنظیمات و پرچمهای مربوط به کامپایل رو مشخص کرد، مقدار متغییرهای محیطی رو تنظیم کرد بررسی کرد که فایلهای موردنیاز برای کامپایل وجود داره یا نه و خیلی از کارهای مربوط به کامپایل رو خودکار کرد. اینجوری شما با زدن دو سه تا دستور، کرنل و ماژولهاش رو کامپایل و نصب میکنید. بهجای اینکه لازم باشه جدا جدا بررسی کنید که پیشنیازها وجود داره یا نه، فایلها رو به ترتیب درست کامپایل کنید، پرچمها و آپشنهای کامپایل رو دستی مشخص کنید و دونه دونه فایلهای بدست اومده رو توی جای درست قرار بدید.