# برنامه نویسی سطح پایین > توسعه‌ی هسته‌ی سیستم عامل >  طریقه ساخت توزیع لینوکس

## mahdad sepah

سلام دوستان عزیز
میشه یکی توضیحی جامع در باره طریقه استفاده از هسته لینوکس را گام به گام توضیح دهد چون اینجا همه میگن از هسته لینوکس استفاده کن ولی نمیگن چه جوری؟
اصن از کجا دانلودش کنم ؟تو چه محیطی باید اجراش کنم؟بعد چه جوری توسعه اش بدم؟
خیلی خیلی ممنون کسی میشم که جواب بده

----------


## pswin.pooya

سلام
اگر يه نگاهي به تالار زير بندازي شايد مشكلت حل بشه:
https://barnamenevis.org/forumdisplay...B2%D8%A7%D8%AF

----------


## mahdad sepah

> سلام
> اگر يه نگاهي به تالار زير بندازي شايد مشكلت حل بشه:
> https://barnamenevis.org/forumdisplay...B2%D8%A7%D8%AF


متاسفانه به جوابم نرسیدم

----------


## pswin.pooya

> متاسفانه به جوابم نرسیدم


خب ديگه پس نمي شه كاري كرد. جواب وحود نداره.


حداقل توي تالاري كه بهت دادم چندين تاپيك براي اينكار وجود داره. اگر حوصله سرچ زدن و گشتن ندارين. همچين كاري رو شروع نكني بهتر هست.

----------


## prpe26

یه تجربه : 

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

حالا هم بهتره اینا رو در مورد لینوکس بدونید :
۱- ابتدا سیستم عامل کامپیوترتون رو با یکی از توزیع های لینوکس جایگزین کنید و تا میتونید در محیطش (و بخصوص محیط خط فرمانی ترمینال) حرفه ای بشید. برای این کار به طور متوسط ۴ ماه زمان نیازه. 
۲- برنامه نویسی زبان C و نوشتن اسکریپت های Bash رو در محیط لینوکس تمرین کنید و یاد بگیرید (حدود ۶ ماه ) 
۳- بعد کمی استراحت کنید و به مطالعه بپردازید در مورد چگونگی ساخت توزیع (۲ ماه). 

تا اینجا یک سال وقت نیازه . مثل خودم در سال ۸۹ :). در سال بعدی ساخت توزیع رو آغاز کنید و بعدش توزیع رو بیرون بدید. مثلا من در سال ۸۹ موارد بالا رو اجرا کردم (اون موقع تازه ۱۴ سال تمام داشتم!) بعد در سال ۹۰ ساخت توزیع رو آغاز کردم و ابتدای سال ۹۱ توزیعمون رو بیرون دادم! یعنی ۲ سال زمان لازمه تا بتونید توزیع بیرون بدید. البته اون موقع تیم دو نفره بود. ولی الان که ۳ تا هستیم هم باز به همین منواله.

----------


## pswin.pooya

> به طور متوسط ۴ ماه زمان نیازه
> حدود ۶ ماه
> ۲ ماه


آقا ضريب هوشي شما خيلي زياده.برا من همين دو قلم اولش دو سال شد. آقا يه دستي هم رو سر ما بكش بلكه به جايي برسيم.

----------


## prpe26

:متعجب: 

چطور ؟ یحتمل شما مشغله های زیادی هم داشتید. من عادت ندارم تابستون ها کلاس و... برم و وقتم به اینجور کارا میگذرونم. و البته یک سال کار برای درک کار با لینوکس (لینوکس کار عمومی  :لبخند گشاده!:  ) خیلی وقت کمی نیست.

----------


## mahdad sepah

