به روز رسانی سیستم عامل جانبی از طریق fwupd

نسخه: 2.4.3
آخرین به روز رسانی: 2025-07-23

نمای کلی

هدف این راهنما شرح نحوه پیکربندی به‌روزرسانی‌های میان‌افزار fwupd است که توسط ChromeOS UI پشتیبانی می‌شوند.

فلوچارت fwupd

پس زمینه

fwupd یک دیمون منبع باز است که به‌روزرسانی‌های فریم‌افزار جانبی و سایر سیستم‌ها را در سیستم‌های مبتنی بر لینوکس انجام می‌دهد. fwupd مکانیزمی است که ChromeOS سیستم عامل جانبی را به‌روزرسانی می‌کند.

بارهای به روز رسانی fwupd از فایل های .cab تشکیل شده است که در سرویس سفت افزار فروشنده لینوکس (LVFS) ذخیره می شود. در لینوکس، به‌روزرسانی‌های fwupd را می‌توان پس از آپلود در LVFS به طور گسترده در دسترس قرار داد. با این حال، برای به‌روزرسانی‌هایی که در ChromeOS در دسترس قرار می‌گیرند، تیم ChromeOS به‌طور جداگانه به‌روزرسانی‌های جدید را تأیید می‌کند و برای اطمینان از تجربه کاربری مطلوب، به‌روزرسانی‌های جدید را فهرست می‌کند.

فرآیند fwupd

موارد زیر فقط برای تجهیزات جانبی دارای گواهی WWCB که در آن نمونه‌ها به Allion ارسال شده است، کاربرد دارد.

اگر نسخه فعلی fwupd در ChromeOS از قبل از دستگاه جانبی پشتیبانی نمی‌کند، دستورالعمل‌های ارائه شده در مورد 1 و استفاده از مورد 2 را دنبال کنید. اگر نسخه فعلی fwupd در ChromeOS از قبل از دستگاه جانبی پشتیبانی می‌کند، از حالت 2 استفاده کنید.

استفاده از مورد 1: نسخه فعلی ChromeOS fwupd از دستگاه جانبی پشتیبانی نمی‌کند

نسخه فعلی fwupd در ChromeOS از قبل از دستگاه جانبی پشتیبانی نمی کند.

تصویر

  1. ODM و OEM ها مستقیماً با فروشندگان چیپست کار می کنند تا تغییرات افزونه را در پایگاه کد fwupd ارسال کنند.

    1. به کتابچه راهنمای ادغام fwupd (مرحله دوم - استفاده از fwupd) مراجعه کنید.
    2. تغییرات پلاگین: مثال 1 ، مثال 2
    3. تطبیق VIDs:PIDs در فایل .quirk : مثال 3
      • به عنوان جایگزین برای تغییرات فایل های عجیب و غریب، اگر دستگاه جانبی USB توسط افزونه موجود پشتیبانی می شود، می توانید مشخصات DS20 را دنبال کنید.
    4. تغییرات پلاگین و غیرعادی حاصل توسط نگهدارندگان fwupd ادغام شده است.
    5. منتظر انتشار نقطه رسمی fwupd (یعنی 1.8.4) باشید، نسخه را یادداشت کنید.
  2. نسخه‌های fwupd به‌طور منظم در ChromeOS منعکس می‌شوند و از برنامه زمان‌بندی انتشار Chromium پیروی می‌کنند.

  3. اگر تغییرات پلاگین، رفع اشکال‌ها، یا تغییرات غیرمعمول فایل را پس از تاریخ قطع کردن ویژگی‌های یک نسخه آینده Chromium ارسال کنید، اما تغییرات برای نسخه بعدی ChromeOS اولویت بالایی دارند، پس:

    1. به Partner Issue Tracker بروید.
    2. با حساب Google Partner Domain خود وارد شوید.
    3. روی دکمه ایجاد مشکل از منوی سمت چپ کلیک کنید تا یک اشکال در مؤلفه خود ایجاد کنید ( ChromeOS > External > WWCB > PERIPHERAL OEM > fwupd ). این به تیم ChromeOS هشدار می‌دهد تا نسخه fwupd را در ChromeOS ارتقا دهد.

      اطلاعات زیر را در باگ ارائه دهید:

      1. عنوان باگ:

        [PRODUCT NAME - fwupd]: New Plugin NAME OF THE PLUGIN requires fwupd X.Y.Z version uprev
        
      2. توضیحات باگ:

        1. شماره نسخه fwupd که شامل تغییرات افزونه است:
          • چه ویژگی هایی اضافه می کند؟
          • چه باگ هایی رفع می شوند؟
          • از چه سخت افزاری پشتیبانی می کند؟
        2. ساخت/مدل دستگاه
        3. VID، PID
        4. GUID (شناسه منحصر به فرد جهانی)
      3. نمونه اسکرین شات:

        اسکرین شات باگ fwupd uprev

  4. این اشکال تریاژ می شود و نسخه انتخابی fwupd توسط مهندسان Google به ChromeOS اضافه می شود.

  5. نسخه uprev'd fwupd با تایید لیست تغییرات به کانال قناری ارتقا می یابد.

    • برای دانستن اینکه کدام نسخه ساخت ChromeOS از نسخه uprev'd fwupd تشکیل شده است، در مورد اشکال نظر بگذارید. همچنین می‌توانید از CL Finder برای جستجوی نسخه ساخت در کنسول شریک ChromeOS (CPCon) استفاده کنید (به حساب دامنه شریک شرکت Google نیاز دارد، لطفاً برای دسترسی به CPCon با TAM تماس بگیرید).

