استفاده از اسمبلر MASM روی لینوکس

اگر شما هم هم رشته من باشید و زبان ماشین برداشته باشید، به احتمال بسیار بسیار بالا استاد این درس، کدهایی بهتون میده که با MASM اسمبل میشن، و طبیعتا شما ناراحت خواهید شد که چرا این اسمبلر نسخه لینوکسی نداره و … 😀 . و جالبه بدونید راهی که توی این پست به شما ارائه میکنم، نه تنها برای لینوکس و سیستم عاملهای غیر از ویندوز، بلکه روی ویندوز ۶۴ بیتی هم باید اجرا بشه.

اولین چیزی که نیاز دارید، این هست که یک ایمولاتور برای شبیه سازی محیط سیستم عامل قدیمی DOS تهیه کنید. برای ویندوز و لینوکس و BSD ها و … ، نرم افزاری ارائه شده به اسم DOSBox که محیط داس رو شبیه سازی میکنه. توی اوبونتو/دبین با این دستور نصب میشه :

کد   
sudo apt-get install dosbox

سپس، شما نیاز به دانلود اسمبلر MASM دارید که میتونید از اینجا دانلودش کنید.

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

کد   
mount f ~/masm
f:

دستور mount پوشه ای که آدرسش را به عنوان ورودی دریافت کرده را درون یک درایو مجازی به نام F سوار میکند و با دستور بعدی، به آن درایو مجازی میرویم. (توجه کنید که پوشه MASM در پوشه خانگی قرار داده شده است. چنانچه در آدرس دیگری قرار داده اید باید مسیر را عوض کنید)

حالا میتوانید با اجرای MASM.EXE یا ML.EXE ، کدی که به زبان اسمبلی نوشته اید را اسمبل کنید.

موفق باشید 🙂

 

Share

ساخت توزیع لینوکس غیرمستقل بدون نیاز به اسکریپت

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

کد   
(CD ROOT)
|-------+casper
|	|-------filesystem.${FORMAT}	
|	|-------filesystem.manifest
|	|-------filesystem.manifest-desktop
|	|-------vmlinuz
|	|-------initrd.img
|
|-------+boot
|	|--------+grub
|	|	 |--------grub.cfg
|	|
|	|-------memtest86+
|
|--------md5sum.txt

 

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

کد   
/casper/filesystem.${FORMAT}: This is the container of the linux filesystem we are going to copy from our harddisk. It is usually a compressed filesystem like squahsfs.
 
 
 
    /casper/filesystem.manifest: This file is optional. You only need it if you decide to include the Ubuntu installer in the CD. The purpose of this file will be explained later.
 
 
 
    /casper/filesystem.manifest-desktop: This file is optional. You only need it if you decide to include the Ubuntu installer in the CD. The purpose of this file will be explained later.
 
 
 
    /casper/vmlinuz: The linux kernel. This is copied form the linux filesystem.
 
 
 
    /casper/initrd.img: the initramfs that contain the customizations necessary for the live CD/DVD.
 
 
 
    /boot/grub/grub.cfg: File containing boot options for the live CD/DVD.
 
 
 
    /boot/memtest86+: Optional file used to test the RAM of the machine form the live CD/DVD.
 
 
 
    /md5sum.txt: Optional file containing checksums for all the files in the CD.

پس اسکریپت هایی که برای «ریمسترینگ» استفاده میشن، این کارها رو میکنند و چنین برنچی رو برای ما میسازند. خب برای ساخت چنین چیزی باید چه کار کنیم؟ قبل تر در مورد ساخت توزیع مطلب نسبتا زیادی نوشتم، چه تو وبلاگ قبلی که روی بلاگفا بود و چه توی این وبلاگ. اما اگر واقعا میخواید کار مشابه اسکریپتی مثل ReLinux انجام بدید، به این لینک سر بزنید.

این روش روی چه توزیع هایی کار میده؟!

این هم سوال بسیار خوبیه، میشه گفت هر توزیعی که ساختار مشابه اوبونتو داشته باشه. حتی اگر شما بخواید توزیعی بر مبنای آرچ لینوکس ارائه بدید، میتونید ازش استفاده کنید، ولی احتمالا زحمت زیادی خواهد داشت براتون. اگر توزیع مبدا ساختار مشابه نداشته باشه، احتمالا نتونید چنین توزیعی ازش بیرون بکشید ولی اگر تونستید هم به احتمال بسیار قوی توزیع جدید ساختار تازه ‌ای ارائه خواهد کرد. به زودی هم لینکی که دادم رو ترجمه میکنم 🙂

