انتشار هسته لینوکس 6.2

پس از دو ماه توسعه، لینوس توروالدز نسخه 6.2 هسته لینوکس را ارائه کرد. از جمله قابل توجه ترین تغییرات: پذیرش کد تحت مجوز Copyleft-Next مجاز است، پیاده سازی RAID5/6 در Btrfs بهبود یافته است، یکپارچه سازی پشتیبانی از زبان Rust ادامه دارد، هزینه های حفاظتی در برابر حملات Retbleed کاهش می یابد، قابلیت تنظیم مصرف حافظه در هنگام نوشتن اطلاعات اضافه شده است، مکانیزمی برای متعادل کردن TCP PLB (Protective Load Balancing) اضافه شده است، مکانیزم حفاظت از جریان فرمان ترکیبی (FineIBT) اضافه شده است، BPF اکنون توانایی تعریف اشیاء و ساختارهای داده خود را دارد. ، ابزار rv (Runtime Verification) گنجانده شده است، مصرف برق در اجرای قفل های RCU کاهش یافته است.

نسخه جدید شامل 16843 اصلاحات از 2178 توسعه دهنده است، اندازه پچ 62 مگابایت است (تغییرات روی 14108 فایل تأثیر گذاشت، 730195 خط کد اضافه شد، 409485 خط حذف شد). حدود 42 درصد از کل تغییرات معرفی شده در 6.2 مربوط به درایورهای دستگاه، تقریبا 16 درصد تغییرات مربوط به به روز رسانی کدهای خاص معماری سخت افزار، 12 درصد مربوط به پشته شبکه، 4 درصد مربوط به سیستم های فایل و 3 درصد است. مربوط به زیرسیستم های هسته داخلی هستند.

