هکتور مارتین پیشنهاد کرد که اولین مجموعه از وصلههای آماده شده توسط پروژه Asahi Linux را در هسته لینوکس قرار دهد که در حال کار بر روی تطبیق لینوکس برای رایانههای مک مجهز به تراشه Apple M1 ARM است. این وصله ها قبلاً توسط نگهدارنده شاخه لینوکس SoC تأیید شده و در پایگاه کد Linux-next پذیرفته شده اند که بر اساس آن عملکرد هسته 5.13 شکل می گیرد. از نظر فنی، لینوس توروالدز می تواند تحویل تغییرات پیشنهادی را مسدود کند، اما چنین توسعه ای بعید به نظر می رسد.
این وصله ها شامل پشتیبانی از اجزای غیر GPU M1 SoC، مانند کنترل کننده وقفه، تایمر، UART، SMP، عملکردهای I/O و MMIO هستند. مهندسی معکوس GPU هنوز کامل نشده است؛ وصله ها پشتیبانی از فریم بافر و کنسول سریال را برای خروجی فراهم می کنند. این دستگاه ها ادعا می کنند که از رایانه مک مینی اپل پشتیبانی می کنند، که به عنوان پلتفرم مرجع در پروژه لینوکس آساهی استفاده می شود (دستورالعمل های نصب دقیق در دسترس است).
به طور جداگانه، یک آداپتور سخت افزاری باز در حال توسعه است که به عنوان ساده کننده اتصال به کنسول از طریق پورت سریال و اشکال زدایی شناخته می شود. در شکل فعلی، به دلیل استفاده اپل از دستورات غیر استاندارد USB-PD در تجهیزات خود، ساده ترین راه برای دسترسی به کنسول، اتصال به رایانه دیگری بر اساس تراشه Apple M1 با استفاده از کابل USB C است. روش پیچیده تر ایجاد یک جداکننده بر اساس میکروکنترلر آردوینو، تراشه FUSB30 و آداپتور UART-TTL است.
این پروژه همچنین بوت لودر m1n1 را آماده کرده است که بارگذاری هسته لینوکس و محیط حداقل سیستم را در رایانه های مک با یک CPU Apple M1 امکان پذیر می کند. در رایانههای دارای CPU M1، اپل معمولاً اجازه بارگیری هستههایی را میدهد که به صورت دیجیتالی امضا نشدهاند، بدون نیاز به جیلبریک. این ویژگی به توسعهدهندگان اجازه میدهد تا با هستههای XNU جدید آزمایش کنند، اما هنگام تلاش برای راهاندازی سیستمهای دیگر، مشکلاتی پیش میآید، زیرا اپل از پروتکل بوت خود و فرمت درخت دستگاه متفاوت استفاده میکند. بوت لودر m1n1 پیشنهاد شده توسط پروژه Asahi Linux به عنوان لایه ای عمل می کند که امکان استفاده از Device Tree استاندارد و پروتکل استاندارد بوت مورد استفاده در هسته لینوکس را برای ARM64 فراهم می کند. در آینده، m1n1 قصد دارد قابلیت فراخوانی U-Boot و GRUB را برای سازماندهی یک فرآیند بوت معمولی مشابه آنچه در دیگر پلتفرمهای ARM64 استفاده میشود، اضافه کند.
منبع: opennet.ru