استفاده از مورد 2: نسخه فعلی ChromeOS fwupd از دستگاه جانبی پشتیبانی می کند

نسخه فعلی fwupd در ChromeOS از قبل از دستگاه جانبی پشتیبانی می کند و یک سیستم عامل جدید در دسترس است.

تصویر

  1. یک فایل .cab . ایجاد کنید.

    همه سیستم عامل ها به عنوان بایگانی کابینت آپلود می شوند. به همراه باینری میان‌افزار، LVFS انتظار دارد که بایگانی حاوی حداقل یک فایل .metainfo.xml باشد که دستگاه و میان‌افزار مورد نظر را توصیف می‌کند. شما می توانید با استفاده از gcab (کتابخانه ای برای ایجاد فایل های کابینت) در لینوکس یک آرشیو کابینت ایجاد کنید.

  2. آپدیت سیستم عامل آزمایش شده و نهایی (فایل .cab ) را در LVFS آپلود کنید.

    1. اطمینان حاصل کنید که به روز رسانی در کنترل از راه دور پایدار در دسترس است.

      اگر روی کنترل خصوصی ، تحریمی یا آزمایشی در دسترس باشد، به آینه ChromeOS اضافه نخواهد شد.

    2. به‌روزرسانی‌ها به‌عنوان تأییدشده در LVFS از طریق یک گزارش امضا شده علامت‌گذاری شدند.

      مطمئن شوید که تست های دستگاه اضافه شده است.

    3. اگر این اولین بارگذاری میان‌افزار است، مطمئن شوید که حداقل 2 میان‌افزار، میان‌افزار پایه (برای تست تنزل) و میان‌افزار جدید (برای آزمایش ارتقا)، در کنترل از راه دور پایدار LVFS موجود است.

  3. ارتقای میان‌افزار باید در ChromeOS از طریق یک گزارش امضا شده آزمایش شود.

    1. برای پیوند DUT با حساب خود، گواهی ها را در LVFS آپلود کنید.

      1. با حساب کاربری خود وارد LVFS شوید.
      2. روی نماد «Person» در بالا سمت راست کلیک کنید، یا روی https://fwupd.org/lvfs/profile{:.external} کلیک کنید.
      3. روی تنظیمات پروفایل کلیک کنید.
      4. گواهی مشتری را در Chromebook خود پیدا کنید.

        • توجه : Chromebook باید در حالت برنامه‌نویس باشد
        • با فشار دادن ctrl + alt + پوسته برنامه‌نویس ChromeOS را راه‌اندازی کنید
        • نوع:

          shell
        • به /var/lib/fwupd/pki بروید:

          cd /var/lib/fwupd/pki
        • client.pem را در پوشه ای در Chromebook خود کپی کنید، به عنوان مثال: Downloads .

          cp client.pm /home/chronos/user/MyFiles/Downloads/
    2. روی دکمه Upload Certificate در قسمت Client Certificates در وب سایت LVFS کلیک کنید و گواهی آپلود کنید.

      1. این مراحل را در هر Chromebookی که برای آزمایش استفاده می‌کنید تکرار کنید (می‌توانید چندین گواهی را برای رایانه‌های مختلف آپلود کنید).
    3. آزمایش ارتقاء و آپلود گزارش های امضا شده از طریق DUT.

      1. برای تست و آپلود گزارش ها، دستورات زیر را اجرا کنید و در صورت درخواست احراز هویت کنید.

        fwupdmgr refresh
        fwupdmgr update
        fwupdmgr report-history --sign
      2. توجه : اگر قبلاً گزارش‌هایی را بدون علامت --sign آپلود کرده‌اید، می‌توانید از fwupdmgr report-history --sign --force برای آپلود مجدد همان گزارش در LVFS استفاده کنید.

        fwupdmgr report-history --sign --force
        • می توانید برای مشاهده پاسخ سرور، --verbose ارسال کنید.

          fwupdmgr report-history --force --verbose
      3. در گفتگوی تایید روی Yes کلیک کنید.

        • که باید گزارش امضا شده را در حساب شما آپلود کند.
        • برای تایید، به https://fwupd.org/lvfs/dashboard بروید و روی Signed Reports در قسمت Home در بالا سمت چپ کلیک کنید.
    4. بررسی کنید که نسخه سیستم عامل در LVFS دارای گزارش های امضا شده است

      • ابزار جانبی را در LVFS جستجو کنید.
      • اگر گزارش امضا شده آپلود شده پس از ارتقای موفقیت‌آمیز نسخه میان‌افزار در دستگاه جانبی با استفاده از Chromebook بود، بخش تست شده توسط نسخه ChromeOS، نسخه fwupd و موجودیت را نشان می‌دهد. نمونه را ببینید.
      • مطمئن شوید که Release Gating علامت سبز رنگ «در دسترس کاربران ChromOS» را نشان می‌دهد.
    5. با شروع M126، به‌روزرسانی‌های میان‌افزار تنها در صورتی برای کاربران ChromeOS در دسترس خواهند بود که میان‌افزار گزارش‌هایی را امضا کرده باشد (تست شده با ChromeOS) در LVFS.

      • پس از 24 ساعت، کاربران می توانند دستگاه جانبی را به کروم بوک متصل کرده و از طریق رابط کاربری ChromeOS ارتقاء دهند. به تنظیمات > درباره ChromeOS > به‌روزرسانی‌های میان‌افزار بروید.
      • توجه: به‌روزرسانی‌های میان‌افزار با این فرض در دسترس خواهند بود که همه تغییرات لازم در افزونه در ChromeOS برای یک نقطه عطف مشخص در دسترس باشد.