نوآوری های کلیدی در هسته 6.2:

  • خدمات حافظه و سیستم
    • درج کد هسته و تغییرات ارائه شده تحت مجوز Copyleft-Next 0.3.1 مجاز است. مجوز Copyleft-Next توسط یکی از نویسندگان GPLv3 ایجاد شده است و کاملاً با مجوز GPLv2 سازگار است، همانطور که وکلای SUSE و Red Hat تأیید کرده اند. در مقایسه با GPLv2، مجوز Copyleft-Next بسیار فشرده‌تر و قابل درک‌تر است (قسمت مقدماتی و ذکر موارد منسوخ حذف شده است)، چارچوب زمانی و رویه حذف تخلفات را تعریف می‌کند، و به‌طور خودکار الزامات کپی‌لفت را برای نرم‌افزارهای قدیمی حذف می‌کند. بیش از 15 سال سن دارد.

      Copyleft-Next همچنین شامل یک بند اختصاصی اعطای فناوری است که برخلاف GPLv2، این مجوز را با مجوز Apache 2.0 سازگار می‌کند. برای اطمینان از سازگاری کامل با GPLv2، Copyleft-Next به صراحت بیان می کند که یک اثر مشتق ممکن است تحت مجوز GPL علاوه بر مجوز اصلی Copyleft-Next ارائه شود.

    • این ساختار شامل ابزار "rv" است که رابطی را برای تعامل از فضای کاربر با کنترل‌کننده‌های زیرسیستم RV (تأیید زمان اجرا) فراهم می‌کند، که برای بررسی عملکرد صحیح در سیستم‌های بسیار قابل اعتماد طراحی شده است که عدم وجود خرابی را تضمین می‌کند. راستی‌آزمایی در زمان اجرا با اتصال کنترل‌کننده‌ها به نقاط ردیابی انجام می‌شود که پیشرفت واقعی اجرا را در برابر یک مدل قطعی مرجع از پیش تعیین‌شده دستگاه که رفتار مورد انتظار سیستم را تعریف می‌کند، بررسی می‌کند.
    • دستگاه zRAM که به پارتیشن swap اجازه می دهد تا به صورت فشرده در حافظه ذخیره شود (یک دستگاه بلوکی در حافظه ایجاد می شود که تعویض با فشرده سازی انجام می شود)، توانایی بسته بندی مجدد صفحات را با استفاده از یک الگوریتم جایگزین برای دستیابی به سطح بالاتر پیاده سازی می کند. از فشرده سازی ایده اصلی ارائه یک انتخاب بین چندین الگوریتم (lzo، lzo-rle، lz4، lz4hc، zstd)، ارائه سازش های خود بین سرعت فشرده سازی/فشرده سازی و سطح فشرده سازی، یا بهینه در موقعیت های خاص (به عنوان مثال، برای فشرده سازی بزرگ) صفحات حافظه).
    • API "iommufd" برای مدیریت سیستم مدیریت حافظه I/O - IOMMU (واحد مدیریت حافظه I/O) از فضای کاربر اضافه شده است. API جدید مدیریت جداول صفحه حافظه ورودی/خروجی را با استفاده از توصیفگرهای فایل ممکن می سازد.
    • BPF توانایی ایجاد انواع، تعریف اشیاء خود، ایجاد سلسله مراتب خود را از اشیاء، و ایجاد انعطاف پذیری ساختارهای داده خود را، مانند لیست های پیوندی، فراهم می کند. برای برنامه‌های BPF که به حالت خواب می‌روند (BPF_F_SLEEPABLE)، پشتیبانی از قفل‌های bpf_rcu_read_{,un}lock() اضافه شده است. پشتیبانی پیاده سازی شده برای ذخیره اشیاء task_struct. نوع نقشه BPF_MAP_TYPE_CGRP_STORAGE اضافه شد که فضای ذخیره‌سازی محلی را برای گروه‌های cgroup فراهم می‌کند.
    • برای مکانیسم مسدود کردن RCU (Read-copy-update)، یک مکانیسم اختیاری از تماس‌های برگشتی «تنبل» پیاده‌سازی شده است که در آن چندین تماس برگشتی همزمان با استفاده از یک تایمر در حالت دسته‌ای پردازش می‌شوند. استفاده از بهینه‌سازی پیشنهادی به ما این امکان را می‌دهد تا با به تعویق انداختن درخواست‌های RCU در زمان‌های بی‌کار یا بار کم روی سیستم، مصرف انرژی را در دستگاه‌های Android و ChromeOS تا ۵ تا ۱۰ درصد کاهش دهیم.
    • sysctl split_lock_mitigate اضافه شد تا نحوه واکنش سیستم را هنگام شناسایی قفل‌های تقسیم‌بندی که هنگام دسترسی به داده‌های بدون تراز در حافظه به دلیل عبور داده‌ها از دو خط کش CPU هنگام اجرای یک دستورالعمل اتمی رخ می‌دهند، نشان دهد. چنین انسدادی منجر به کاهش قابل توجه عملکرد می شود. تنظیم split_lock_mitigate روی 0 فقط هشداری مبنی بر وجود مشکل صادر می کند، در حالی که تنظیم split_lock_mitigate روی 1 باعث می شود روندی که باعث کند شدن قفل شده است تا عملکرد برای بقیه سیستم حفظ شود.
    • اجرای جدیدی از qspinlock برای معماری PowerPC پیشنهاد شده است که عملکرد بالاتری را نشان می‌دهد و برخی از مشکلات قفل را که در موارد استثنایی ایجاد می‌شوند، حل می‌کند.
    • کد مدیریت وقفه MSI (وقفه های سیگنال پیام) مجدداً کار شده است، مشکلات معماری انباشته را حذف کرده و پشتیبانی برای اتصال دسته های فردی به دستگاه های مختلف اضافه می کند.
    • برای سیستم‌های مبتنی بر معماری مجموعه دستورات LoongArch که در پردازنده‌های Loongson 3 5000 استفاده می‌شوند و RISC ISA جدید، مشابه MIPS و RISC-V را پیاده‌سازی می‌کنند، پشتیبانی از حالت‌های ftrace، حفاظت پشته، خواب و حالت آماده‌باش اجرا می‌شود.
    • امکان اختصاص نام به مناطقی از حافظه ناشناس مشترک ارائه شده است (قبلاً نام ها فقط به حافظه ناشناس خصوصی اختصاص داده شده به یک فرآیند خاص اختصاص داده شده است).
    • یک پارامتر خط فرمان جدید هسته "trace_trigger" اضافه شده است، طراحی شده برای فعال کردن یک ماشه ردیابی مورد استفاده برای اتصال دستورات شرطی که هنگام شروع بررسی کنترلی فراخوانی می شوند (به عنوان مثال، trace_trigger=”sched_switch.stacktrace اگر prev_state == 2″).
    • الزامات نسخه بسته binutils افزایش یافته است. ساخت هسته اکنون حداقل به binutils 2.25 نیاز دارد.
    • هنگام فراخوانی exec()، قابلیت قرار دادن یک فرآیند در فضای نام زمانی که زمان آن با زمان سیستم متفاوت است، اضافه شده است.
    • ما شروع به انتقال عملکردهای اضافی از شاخه Rust-for-Linux مربوط به استفاده از زبان Rust به عنوان زبان دوم برای توسعه درایورها و ماژول های هسته کرده ایم. پشتیبانی Rust به طور پیش‌فرض غیرفعال است و باعث نمی‌شود که Rust به‌عنوان یک وابستگی ساخت هسته مورد نیاز گنجانده شود. عملکرد اصلی ارائه شده در آخرین نسخه برای پشتیبانی از کدهای سطح پایین، مانند نوع Vec و ماکروهای pr_debug!()، pr_cont!() و pr_alert!()، و همچنین ماکرو رویه ای "#[vtable" گسترش یافته است. ]» که کار با جداول اشاره گر روی توابع را ساده می کند. در نسخه‌های بعدی انتظار می‌رود افزودن اتصال‌های Rust سطح بالا به زیرسیستم‌های هسته، که امکان ایجاد درایورهای کامل در Rust را فراهم می‌کند.
    • نوع "char" مورد استفاده در هسته اکنون به طور پیش فرض برای همه معماری ها بدون علامت اعلام می شود.
    • مکانیسم تخصیص حافظه اسلب - SLOB (تخصیص دهنده اسلب) که برای سیستم هایی با مقدار کمی حافظه طراحی شده بود، منسوخ اعلام شده است. به جای SLOB، در شرایط عادی توصیه می شود از SLUB یا SLAB استفاده کنید. برای سیستم هایی با مقدار کمی حافظه، استفاده از SLUB در حالت SLUB_TINY توصیه می شود.
  • زیرسیستم دیسک، I/O و سیستم های فایل
    • بهبودهایی در Btrfs با هدف رفع مشکل «حفره نوشتن» در پیاده‌سازی‌های RAID 5/6 انجام شده است (تلاش برای بازیابی RAID در صورتی که در حین نوشتن خرابی رخ دهد و غیرممکن است که بفهمیم کدام بلوک روی کدام دستگاه RAID به درستی نوشته شده است. که می‌تواند منجر به تخریب بلوک، مربوط به بلوک‌های پذیرفته‌شده شود). علاوه بر این، SSD ها اکنون به طور خودکار عملیات حذف ناهمزمان را در صورت امکان به طور پیش فرض فعال می کنند، که به دلیل گروه بندی کارآمد عملیات حذف در صف ها و پردازش صف توسط یک پردازنده پس زمینه، عملکرد بهتری را ممکن می سازد. بهبود عملکرد عملیات ارسال و جستجو و همچنین ioctl FIEMAP.
    • قابلیت‌های مدیریت نوشتن معوق (نوشتن، ذخیره پس‌زمینه داده‌های تغییر یافته) برای دستگاه‌های بلوک گسترش یافته است. در برخی موقعیت‌ها، مانند هنگام استفاده از دستگاه‌های بلوک شبکه یا درایوهای USB، نوشتن تنبل می‌تواند منجر به مصرف زیاد RAM شود. به منظور کنترل رفتار نوشته های تنبل و حفظ اندازه کش صفحه در محدوده های مشخص، پارامترهای جدید strict_limit، min_bytes، max_bytes، min_ratio_fine و max_ratio_fine در sysfs (/sys/class/bdi/) معرفی شده اند.
    • سیستم فایل F2FS یک عملیات جایگزین اتمی ioctl را پیاده سازی می کند که به شما امکان می دهد داده ها را در یک فایل در یک عملیات اتمی بنویسید. F2FS همچنین یک کش وسعت بلوک را اضافه می کند تا به شناسایی داده های استفاده شده فعال یا داده هایی که برای مدت طولانی به آنها دسترسی نداشته اند کمک کند.
    • در ext4 FS فقط تصحیحات خطا ذکر شده است.
    • سیستم فایل ntfs3 چندین گزینه mount جدید ارائه می دهد: "nocase" برای کنترل حساسیت حروف کوچک و بزرگ در نام فایل ها و دایرکتوری ها. windows_name برای جلوگیری از ایجاد نام فایل های حاوی کاراکترهایی که برای ویندوز معتبر نیستند. hide_dot_files برای کنترل انتساب برچسب فایل مخفی برای فایل هایی که با نقطه شروع می شوند.
    • سیستم فایل Squashfs گزینه mount "threads=" را پیاده سازی می کند که به شما امکان می دهد تعداد رشته ها را برای موازی سازی عملیات رفع فشرده سازی تعریف کنید. Squashfs همچنین قابلیت نقشه‌برداری شناسه‌های کاربری سیستم‌های فایل نصب شده را معرفی کرد که برای تطبیق فایل‌های یک کاربر خاص روی یک پارتیشن خارجی نصب‌شده با کاربر دیگری در سیستم فعلی استفاده می‌شود.
    • پیاده سازی لیست های کنترل دسترسی POSIX (POSIX ACL) مجدداً کار شده است. پیاده سازی جدید مسائل معماری را حذف می کند، نگهداری پایگاه کد را ساده می کند و انواع داده های امن تر را معرفی می کند.
    • زیرسیستم fscrypt که برای رمزگذاری شفاف فایل ها و دایرکتوری ها استفاده می شود، پشتیبانی از الگوریتم رمزگذاری SM4 (استاندارد چینی GB/T 32907-2016) را اضافه کرده است.
    • امکان ساخت هسته بدون پشتیبانی NFSv2 فراهم شده است (در آینده قصد دارند به طور کامل پشتیبانی از NFSv2 را متوقف کنند).
    • سازمان بررسی حقوق دسترسی به دستگاه های NVMe تغییر کرده است. در صورتی که فرآیند نوشتن به فایل اختصاصی دستگاه دسترسی داشته باشد (قبلاً این فرآیند باید مجوز CAP_SYS_ADMIN را داشته باشد) امکان خواندن و نوشتن در دستگاه NVMe را فراهم می کند.
    • درایور بسته CD/DVD را که در سال 2016 منسوخ شده بود، حذف کرد.
  • مجازی سازی و امنیت
    • روش جدیدی برای محافظت در برابر آسیب‌پذیری Retbleed در پردازنده‌های اینتل و AMD با استفاده از ردیابی عمق تماس پیاده‌سازی شده است که به اندازه حفاظت قبلی در برابر Retbleed سرعت کار را کاهش نمی‌دهد. برای فعال کردن حالت جدید، پارامتر خط فرمان هسته "retbleed=stuff" پیشنهاد شده است.
    • یک مکانیسم ترکیبی حفاظت از جریان دستورالعمل FineIBT اضافه شد که ترکیبی از استفاده از دستورالعمل‌های سخت‌افزاری Intel IBT (ردیابی شاخه غیرمستقیم) و حفاظت نرم‌افزار kCFI (کرنل کنترل جریان یکپارچگی) برای جلوگیری از نقض کنترل جریان ناشی از استفاده از سوء استفاده‌هایی است که نشانگرهای ذخیره شده در حافظه را تغییر می‌دهند. کارکرد. FineIBT فقط در صورت پرش به دستور ENDBR که در همان ابتدای تابع قرار می گیرد، امکان اجرا با پرش غیرمستقیم را فراهم می کند. علاوه بر این، بر اساس قیاس با مکانیسم kCFI، هش ها برای تضمین تغییرناپذیری نشانگرها بررسی می شوند.
    • محدودیت‌هایی برای مسدود کردن حملاتی که تولید حالت‌های «اوپس» را دستکاری می‌کنند، اضافه شده است، پس از آن وظایف مشکل‌ساز تکمیل می‌شوند و وضعیت بدون توقف سیستم بازیابی می‌شود. با تعداد بسیار زیادی تماس به حالت "اوپس"، یک سرریز شمارنده مرجع (recount) رخ می دهد که امکان بهره برداری از آسیب پذیری های ناشی از عدم ارجاع اشاره گر NULL را فراهم می کند. برای محافظت در برابر چنین حملاتی، محدودیتی برای حداکثر تعداد محرک‌های «اوپس» به هسته اضافه شده است، که پس از فراتر رفتن از آن، هسته انتقال به حالت «هراس» و سپس راه‌اندازی مجدد را آغاز می‌کند، که اجازه دستیابی به هدف را نمی‌دهد. تعداد دفعات مورد نیاز برای سرریز مجدد شمارش مجدد به‌طور پیش‌فرض، این محدودیت روی 10 هزار "oops" تنظیم شده است، اما در صورت تمایل، می‌توان آن را از طریق پارامتر oops_limit تغییر داد.
    • پارامتر پیکربندی LEGACY_TIOCSTI و sysctl legacy_tiocsti اضافه شد تا قابلیت قرار دادن داده ها در ترمینال با استفاده از ioctl TIOCSTI غیرفعال شود، زیرا این عملکرد می تواند برای جایگزینی کاراکترهای دلخواه در بافر ورودی ترمینال و شبیه سازی ورودی کاربر استفاده شود.
    • نوع جدیدی از ساختار داخلی، encoded_page، پیشنهاد شده است که در آن از بیت‌های پایینی اشاره‌گر برای ذخیره اطلاعات اضافی مورد استفاده برای محافظت در برابر عدم ارجاع تصادفی اشاره‌گر استفاده می‌شود (اگر عدم ارجاع واقعاً ضروری است، ابتدا این بیت‌های اضافی باید پاک شوند) .
    • در پلتفرم ARM64، در مرحله راه‌اندازی، می‌توان اجرای نرم‌افزار مکانیزم Shadow Stack را فعال یا غیرفعال کرد، که برای محافظت در برابر بازنویسی آدرس برگشتی از یک تابع در صورت سرریز شدن بافر در پشته استفاده می‌شود. ماهیت حفاظت این است که پس از انتقال کنترل به تابع و بازیابی آدرس داده شده قبل از خروج از تابع، آدرس برگشتی را در یک پشته "سایه" جداگانه ذخیره کنید. پشتیبانی از پیاده سازی های سخت افزاری و نرم افزاری Shadow Stack در یک مجموعه هسته به شما این امکان را می دهد که از یک هسته در سیستم های مختلف ARM استفاده کنید، صرف نظر از پشتیبانی آنها از دستورالعمل ها برای احراز هویت اشاره گر. گنجاندن یک پیاده سازی نرم افزار از طریق جایگزینی دستورالعمل های لازم در کد در هنگام بارگذاری انجام می شود.
    • پشتیبانی از استفاده از مکانیسم اعلان خروج ناهمزمان در پردازنده‌های اینتل، که امکان شناسایی حملات تک مرحله‌ای روی کدهای اجرا شده در SGX را فراهم می‌کند.
    • مجموعه ای از عملیات پیشنهاد شده است که به هایپروایزر اجازه می دهد تا از درخواست های سیستم های مهمان اینتل TDX (Trusted Domain Extensions) پشتیبانی کند.
    • تنظیمات ساخت هسته RANDOM_TRUST_BOOTLOADER و RANDOM_TRUST_CPU به نفع گزینه های خط فرمان مربوطه random.trust_bootloader و random.trust_cpu حذف شده اند.
    • مکانیسم Landlock که به شما امکان می دهد تعامل گروهی از فرآیندها را با محیط خارجی محدود کنید، پشتیبانی از پرچم LANDLOCK_ACCESS_FS_TRUNCATE را اضافه کرده است که امکان کنترل اجرای عملیات برش فایل را ممکن می کند.
  • زیر سیستم شبکه
    • برای IPv6، پشتیبانی از PLB (Protective Load Balancing) اضافه شده است، یک مکانیسم متعادل کننده بار بین لینک های شبکه با هدف کاهش نقاط اضافه بار روی سوئیچ های مرکز داده. با تغییر برچسب جریان IPv6، PLB به طور تصادفی مسیرهای بسته را تغییر می دهد تا بار در پورت های سوئیچ را متعادل کند. برای کاهش سفارش مجدد بسته ها، این عملیات در صورت امکان پس از دوره های بیکاری انجام می شود. استفاده از PLB در مراکز داده گوگل باعث کاهش عدم تعادل بار در پورت های سوئیچ به طور متوسط ​​60٪، کاهش اتلاف بسته تا 33٪ و کاهش تاخیر تا 20٪ شده است.
    • درایور برای دستگاه های MediaTek که از Wi-Fi 7 (802.11be) پشتیبانی می کنند اضافه شد.
    • پشتیبانی از لینک های 800 گیگابیتی اضافه شده است.
    • اضافه شدن قابلیت تغییر نام رابط های شبکه در لحظه، بدون توقف کار.
    • ذکر آدرس IP که بسته به آن رسیده است به پیام های گزارش مربوط به SYN flood اضافه شده است.
    • برای UDP، امکان استفاده از جداول هش جداگانه برای فضاهای نام شبکه های مختلف پیاده سازی شده است.
    • برای پل های شبکه، پشتیبانی از روش احراز هویت MAB (MAC Authentication Bypass) پیاده سازی شده است.
    • برای پروتکل CAN (CAN_RAW)، پشتیبانی از حالت سوکت SO_MARK برای اتصال فیلترهای ترافیک مبتنی بر fwmark پیاده‌سازی شده است.
    • ipset یک پارامتر بیت ماسک جدید را پیاده سازی می کند که به شما امکان می دهد ماسکی را بر اساس بیت های دلخواه در آدرس IP تنظیم کنید (به عنوان مثال، "ipset create set1 hash:ip bitmask 255.128.255.0").
    • پشتیبانی برای پردازش هدرهای داخلی در بسته های تونل شده به nf_tables اضافه شده است.
  • Оборудование
    • زیرسیستم «accel» با پیاده‌سازی چارچوبی برای شتاب‌دهنده‌های محاسباتی اضافه شده است که می‌تواند به صورت تک تک ASIC یا در قالب بلوک‌های IP در داخل SoC و GPU عرضه شود. هدف این شتاب دهنده ها تسریع حل مشکلات یادگیری ماشین است.
    • درایور amdgpu شامل پشتیبانی از اجزای GC، PSP، SMU و NBIO IP است. برای سیستم های ARM64، پشتیبانی از DCN (Display Core Next) اجرا شده است. اجرای خروجی صفحه محافظت شده از استفاده از DCN10 به DCN21 منتقل شده است و اکنون می توان از آن هنگام اتصال چندین صفحه استفاده کرد.
    • درایور i915 (اینتل) پشتیبانی از کارت‌های گرافیکی گسسته Intel Arc (DG2/Alchemist) را تثبیت کرده است.
    • درایور Nouveau از پردازنده‌های گرافیکی NVIDIA GA102 (RTX 30) بر اساس معماری Ampere پشتیبانی می‌کند. برای کارت های nva3 (GT215) قابلیت کنترل نور پس زمینه اضافه شده است.
    • پشتیبانی از آداپتورهای بی‌سیم مبتنی بر Realtek 8852BE، Realtek 8821CU، 8822BU، 8822CU، 8723DU (USB) و تراشه‌های MediaTek MT7996، Broadcom BCM4377/4378/4387 و همچنین رابط‌های کنترل‌کننده بلوتوث‌تر Tee8521raytXNUMX.
    • اضافه شدن پشتیبانی از ASoC (ALSA System on Chip) برای تراشه‌های صوتی داخلی HP Stream 8، Advantech MICA-071، Dell SKU 0C11، Intel ALC5682I-VD، Xiaomi Redmi Book Pro 14 2022، i.MX93، Armada 38x، RK3588 پشتیبانی از رابط صوتی Focusrite Saffire Pro 40 اضافه شد. کدک صوتی Realtek RT1318 اضافه شد.
    • اضافه شدن پشتیبانی از گوشی‌های هوشمند و تبلت‌های سونی (Xperia 10 IV، 5 IV، X و X compact، OnePlus One، 3، 3T و Nord N100، Xiaomi Poco F1 و Mi6، Huawei Watch، Google Pixel 3a، Samsung Galaxy Tab 4 10.1.
    • اضافه شدن پشتیبانی از ARM SoC و Apple T6000 (M1 Pro)، T6001 (M1 Max)، T6002 (M1 Ultra)، Qualcomm MSM8996 Pro (Snapdragon 821)، SM6115 (Snapdragon 662)، SM4250 (Snapdragon SM460gon 6375) بردها، SDM695 (Snapdragon 670)، MSM670 (Snapdragon 8976)، MSM652 (Snapdragon 8956)، RK650 Odroid-Go/rg3326، Zyxel NSA351S، InnoComm i.MX310MM، Od.

در همان زمان، بنیاد نرم‌افزار آزاد آمریکای لاتین نسخه‌ای از هسته کاملاً رایگان 6.2 - Linux-libre 6.2-gnu را تشکیل داد که از عناصر سفت‌افزار و درایورهای حاوی اجزا یا بخش‌های کد اختصاصی پاک شده است که دامنه آن توسط محدود شده است. سازنده. نسخه جدید حباب های جدید در درایور نو را پاک می کند. بارگذاری Blob در درایورهای mt7622، mt7996 wifi و bcm4377 بلوتوث غیرفعال است. نام حباب ها را در فایل های dts برای معماری Aarch64 پاک کرد. کد پاکسازی لکه به روز شده در درایورها و زیرسیستم های مختلف. تمیز کردن درایور s5k4ecgx را متوقف کرد، زیرا از هسته حذف شد.

منبع: opennet.ru

اضافه کردن نظر