موفق باشید!

 

Share

به بهانه سه سالگی!

امروز وقتی داشتم هاست و دامنه رو تمدید میکردم، به تاریخ اولین فاکتور نگاه کردم، مرداد ماه ۹۱ اولین فاکتور بود و چهارمین فاکتور رو در چهارمین سال فعالیتم در وبلاگ نویسی، پرداخت کردم. با خودم گفتم چقدر سریع گذشت! حالا نمیخوام وارد ناله ها و بحث های فلسفی و خسته کنندگی همیشگی بشم. بیاید به وبلاگ، یه طور دیگه تبریک بگیم! تاحالا فکر کردید چرا اولین رشته ای که در یادگیری برنامه نویسی چاپ میکنید Happy Birthday نیست؟ خب بیاید این رو امروز چاپ کنیم! چندین زبان متفاوت از زبان هایی که قبلا در موردش بحث کردیم، امروز سوژه پستمونن. زبان هایی که مدت زیادی سراغشون نرفته بودم، یا تازه باهاشون آشنا شدم. این هم میتونه بهانه خوبی باشه برای کمی کد زدن 🙂

۱. Lua

کد   
print('Happy Birthday!')

۲. Scheme

کد   
(display "Happy Birthday!")

۳. Erlang

کد   
io:fwrite("Happy Birthday").

۴. Javascript

کد   
alert("Happy Birthday");

۵. bash

کد   
echo "Happy Birthday"

بله و این هم زبان های جا افتاده و یا زبانهایی که برام نا آشنا بودن و تازه باهاشون آشنا شدم (البته فقط Scheme چنین حالتی رو برام داشت). توی این سه سال کلی بحث و مطلب و … از این بلاگ اومد بیرون، در کنارش، مدت نسبتا زیادی که به لطف مبین نت دوست داشتنی، نت درست و حسابی نداشتم، وبلاگ رول توییتر من رو هم داشت 😀 . حالا همه چیز رو به جای خود دارم استفاده میکنم، وبلاگ و توییتر و فیسبوک و … . یه سری کارها هم بود که قرار بود بعد از «کنکور» انجام بدم، خب الانم بعد کنکوره (تا زمانی که دوباره بخوام کنکور بدم برای ارشد 😀 ) و خب وقت زیاده برای انجامشون. چیزایی مثل پادکست و ویدئو کست و … . و در آخر هم تشکر میکنم از همه کسایی که این وبلاگ رو توی این ۳ سال، دنبال کردن و خوندن 🙂

 

Share

ملاقات با اوبونتو ۱۵.۰۴

Screenshot from 2015-04-24 16:09:07پنجشنه، نسخه جدید اوبونتو، یعنی ۱۵.۰۴ منتشر شد. این نسخه، اولین نسخه منتشر شده در سال ۲۰۱۵ و در ماه آپریل، یعنی ماه چهارم هست و طبیعتا بخاطر همین نامش میشه ۱۵.۰۴ . در این تاپیک قصد بررسی فنی ندارم، فقط تنها خوبیش برام این بود که مینت مزاحم رو پاک کردم و این رو جاش نصب کردم. نسخه بعدی، ۶ ماه دیگه یعنی در ماه ۱۰ میلادی منتشر میشه. هنوز جزئیاتی ازش منتشر نشده. در مورد این نسخه بخوام بگم (۱۵.۰۴) باید بگم که در یک کلام «عالی» بود. تقریبا همه نسخه هایی که روی لپتاپی که یک سال از عمرش میگذره نصب کردم، خیلی خیلی خوب جواب دادن. تست ها و Review های دیگر هم همینو میگن :).

نرم افزار پخش ویدئوی این نسخه هم ظاهر جالبی پیدا کرده :

Screenshot from 2015-04-25 01:24:41تقریبا این نرم افزار رو ظاهرش  رو به مینیمالیست ترین شکل ممکن باز-طراحی کردن (بابت عکس ترسناکش معذرت! این کنسرت تنها ویدئوی موجود بود اون موقع که داشتم تست میکردم نرم افزارها رو!).

خلاصه که تغییرات زیادی کرده این نسخه و در یک مطلب طولانی، در موردش بیشتر خواهم نوشت 🙂

Share

تازه وارد مایکروسافت اینجاست!

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

 Product key: NKJFK-GPHP7-G8C3J-P6JXR-HQRJR 

نصب در Virtual Box