جزئیات بیشتر در مورد گزارش های امضا شده را می توان در LVFS یافت.

سوالات متداول

س: کدام Chromebook از fwupd پشتیبانی می کند؟

همه دستگاه‌های ChromeOS در M101 یا جدیدتر.

س: چگونه بفهمیم کدام نسخه از fwupd با ChromeOS یکپارچه شده است؟

  1. chrome://system از طریق مرورگر (M109 یا جدیدتر) باز کنید.
    1. به fwupd_version بروید.
  2. یا از طریق حالت توسعه دهنده، کنسول ریشه،
    1. fwupdmgr --version تایپ کنید
    2. به دنبال runtime org.freedesktop.fwupd بگردید

س: فرآیند fwupd uprev چقدر طول می کشد؟

fwupd uprev از زمان‌بندی انتشار Chromium پیروی می‌کند، مطمئن شوید که درخواست fwupd uprev قبل از تاریخ قطع کردن ویژگی شعبه ارسال شده است.

س: از کجا می توانم اطلاعات بیشتری درباره زمان بندی انتشار ChromeOS دریافت کنم؟

در زمان‌بندی انتشار Chromium .

س: چگونه یک کروم بوک را به حالت برنامه نویس تغییر دهیم؟

  1. Chromebook را خاموش کنید.
  2. esc + Refresh را نگه دارید و دکمه پاور را فشار دهید.
    • توجه : در برخی از کروم‌بوک‌ها esc + (کلید پیکان سمت راست) است و دکمه روشن/خاموش را فشار دهید.
  3. دستگاه روشن می شود و باید صفحه / حالت بازیابی را ببینید.
  4. سپس ctrl + d و سپس Enter را فشار دهید تا بپذیرید.
    • توجه : اگر هر کلیدی را قبل از ctrl + d فشار دهید، دستگاه به حالت توسعه دهنده منتقل نمی شود.
  5. دستگاه راه‌اندازی مجدد می‌شود، بوق می‌زند و «سیستم شما در حال انتقال به حالت برنامه‌نویس است» را خواهید دید.
  6. پس از حدود 30 ثانیه، "آماده سازی سیستم برای حالت برنامه نویس" را خواهید دید.
  7. در نهایت (بسته به اندازه دیسک می تواند 10 دقیقه تا 1+ ساعت باشد) دستگاه در صفحه خوش آمدگویی معمولی راه اندازی مجدد می شود.
  8. Command Prompt را دریافت کنید ctrl + alt + (کلید پیکان سمت راست) را فشار دهید.
    • توجه: در برخی از کروم‌بوک‌ها ctrl + alt + کلید تازه‌سازی است.
    • برای بازگشت به نمای مرورگر، ctrl + alt + (کلید پیکان سمت چپ) را فشار دهید.
  9. جزئیات بیشتر را می‌توانید در [حالت توسعه‌دهنده] بیابید

