بخش اول : معرفی
۱.۱ - چجوری یه سیستم LFS ای بسازیم
برای ساخت یه سیستم LFS نیاز داریم که از قبل یکی از توزیع های لینوکس (مثل دبیان، فدورا، اوپنسوزه و ...) رو نصب داشته باشیم. سیستم میزبان(درواقع همون توزیع لینوکسی خودمون) قراره به عنوان نقطه ی شروع استفاده بشه چرا که برای ساخت یه سیستم جدید به یک سری برنامه ها مثل کامپایلر، ربط دهنده(linker) و شِل نیاز داریم که توزیع لینوکسیمون اینارو در اختیار ما میذاره. برای دسترسی به این ابزار ها باید گزینه ی "development" رو در هنگام نصب توزیعمون انتخاب کنیم.
البته میتونید به جای اینکه یه توزیع جدا روی کامپیوترتون نصب کنید، از یه دیسکزنده(Live Disk) استفاده کنید و توزیع رو به صورت زنده بالا بیارین.
فصل ۲ این کتاب درباره ی این توضیح میده که چجوری میتونیم پارتیشن ها و فایل های سیستمی یه لینوکس رو بسازیم. اینجا همونجاییه که سیستم LFS ای ما قراره کامپایل و نصب بشه. توی فصل سوم یاد میگیریم برای ساخت یه لینوکس چه بسته ها و وصله هایی رو باید دانلود کنیم و چطور میتونیم نگهداریشون کنیم. فصل چهارم درباره ی برپا کردن یه محیط کار مناسب بحث میکنیم.
فصل پنجم درباره ی نصب تعدادی از بسته ها صحبت میکنیم که زنجیره ی ابتدایی برای توسعهدهندگی مارو ایجاد میکنن. زنجیره ای که برای ساخت سیستممون توی فصل ششم استفاده میشه.
علاوه بر این ها در فصل پنجم به شما نحوه ی ساخت مرحله ی اول از زنجیره ی ابزار(toolchain)، شامل Binutils و GCC، رو نشون میدیم.(به صورت کلی، مرحله ی اول به معنی نصب این دو بسته ی اصلی هست). قدم بعدی، ساخت Glibc (کتابخونه ای برای c) هست. این کتابخونه توسط برنامه های داخل زنجیره ی ابزار(که ما مرحله ی اولش توی قدم قبلی ساختیم) کامپایل میشه و سپس، مرحله ی دوم از این زنجیره ساخته میشه. ایندفعه زنجیره ی ما به صورت داینامیک و پویا به Glibc لینک میشه. مابقی بسته های فصل پنجم هم توسط اون زنجیره ی ابزارمون ساخته میشه و وقتی این کار هم تموم شد به جز در قسمت اجرای کرنل، فرآیند نصب LFS دیگه به یک توزیع میزبان نیاز نداره.
این جدا کردن سیستم جدید از اون توزیع میزبان ممکنه یکم تندروی تلقی بشه. توضیحات کامل اینکه چرا این کار رو انجام میدیم توی فصل ۵.۲ به اسم «یادداشت های فنی زنجیرهابزار» ارائه شده.
توی فصل ششم سیستم کامل LFS مون ساخته میشه. از برنامه ی chroot استفاده میکنیم تا وارد یه محیط مجازی بشیم و یک شِل رو اجرا کنیم. دایرکتوریِ ریشه ی این شِل همون پارتیشن LFS ما خواهد بود. این کار شبیه به اینه که سیستم رو ریبوت کنیم و به کرنل بگیم که پارتیشن LFS رو به عنوان پارتیشن ریشه ماونت کنه. توی کاری که ما انجام میدیم سیستم واقعا ریبوت نمیشه چرا که ساخت یه سیستم که قابلیت بوت شدن رو داشته باشه نیازمند یه سری کارهای اضافیه که فعلا برای ما نیاز نیست. بنابراین ما از chroot استفاده میکنیم. یکی از بزرگترین خوبی های استفاده از chroot اینه که به شما اجازه میده تا هنگام ساخته شدن LFS هم از سیستم میزبان استفاده کنید و زمانی که منتظرین تا کامپایل بسته ها انجام بشه میتونین از کامپیوترتون به شکل طبیعی استفاده کنید.
به عنوان پایان نصب، کانفیگ های پایه ای سیستم توی فصل ۷ و کانفیگ کرنل و بوتلودر هم توی فصل ۸ ام جا گرفته. فصل ۹ ام اطلاعاتی درباره ی تجربه های پیرامون LFS به شما میده که فراتر از کتابه. بعد از طی کردن قدم های بالا، کامپیوتر ما آماده ست که وارد سیستم LFS جدید بشه.
مطالبی که گفته شد، خلاصه ی فرآیند نصب بود. اطلاعات جزئی تر راجع به هر مرحله به شکل دقیق داخل فصل های مربوط بهشون ارائه شدن. مبحث هایی که به نظر سخت و پیچیده میومدن شفاف و واضح خواهند شد و
everything will fall into place as you embark on the LFS adventure
۱.۲ - منابع
۱.۲.۱ - سوالات متداول
اگه حین ساخت سیستم LFS تون با ارور مواجه شدین یا سوالی داشتین یا اینکه فکر میکنین مشکلی توی کتاب وجود داره، به بخش سوالات متداول مراجعه کنید.
۱.۲.۲ - لیست ایمیل
سرور linuxfromscratch.org از چندین لیست های ایمیلی میزبانی میکنه که برای توسعه ی پروژه ی LFS استفاده میشن. این لیست ها علاوه بر بخش های متفاوت، شامل لیست ساپورت و لیست توسعه ی اصلی این پروژه هم هست. اگه شما جواب سوالتون رو توی «سوالات متداول» پیدا نکردین، قدم بعدی اینه که توی لیست ایمیل جستجو کنید.
برای اطلاعات بیشتر راجع به لیست های متفاوت، نحوه ی اشتراک، محل آرشیو ها و ... به این لینک مراجعه کنید.
۱.۲.۳ - IRC
بسیاری از اعضای جامعه ی LFS میتونن به شما توی IRC کمک کنن. قبل از اینکه به سراغ این کمک ها برید، مطمئن بشین که جواب سوالتون توی لیست ایمیل ها و یا سوالات متداول موجود نباشه. شبکه ی IRC رو میتونید توی irc.freenode.net کانال پشتیبانی به اسم LFS-support# وجود داره.
۱.۲.۴ - سایت های میرور
پروژه ی LFS تعدادی میرور جهانی برای دسترسی راحت تر به وبسایت و دانلود بسته های مورد نیاز ایجاد کرده. برای مشاهده ی لیست میرور ها به وبسایت LFS در آدرس http://www.linuxfromscratch.org/mirrors.html مراجعه کنید.
۱.۳ - کمک
۱.۳.۱ - نکات
-
۱.۳.۲ - مشکلات اسکریپت configure
اگر هنگام اجرای اسکریپت configure به مشکلی برخوردین، فایل config.log رو ببینید. این فایل ممکنه شامل ارور هایی باشه که هنگام اجرای اسکریپت configure ایجاد شدن و روی صفحه چاپ نشدن.
۱.۳.۳ مشکل های کامپایل
هردو ی خروجی ها، صفحه و محتویات فایل ها، برای پیدا کردن دلیل اشکال کامپایل به درد میخورن.
Last updated