> یه تجربه : 
> 
> تا کار با گوگل رو یاد نگیریم نمیتونیم توزیع لینوکس بسازیم  دلیل حرفم هم اینه که من قصد این کار رو داشتم ولی وقتی سرچ میکردم اولین نتایجی که میرسیدم رو میخوندم و تمام! اما بعد مدتی توی ویکی توزیع های محتلف (که برپایه توزیع دیگر بودند) و ... گشتم ، در mailing list ها عضو شدم تا تونستم یک توزیع مبتنی بر اوبونتو درست کنم. 
> 
> حالا هم بهتره اینا رو در مورد لینوکس بدونید :
> ۱- ابتدا سیستم عامل کامپیوترتون رو با یکی از توزیع های لینوکس جایگزین کنید و تا میتونید در محیطش (و بخصوص محیط خط فرمانی ترمینال) حرفه ای بشید. برای این کار به طور متوسط ۴ ماه زمان نیازه. 
> ۲- برنامه نویسی زبان C و نوشتن اسکریپت های Bash رو در محیط لینوکس تمرین کنید و یاد بگیرید (حدود ۶ ماه ) 
> ۳- بعد کمی استراحت کنید و به مطالعه بپردازید در مورد چگونگی ساخت توزیع (۲ ماه). 
> 
> تا اینجا یک سال وقت نیازه . مثل خودم در سال ۸۹ :). در سال بعدی ساخت توزیع رو آغاز کنید و بعدش توزیع رو بیرون بدید. مثلا من در سال ۸۹ موارد بالا رو اجرا کردم (اون موقع تازه ۱۴ سال تمام داشتم!) بعد در سال ۹۰ ساخت توزیع رو آغاز کردم و ابتدای سال ۹۱ توزیعمون رو بیرون دادم! یعنی ۲ سال زمان لازمه تا بتونید توزیع بیرون بدید. البته اون موقع تیم دو نفره بود. ولی الان که ۳ تا هستیم هم باز به همین منواله.


مرسی خیلی مفید بود
*pswin.pooya* عزیز بعضی وقت ها جواب ندادن خیلی بهتر است از جواب دادنه.
وقتی این دوستمون میاد در نهایت تواضع 10 خط جواب مینویسه خیلی برای من با ارزشه تا 2تا جواب جنابعالی که یکیش از سر بار کنی بود و اون یکی تمسخر!!!!!!!!!!!

----------


## prpe26

خوشحالم که پستم براتون مفید بوده :) . 

این رو هم در نظر داشته باشید که مهم ترین عامل برای کسی که میخواد جامعه کاربری یک توزیع رو مدیریت کنه (هرچند کوچک) حفظ خونسردی فاکتور مهمی هست. 

بگذریم، در مورد متدهای ساخت کلا ۳ روش اساسی هست :

۱- توزیع مستقل که از پایه ساخته میشه. یعنی LFS . 
در این متد به یک سیستم عامل مبتنی بر یونیکس (ترجیحا خود لینوکس) و حداقل ۲۵ گیگ فضای خالی روی هارد نیاز دارید. در این روش همه چیز توسط خودتون تولید و کامپایل میشه. دردسرهای زیادی داره، ولی نتیجه خوبی میگیرید. 
پ.ن: اگر توزیع تجاری هست یا در جاهای حساس (مثلا فایروال) قراره استفاده بشه این روش رو پیشنهاد نمیکنم. 
این وبسایتش : http://linuxfromscratch.org

۲- فورک یا انشعاب :
در این روش ، در عین اینکه توزیعتون مستقل میشه، مبتنی بر بیس اصلیش هم هست. مثل اوبونتو که مبتنی بر دبیان هست ولی مستقله! میپرسید چرا؟ چون این توزیع ها کرنل رو متناسب با نیازهای خودشون کامپایل میکنند و باینری های خودشون رو میسازند. اغلب ریپوزیتوری های جداگانه ای هم دارند. 

۳- ریمستر یا ری اسپین:
در این روش، توزیع شما همون بیس هست. مثل مینت که مبتنی بر اوبونتو هست. این توزیع ها تغییرات دلخواه رو در مبدا میدن و به اصل سیستم دست نمیزنند. توزیع خود ما هم همینطور ساخته شده و اینم سایتش : http://jabirproject.org

به نظرم بهتره بین این ۳ تا یکی رو انتخاب کرده و بعد اعلام کنید تا راهنماییتون کنیم  :چشمک:

----------


## mahdad sepah