خب، من اولش تصمیم گرفتم که این نسخه از سیستم عامل رو توی ویرچوال باکس تست کنم، اما ویندوز خودش ارورهای متعددی داد که باعث شد نتونم این سیستم عامل رو با استفاده از ویرچوال باکس، نصب و تست کنم!

نصب در VMWare

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

بعد از نصب

بعد از اینکه عملیات نصب تموم شد، و ویندوز ریبوت کرد، دوباره پنجره ای باز شد و ازم خواست تا اطلاعات مربوط به اکانت مایکروسافت رو هم وارد کنم. وقتی واردش کردم، آخرین تنظیمات (مثل والپیپر و… ) که روی ویندوز ۸.۱ (که الان از روی لپتاپم حذف شده!) اعمال کرده بودم رو خوند و دسکتاپم رو با آخرین والپیپر قرار داده شده، بهم نشون داد :
Untitled

خب، دکمه ویندوز روی کیبرد رو که بزنید، باید استارت منو رو بهتون نشون بده. این یک قاعده ویندوزی هست (که البته در ۸ و ۸.۱ بجای استارت منو، میحط مترو رو نشون میداد!). خیلی خوب، استارت منوی این نسخه، ترکیبی از مترو و استارت کلاسیک هست .

Untitled2

بعدش، رفتم سراغ سرچ این نسخه، این نسخه سرچ بهتر و سریع تری نسبت به ۸.۱ داره، و علاوه بر سرچ در خود ویندوز، در وب هم با استفاده از موتور جست و جوی bing ، سرچی رو برای شما انجام میده :
Untitled4

همونطور که دیدید، در قسمت Store هم برنامه هایی که اسم مشابه کلمه مورد نظر دارن پیشنهاد داده میشن، و در قسمت Web هم کلیدواژه های پرکاربردی که حاوی کلمه مورد نظر شما بودن، نشون داده میشن.

و اما عکس آخر، بدون شرح!
Untitled3

جمع بندی نهایی

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

Share

نخستین دیدار با تکشاخ کنونیکال

Screenshot from 2014-10-25 22:16:00

خب، نسخه ۱۴.۱۰ از سیستم عامل گنو/لینوکس، توزیع اوبونتو، که توزیع محبوب و مورد  استفاده من هست هم منتشر شد. نام این نسخه Utopic Unicorn یا «تکشاخ اتوپیایی» گذاشته شده. شاید چون قراره که اوبونتو در این نسخش، به اتوپیای خودش برسه، این نام رو براش انتخاب کردن.

در این نسخه، هسته 3.16 مورد استفاده قرار گرفته و طبق معمول، همه قطعات لپتاپ Lenovo G510 من رو شناخت، البته به جز کارت شبکه بی‌سیم که broadcam هست و درایورهای انحصاریش رو از مخازن نصب کردم و کار کرد و الان دارم این مطلب رو برای شما مینویسم. طبق عادت مالوف، در این میان چندین شات قرار میدم :

Screenshot from 2014-10-25 22:14:05

تصویر بالا، اولین سکانسی هست که هر اوبونتو کاری مشاهده میکنه!!! محیط اصلی یونیتی به اضافه والپیپر چند رنگ اوبونتو که تم بنفش داره 🙂

Screenshot from 2014-10-25 22:14:13خب، این صحنه هم آشناست، Dash که بعد از فشردن کلید سوپر (که روی اکثر کیبرد ها با لوگوی ویندوز مشخص شده) ، باز میشه و میتونید آخرین فایلها و اپلیکیشن های باز شده، موزیک ها، ویدئوها و … رو از این طریق ببینید.

Screenshot from 2014-10-25 22:14:36با این که عمدتا ترجیح میدم از ترمینال برای دانلود و نصب برنامه ها استفاده کنم، اما این هم مرکز نرم افزار محترم، یعنی همون Software Center هست که در تمامی نسخه های اوبونتو عمدتاً با همین شکل و قیافه ظاهر میشه.

Screenshot from 2014-10-25 22:15:18و در آخر، مرورگر فایرفاکس که ذهن زیبا رو باهاش باز کردم. این هم به نوبه خودش جالبه، نه؟! مرورگر فایرفاکس هم در اوبونتو، حق آب و گل داره و از ابتدا باهاش بوده. البته فایرفاکس در توزیع های دیگری هم مرورگر پیشفرض هست، اما اوبونتو و فایرفاکس دو یار دیرینه هستند.

