دسته‌بندی‌ها: سیستم‌عامل‌ها

درانکلین

10 Dec 2025
#لینوکس#برنامه‌نویسی

ساختن کوچک‌ترین لینوکس شخصی من (از کرنل تا Lua)

توی این پروژه از صفر یک لینوکس ۶۴ بیتی خیلی مینیمال می‌سازم: اول با tinyconfig و چند تنظیم دستی، یک کرنل کوچک برای x86_64 می‌سازم و توی QEMU بوت می‌کنم تا به خطای no working init found برسم. بعد، یک init فوق‌ساده با Rust + اسمبلی می‌نویسم (بدون std و libc) که مستقیماً با system callها کار می‌کند و نقش PID 1 را می‌گیرد. در آخر، Lua را استاتیک کامپایل می‌کنم، همراه با init داخل یک initramfs می‌گذارم، و با ابزارهای خود کرنل یک ISO قابل بوت می‌سازم که می‌تواند Lua را روی این دنیای خیلی کوچک لینوکسی اجرا کند. هدف، ساخت یک دیستروی روزمره نیست؛ هدف این است که کوچک‌ترین لینوکسی را بسازم که واقعاً می‌فهمم از درون چطور کار می‌کند.