> خوشحالم که پستم براتون مفید بوده :) . 
> 
> این رو هم در نظر داشته باشید که مهم ترین عامل برای کسی که میخواد جامعه کاربری یک توزیع رو مدیریت کنه (هرچند کوچک) حفظ خونسردی فاکتور مهمی هست. 
> 
> بگذریم، در مورد متدهای ساخت کلا ۳ روش اساسی هست :
> 
> ۱- توزیع مستقل که از پایه ساخته میشه. یعنی LFS . 
> در این متد به یک سیستم عامل مبتنی بر یونیکس (ترجیحا خود لینوکس) و حداقل ۲۵ گیگ فضای خالی روی هارد نیاز دارید. در این روش همه چیز توسط خودتون تولید و کامپایل میشه. دردسرهای زیادی داره، ولی نتیجه خوبی میگیرید. 
> پ.ن: اگر توزیع تجاری هست یا در جاهای حساس (مثلا فایروال) قراره استفاده بشه این روش رو پیشنهاد نمیکنم. 
> ...


بازم ممنون از پاسختون
من هدفم سیستم عامل موبایله مثه اندرویدو .....
از کجا شروع کنم به نظرتون؟

----------


## prpe26

به نظرم اول یکی دو توزیع دسکتاپ رو کار کنید بعد سراغ موبایل برید. نردبان پله پله :) . ما با اینکه پروژه موبایلمون رو شروع کردیم ولی هنوز جرءت ارائه نکردیم

----------


## mahdad sepah

> به نظرم اول یکی دو توزیع دسکتاپ رو کار کنید بعد سراغ موبایل برید. نردبان پله پله :) . ما با اینکه پروژه موبایلمون رو شروع کردیم ولی هنوز جرءت ارائه نکردیم


 چه تفاوت هایی هست بینشون برای شروع  منظورمه البته 
اصن بیس کارشون یکیه موبایلو دسکتاپ؟؟؟؟؟

----------


## prpe26

> چه تفاوت هایی هست بینشون برای شروع  منظورمه البته 
> اصن بیس کارشون یکیه موبایلو دسکتاپ؟؟؟؟؟


بله بیس ها یکی هست :) . 

ببینید وقتی روی دسکتاپ لینوکس کار کنید، با مفاهیم کلی و ... آشنایی زیادی دارید. از طرفی برای شروع کمی کامپایل و بعد ها پکیج درست کردن برای معماری دیگه (مثلا الان تمامی پردازنده های موجود در بازار x64 یا بعبارت بهتر amd64 هستند. ولی شما مثلا میخواید برای arm یا mips کامپایل کنید) خیلی سخت تر میکنه کار رو. به نظرم اول کار کلا فکر و ذکرتون آشنایی با محیط خود لینوکس باشه. با توزیعی مثل اوبونتو یا مینت هم شروع کنید! 
(پاک کردن ویندوز هیچ ترسی نداره، فقط شجاعت میخواد و بکاپ:) ).

----------


## mahdad sepah

> بله بیس ها یکی هست :) . 
> 
> ببینید وقتی روی دسکتاپ لینوکس کار کنید، با مفاهیم کلی و ... آشنایی زیادی دارید. از طرفی برای شروع کمی کامپایل و بعد ها پکیج درست کردن برای معماری دیگه (مثلا الان تمامی پردازنده های موجود در بازار x64 یا بعبارت بهتر amd64 هستند. ولی شما مثلا میخواید برای arm یا mips کامپایل کنید) خیلی سخت تر میکنه کار رو. به نظرم اول کار کلا فکر و ذکرتون آشنایی با محیط خود لینوکس باشه. با توزیعی مثل اوبونتو یا مینت هم شروع کنید! 
> (پاک کردن ویندوز هیچ ترسی نداره، فقط شجاعت میخواد و بکاپ:) ).


شما اوبونتو را پیشنهاد میکنید؟؟؟؟

----------


## prpe26

فرقی نمیکنن توزیع ها. البته مینت بهتره چون در مالتی مدیا مشکلی نیست ---> http://linuxmint.com

----------