س: چگونه یک کروم بوک را به حالت عادی تغییر دهیم (یعنی غیرفعال کردن حالت برنامه نویس)؟

دستگاه خود را مجددا راه اندازی کنید و Spacebar را در صفحه سیستم عامل فشار دهید.

جزئیات بیشتر را می توانید در [حالت برنامه نویس] پیدا کنید.

س: آیا ChromeOS از ارتقاء از طریق fwupd پشتیبانی می کند؟

خیر. اگر نسخه تولیدی fwupd یا سیستم عامل خراب شد، باید گزارش امضا شده را از طریق https://fwupd.org/lvfs/dashboard حذف کنید. مهم است که هر زمان که تغییرات افزونه را ارسال می کنید و/یا یک سیستم عامل جدید در دسترس دارید، آزمایش کنید. اطمینان حاصل کنید که یک نسخه پایه از سیستم عامل همیشه در یک کنترل از راه دور پایدار LVFS در دسترس است.

س: چگونه می توان فهمید که کدام نسخه از ChromeOS از کدام به روز رسانی fwupd پشتیبانی می کند؟

می‌توانید در مورد باگ نظر بدهید و بپرسید که تغییرات در کدام نسخه بیلد گنجانده شده‌اند و مهندسان Google باید بتوانند آن اطلاعات را در اختیار شما قرار دهند. همچنین می‌توانید از CL Finder برای جستجوی نسخه ساخت در کنسول شریک ChromeOS (CPCon) استفاده کنید (به حساب دامنه شریک شرکت Google نیاز دارد—برای دسترسی به CPCon با TAMها تماس بگیرید). می‌توان به نسخه ساخت در ChromeOS Partner Frontend (CPFE) اشاره کرد تا ببیند با کدام نقطه عطف مطابقت دارد.

س: چگونه یک حساب LVFS ایجاد کنیم؟

به دریافت اسناد LVFS حساب مراجعه کنید.

س: چگونه فایل های کابین را در LVFS آپلود کنیم؟

به آپلود اسناد Firmware LVFS مراجعه کنید.

س: چگونه مطمئن شویم که یک سیستم عامل برای یک دستگاه جانبی خاص است؟

این از طریق بهترین فایل پیکربندی شناخته شده امکان پذیر است. برای اطلاعات بیشتر به Fwupd Best Known Configuration مراجعه کنید.