در پایان، باید بگم که این نسخه هم در ابتدای امر بسیار خوب و روان اجرا شده و هیچ مشکلی برای شخص من نداره، فقط باید دوباره طبق معمول برم سراغ اوکی کردن بوت ویندوز ۸.۱ که همراه این سیستم عامل، روی لپتاپ Lenovo G510 من نصب شده. راستی، تا یادم نرفته بگم که با کلید های ترکیبی Super + Space میتونید زبان رو عوض کنید. سعی کردم به Alt + Shift تغییرش بدم، اما نشد.

موفق باشید 🙂

Share

کتاب جدید اوبونتو برای تازه واردها

خب، خیلی از خوانندگان این وبلاگ میدونن اوبونتو چیه و چی کار میکنه. اوبونتو در کل سیستم عامل ساده ای هست، ولی همین سادگی باعث میشه که خیلی ویژگی های این سیستم عامل قدرتمند، به چشم نیاد. بچه های وبسایت آزاد راه که یکی از بهترین منابع لینوکسی و در کل اوپن سورس فارسی هم محسوب میشه، کتابی تحت عنوان «اوبونتو برای تازه واردها» منتشر کردند. این کتاب الکترونیکی هست و به صورت PDF قابل دریافت و خواندن هست. همچنین به گفته وبسایت خود کتاب، نسخه ePub هم در حال انتشار هست (یک امتیاز مثبت برای ساسان، نوا و احمد، چرا که ePub به خوبی با اکثر دستگاه های هندست، مثل اکثر گوشی های موبایل و تبلت ها سازگار هست).

خب، من این کتاب رو دانلود کردم و فهرستش رو خوندم، هنوز خودش رو نخوندم (یه بار یه کتاب فروش به من گفت که کتاب خوب از فهرستش مشخص میشه). در این کتاب همه چیز به خوبی آموزش داده شده (با توجه به فهرستش + کتاب اوبونتو ۱۲.۰۴) پس مشکلی برای تازه کار ها نخواهد بود.

برای این که این کتاب رو به اشتراک بگذارید این پست آزاد راه رو میتونید جاهای مختلف به اشتراک بگذارید. البته، این هم وبسایت خود کتاب هست و میتونید کتاب رو دانلود کنید و لینک دانلودش رو هم به بقیه بدید :).

 

Share

داستان لینوکس، کتابی که باید بر بستر اینترنت خواند.

فکر کنم اکثر خواننده های وبلاگ من، حداقل کسانی که از طریق فرومهای اوبونتو و … با وبلاگ من آشنا شدند، لینوس تروالدز رو بشناسند، کسی که دوست داشت سیستم عامل خودش رو بنویسه و این کار رو هم کرد و نام سیستم عاملش شد لینوکس، و این لینوکس الان یکی از ایمن ترین و پر کاربر ترین سیستم عاملهای جهان هست که در قالب «توزیع ها» خود نمایی میکنه! توزیع هایی مثل دبیان، آندروید، اوبونتو، ردهت انترپرایز و …! کلی تفاوت بصری، اما یکسان در هسته!

جادی رو هم اکثرا میشناسید، وبلاگ نویسی که نثر قشنگی داره و البته یک صدای گرم، پادکست «رادیوگیک» رو میخونه و من هم معمولا وبلاگش رو دنبال میکنم :).

کتاب Just For Fun (فقط برای تفریح) یک اتوبیوگرافی (خودزندگی نامه یا حسب حال نامه) به قلم شخص لینوس هست، و توسط جادی ترجمه شده. زمانی که جادی نتونسته از طریق قانونیش، کتاب رو منتشر کنه، تصمیم گرفته تا اون رو آنلاین منتشر کنه :

من سال ها پیش کتاب Just For Fun که مربوط به زندگی لینوس توروالدز و نوشته شدن لینوکس است رو ترجمه کردم ولی ارشاد بهش مجوز چاپ نداد. حالا تصمیم گرفتم آنلاین برای بقیه بذارمش و اینجا آپلودش کردم: www.LinuxStory.ir . خوشحالم می شم بخونین و به دیگران معرفی کنین چون به نظرم نشون دهنده بخشی از فرهنگی است که لینوکس زاده اونه.

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

خوندن این کتاب آسونه! تنها نیاز دارید تا به اینترنت دسترسی داشته باشید و بتونید اسکرول کنید! یا یک نرم افزار PDF خوان داشته باشید!

این هم لینک داستان لینوکس!

Just_for_Fun_cover

 

Share