شما در وبندوز به کار بردین که فکر میکنم پیش فرض براتون pe فرمت ساخته که باید از سوئیچ elf استفاده کنید
برنامه در لینوکس به راحتی لینک شد ، فقط باید در فایل سی k_main با آندرلاین شروع بشه که ویرایش کنید
بعد هم باید با لودر بوتش کنید که خود سایتش گفته با grub یا با لودر bootf02 bootsector این کار رو انجام بدین(اگر خواستین لودر شخصی بنویسید هر دور نگاهی بندازین دومی ساده تره میگرده دنبال فایل و در حافظه بار میکنش)
فایل های راهنما برای ساخت دیسک بوت ایبل و کپی کرنل درون فایل فشرده موجود هست
برای دانلود ابزار های مورد نیاز هم به این لینک برین
در این لینک هم joker گرامی آموزش کار بار ابزار های شبیه ساز رو توضیح دادن
بله می دونم اما دلیلش رو نمی دونم ..قربون دستت میشه توضیح بدین چرا؟!؟!؟
وقتی هر سیستم هدر خودشو رو داره و کامپایلری که برای محیط خاص نوشته شده از توابع api اون سیستم عامل استفاده میکنه مثلا برای داس از وقفه های داس استفاده میکنه که این توابع ناشناخته هست چرا که این توابع توسط سیستم عامل در حافظه رم قرار میگیره
قبلا هم اینجا درخواست سورس کتابخانه رو داده بودم ( که نخواد دوباره بشینم همه رو بنویسم )
در قسمتی گفتین پروژه کوچیکه اما اگر قصد ادامه دادن داشتین با پویا جان(pswin.pooya) همکاری کنید که چند سالی وقت گذاشتن نخواین از اول همه کار هارو تکرار کنید ، فقط اگر روش بهتری بود توابع رو بهینه یا ایجاد میکنید
البته پویا جان از grub استفاده کرده که نظر شخصیم اینه همه موارد باید بومی سازی بشه
ببنید پروژه کوچیک هست نمی خوامواسه یه پروژه کوچیک لینوکس نصب کنم و درگیرش شم
یک wmware و نصب لینوکس که زمانی نمیبره و شما هم نمیخوای با سیستم عاملش آشنا شی فقط دستورات رو در کنسولش وارد میکنی و از ابزار هاش استفاده میکنید
پیشنهاد میکنم لینوکس ubuntu رو نصب کنی نسخه 32 بیتی که باز درگیر سوییچ های تبدیل به 32 بیت و ساختار فایل که در ویندوز بهش برخوردی نشی بگی کامپایل یا لینک نشد
دوستان از این حرف من ناراحت نشید
چطور نشیم رو نمیدونم همه قصد کمک به شما برای حل مشکلتون رو دارن و وقت میزارن... ، شما توی سایت تخصصی سیستم عامل میخوای عضو شی ازت سوال تخصصی میکنه ببینه چیزی میدونی یا نه ، بیشتر موارد کارها تکراری هست و باید به مراجع رفت برای مطالعه بیشتر ، خطا هایی ها که شما قرار دادین بخاطر اجرای اون در سیستم عامل ویندوز هست که فکر میکنم ساختار پیش فرض سی برای کامپایل pe هست و باید تبدیل به elf بشه و یا موارد مشابه
به فرمت فایل های زیر نگاه کنید:
--------------------------------------------------------------------------------------
http://www.osdever.net/tutorials/vie...imple-c-kernel
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
assemble & compile & link
--------------------------
xman@ubuntu:~/Desktop/kernel$ nasm -f aout kernel_start.asm -o ks.o
xman@ubuntu:~/Desktop/kernel$ gcc -c kernel.c -o kernel.o
xman@ubuntu:~/Desktop/kernel$ ld -T link.ld -o kernel.bin ks.o kernel.o
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
file format
------------
xman@ubuntu:~/Desktop/kernel$ file ks.o
ks.o: Linux/i386 impure executable (OMAGIC)
xman@ubuntu:~/Desktop/kernel$ file kernel.o
kernel.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
xman@ubuntu:~/Desktop/kernel$ file kernel.bin
kernel.bin: ASCII text
--------------------------------------------------------------------------------------
اینم خروجی برنامه:
kernel.rar
موفق باشی