س: چگونه می توانم به روز رسانی fwupd خود را قبل از آپلود در LVFS آزمایش کنم؟

هنگامی که تغییرات افزونه ارسال شد و نسخه انتخابی fwupd در تصویر آزمایشی ChromeOS گنجانده شد، می‌توانید از طریق ChromeOS Partner Frontend (CPFE) به تصویر آزمایشی دسترسی داشته باشید (به حساب دامنه شریک Google Corp نیاز دارد—برای دسترسی به CPFE با TAMها تماس بگیرید).

به مستندات LVFS تست سفت‌افزار در ChromeOS مراجعه کنید. همچنین می توانید تست های fwupd را با Moblab اجرا کنید.

س: چگونه به کاربر اطلاع داده می شود که به روز رسانی سیستم عامل برای دستگاه جانبی او در دسترس است؟

کاربر اعلانی دریافت می کند مبنی بر اینکه یک به روز رسانی بر اساس فوریت هایی که به روز رسانی در LVFS اختصاص داده شده است در دسترس است. رفتار به شرح زیر است:

فوریت رفتار اطلاع رسانی
پایین به کاربر اطلاع داده نمی شود، باید به صورت دستی به روز رسانی را بررسی کند.
متوسط
بالا
انتقادی اعلان هر بوت را تا زمانی که به‌روزرسانی کامل شود نشان می‌دهد.

س: آیا به روز رسانی fwupd به طور خودکار انجام می شود؟

خیر. همه به‌روزرسانی‌های fwupd توسط کاربر آغاز می‌شوند و در هنگام بوت یا به‌طور خودکار اتفاق نمی‌افتند.

س: مزیت مشخصات DS20 چیست؟

در حال حاضر فقط برای دستگاه‌های جانبی USB تأیید شده است، اگر از همان پروتکلی که روی سخت‌افزار دیگر خود استفاده می‌کردید استفاده کنید، فقط با یک توصیفگر DS20 کار می‌کند.

فروشندگان می توانند داده های فایل quirk را به جای در پروژه fwupd در توصیفگر USB قرار دهند. به این ترتیب، دستگاه USB وارد می‌شود، fwupd داده‌های توصیف‌گر را می‌خواند، با افزونه مطابقت می‌کند، دستگاه را بدون نیاز به واداشتن فروشنده به ارسال وصله به fwupd و انتظار برای fwupd uprev، شمارش می‌کند.

س: آیا DS20 یک گزینه جایگزین برای تغییر دادن تغییرات فایل است؟

بله؛ در بیشتر مواقع سخت افزار آینده به جای تغییرات واقعی کد، فقط به VID&PIDهایی نیاز دارد که به پلاگین موجود اضافه شود. اگر تغییرات کد مورد نیاز است، فروشنده باید تغییرات افزونه را به fwupd ارسال کند.

ضمیمه ها

  1. راهنمای توسعه دهندگان
  2. پشتیبانی توسعه دهندگان
  3. معرفی Git & Gerrit برای مشارکت کنندگان CrOS
  4. ایجاد تغییرات در کد منبع
  5. فرآیند بررسی/تصویب Gerrit
  6. راهنمای ادغام fwupd

تاریخچه تجدید نظر

تاریخ نسخه یادداشت ها
2025-07-23 2.4.3 به‌روزرسانی گردش کار Use Case 1
18-10-2024 2.4.2 تصاویر گردش کار fwupd و مراحل آپلود گواهی مشتری را به روز کنید
2024-07-23 2.4.1 قالب بندی به روز رسانی
2024-06-26 2.4 به روز رسانی گردش کار fwupd uprev (مورد استفاده 1). (منتشر شده به همراه 2.4.1)
17-06-2024 2.3 گردش کار گزارش امضا شده را به روز کنید. (منتشر شده به همراه 2.4.1)
01-02-2024 2.2 جمهوری در بستر جدید؛ به روز رسانی های جزئی عبارت
12-10-2023 2.1 تصاویر اضافه شده در Case 1 و Case 2, fwupd Integration Handbook میزبانی شده در Partner Site
14-08-2022 2.0 انتشار اولیه سایت شریک