PDA

View Full Version : لود کردن کرنل os



vahidarr
پنج شنبه 27 خرداد 1389, 16:40 عصر
با سلام خدمت دوستان پروژه این ترم من os است من یک بوت لودر نوشتم که سیستم رو لود میکنه و یه پیغام نمایش میده حالا نمیدونم چجوری کرنل رو با هاش لود کنم میخواستم راهنماییم کنید

tdkhakpur
جمعه 28 خرداد 1389, 11:25 صبح
حالا نمیدونم چجوری کرنل رو با هاش لود کنم میخواستم راهنماییم کنید
خب اگر منظورتان کرنل microsoft هست که بیشتر از یک ترم وقت لازمه روش کار کنید تا نتیجه بگیرید.
ولی اگر خودتان ساخته باشید میتوانید برای طراحی یک لود کننده برای command.com اقدام کنید بعد از این مرحله باید متوجه بشید که تنها کار لود کردن داده های کرنل از disk و اجرا ان توسط لودر هست.

jalal_h14
چهارشنبه 09 تیر 1389, 10:55 صبح
خب اگر منظورتان کرنل microsoft هست که بیشتر از یک ترم وقت لازمه روش کار کنید تا نتیجه بگیرید.
ولی اگر خودتان ساخته باشید میتوانید برای طراحی یک لود کننده برای command.com اقدام کنید بعد از این مرحله باید متوجه بشید که تنها کار لود کردن داده های کرنل از disk و اجرا ان توسط لودر هست.
سلام. این که جواب نشد . اگه کسی میدونه که چطور میشه یه کرنل خیلی ساده رو لود کرد لطفا کاملا راهنمایی کنه .

tdkhakpur
چهارشنبه 09 تیر 1389, 19:45 عصر
سلام. این که جواب نشد . اگه کسی میدونه که چطور میشه یه کرنل خیلی ساده رو لود کرد لطفا کاملا راهنمایی کنه .
این هم نشد سول پرسید!
مثل این میماند بگید طرز غذا پختن به چه شکلی باید صورت بگیرد!

ali.asady
جمعه 18 تیر 1389, 23:12 عصر
برجمال محمد صلوات


عیدمبعث برشما عزیزان مبارکباد


بعد از خطوط زیر یک کرنل توی زبان سی یا اسمبل بنویس

start:
cli
mov ax,cs ; Setup segment registers
mov ds,ax ; Make DS correct
mov es,ax ; Make ES correct
mov ss,ax ; Make SS correct
mov bp,7c00h
mov sp,7c00h ; Setup a stack
sti

و حالا با دستور call میتونی تابع دلخواه رو از فایل کرنل در سی لود کنی


call _kernel.com
ret
END main ; End of program

sg.programmer
دوشنبه 21 تیر 1389, 22:18 عصر
با سلام خدمت دوستان پروژه این ترم من os است من یک بوت لودر نوشتم که سیستم رو لود میکنه و یه پیغام نمایش میده حالا نمیدونم چجوری کرنل رو با هاش لود کنم میخواستم راهنماییم کنید


سُلام
میشه توضیح بدید که چطوری بوت لودر رو درست کردید و چه قابلیت های داره و اگه امکان داره سورسشو بزارید برای یادگیری

ali.asady
پنج شنبه 31 تیر 1389, 09:55 صبح
دوست عزیز برای نوشتن بوت لودر نیاز به اسمبلی دارید
من از کامپایلر fasm یا nasm استفاده می کنم ولی شما میتونید از کامپایلر میکروسافت مثل
masm یا لینوکس asاستفاده کنید و برای نوشتن بوت لودر باید اول بدونی هدف شما چه کاری است از آموزش ساخت بوت لودر ابتدایی تا پیشرفته داخل سایتهای متنوعی وجود داره
من مراحل نوشتن یک بوت لودر ساده را مینویسم
1- سی پی یو توی حالت واقعی یا realmode اولین بار آدرس 0000:7c00 رو می خونه
2-باید سگمنت ها رو مقدار دهی کنیم
3-حالا پیغام مورد نظر رو بدهیم
4-بعد باید gdt و idt رو ست کنید وبعد لود کردن IRQ و ISRs
5- و بعد لود کرنل و رفتن به حالت حفاظتی (pmode)
در ضمن کد من فقط یک پیغام ساده میده و فایل کرنل رو لود میکنه

r3z4666
دوشنبه 22 شهریور 1389, 19:08 عصر
میشه نحوه کامپایل سورساتون هم توضیح بدید

xman_1365_x
سه شنبه 23 شهریور 1389, 15:32 عصر
میشه نحوه کامپایل سورساتون هم توضیح بدید

در فروم جستجو كنيد پيدا مي كنيد نحوه كامپايل ، اسمبل و لينك كردن رو
اين يك نمونه:

http://www.codeproject.com/KB/tips/boot-loader/fig4.PNG

r3z4666
چهارشنبه 24 شهریور 1389, 16:32 عصر
سلام دوست عزیز
البته سوییچ /tiny خطا داد یعنی همچسن سوسچس نیست
دوست عزیز من هرچی آموزش تا حالا گشتم و پیدا کردم توی آخرین مرحله که ماله ld هست که نهایتا باید فایل bin رو از اتصال فایل های .o بدست بیاره خطا بهم میده و واقعا به بن بست خوردم میشه منو راهنمایی کنید من یکی از این آموزش ها رو ضمیمه کردم همه مراحل رو طی ردم و لی به محض اینکه به دستور
ld -Ttext 0xFF800000 --oformat binary -o kernel.bin kernel.o kernel_c.o
خطا میده
ld: PE operations on non PE file

لطفا را هنمایی کنید ممنون میشم.
.