โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้การอัปเดตเฟิร์มแวร์บน Linux เป็นแบบอัตโนมัติ ปลอดภัย และเชื่อถือได้
ข้อมูลเพิ่มเติมมีอยู่ที่เว็บไซต์
ปัญหา GitHub และการสนทนาในพื้นที่เก็บข้อมูลนี้
ช่อง Libera IRC #fwupd
. คุณสามารถเข้าร่วมผ่าน IRC ของ Libera หรือผ่านสะพาน IRC บน Matrix
ดูการสร้างและการดีบักสำหรับวิธีสร้างสภาพแวดล้อมการพัฒนา fwupd
หมายเหตุ: ในกรณีส่วนใหญ่ ผู้ใช้ไม่ควรคอมไพล์ fwupd ตั้งแต่เริ่มต้น มันเป็นโปรเจ็กต์ที่ซับซ้อนที่มีการขึ้นต่อกันหลายสิบรายการ (และตัวเลือกการกำหนดค่ามากมาย) และมีหลายสิ่งหลายอย่างที่อาจผิดพลาดได้
ผู้ใช้ควรติดตั้งและอัปเดต fwupd โดย distro จัดการและทดสอบโดยผู้ดูแลแพ็คเกจ การเผยแพร่นี้จะทำการทดสอบว่า fwupd โต้ตอบกับซอฟต์แวร์อื่น ๆ ในระบบของคุณอย่างไร เช่น การใช้ซอฟต์แวร์ GNOME
การติดตั้ง fwupd โดยใช้ Snap หรือใช้ Flatpak อาจเป็นประโยชน์ในการอัปเดตอุปกรณ์เฉพาะบนบรรทัดคำสั่งที่ต้องการเวอร์ชัน fwupd ที่มีเลือดออก แต่ไม่ควรถือเป็นการแทนที่เวอร์ชันระบบที่ distro จัดเตรียมไว้
Tartan เป็นปลั๊กอินการวิเคราะห์คงที่ LLVM ที่สร้างขึ้นเพื่อวิเคราะห์โค้ด GLib สามารถติดตั้งแล้วรันโดยใช้:
mkdir build-tartan CC=clang-17 meson ../ SCANBUILD=../contrib/tartan.sh ninja scan-build
โปรเจ็กต์นี้ได้รับการกำหนดค่าตามค่าเริ่มต้นให้ดาวน์โหลดเฟิร์มแวร์จาก Linux Vendor Firmware Service (LVFS)
บริการนี้มีให้สำหรับ OEM และผู้สร้างเฟิร์มแวร์ทุกคนที่ต้องการให้เฟิร์มแวร์ของตนพร้อมใช้งานสำหรับผู้ใช้ Linux
คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับรายละเอียดทางเทคนิคของการสร้างแคปซูลเฟิร์มแวร์ได้ในส่วนผู้จำหน่ายฮาร์ดแวร์ของเว็บไซต์ fwupd
หากคุณมีอุปกรณ์ที่มีเฟิร์มแวร์ที่รองรับ fwupd นี่คือวิธีที่คุณสามารถตรวจสอบการอัปเดตและใช้งานโดยใช้เครื่องมือบรรทัดคำสั่งของ fwupd
# fwupdmgr get-devices
นี่จะแสดงอุปกรณ์ทั้งหมดที่ fwupd ตรวจพบ
# fwupdmgr refresh
นี่จะดาวน์โหลดข้อมูลเมตาล่าสุดจาก LVFS
# fwupdmgr get-updates
หากมีการอัพเดตสำหรับอุปกรณ์ใด ๆ ในระบบ การอัพเดตเหล่านั้นจะปรากฏขึ้น
# fwupdmgr update
นี่จะดาวน์โหลดและใช้การอัปเดตทั้งหมดสำหรับระบบของคุณ
การอัพเดตที่สามารถใช้งานได้จริงจะดำเนินการทันที
การอัปเดตที่ทำงานเมื่อบูตเครื่องจะถูกจัดฉากสำหรับการรีบูตครั้งถัดไป
คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับเวิร์กโฟลว์การอัพเดตได้ในส่วนผู้ใช้ปลายทางของเว็บไซต์ fwupd
หากติดตั้งและเปิดใช้งานโปรเจ็กต์ Passim แล้ว fwupd จะเผยแพร่ไฟล์ข้อมูลเมตาที่ดาวน์โหลดอีกครั้งเพื่อให้บริการใน 0.0.0.0:27500
ตามค่าเริ่มต้น
ไคลเอนต์อื่นๆ บนเครือข่ายเดียวกันสามารถใช้ประโยชน์จากสิ่งนี้ผ่าน mDNS/LLMNR เพื่อลดแบนด์วิดท์เครือข่ายไปยังรีโมทที่กำหนดค่าไว้
หากต้องการปิดใช้งานฟังก์ชันนี้ให้ตั้งค่า P2pPolicy=none
ใน /etc/fwupd/daemon.conf
ให้ถอนการติดตั้งแพ็คเกจ passim หรือใช้ systemctl mask passim.service
บนเทอร์มินัล
fwupd จะสนับสนุนให้ผู้ใช้รายงานการอัปเดตทั้งที่สำเร็จและล้มเหลวกลับไปยัง LVFS นี่เป็นคุณสมบัติเสริม แต่ได้รับการสนับสนุนเนื่องจากให้ผลตอบรับอันมีค่าแก่ผู้ดูแลระบบ LVFS และนักพัฒนา OEM เกี่ยวกับประสิทธิภาพของกระบวนการอัพเดตเฟิร์มแวร์
นโยบายความเป็นส่วนตัวเกี่ยวกับข้อมูลนี้สามารถดูได้บนไซต์ lvfs readthedocs
หากต้องการรายงานสถานะของการอัปเดต ให้รัน:
# fwupdmgr report-history
เฉพาะการอัปเดตที่เผยแพร่จาก LVFS เท่านั้นที่จะถูกรายงานไปยัง LVFS
สามารถควบคุมโฟลว์ของการอัปเดตได้ในองค์กรโดยใช้คุณสมบัติ "การอัปเดตที่ได้รับอนุมัติ" ซึ่งช่วยให้ผู้ดูแลระบบโดเมนสามารถกรองการอัปเดตที่เป็นไปได้จากเซิร์ฟเวอร์กลาง (เช่น LVFS หรือมิเรอร์) ไปจนถึงเฉพาะเฟิร์มแวร์ที่ได้รับการทดสอบโดยเฉพาะในองค์กรของคุณ
รายการอัพเดตที่ได้รับอนุมัติสามารถเปิดใช้งานได้โดยเพิ่ม ApprovalRequired=true
ให้กับไฟล์คอนฟิกูเรชันระยะไกล เช่น lvfs.conf
เมื่อเปิดใช้งานแล้ว รายการอัปเดตที่ได้รับอนุมัติสามารถตั้งค่าใน fwupd.conf
โดยใช้รายการที่คั่นด้วยเครื่องหมายจุลภาค
ตัวอย่างเช่น:
ApprovedFirmware=foo,bar
โดยที่ foo,bar
อ้างถึงการตรวจสอบคอนเทนเนอร์ที่จะสอดคล้องกับการอัปเดตสองครั้งในไฟล์ข้อมูลเมตา
นอกจากนี้ สามารถเสริมรายการเฟิร์มแวร์ที่ได้รับอนุมัติได้โดยใช้ fwupdmgr set-approved-firmware baz
หรือใช้อินเทอร์เฟซ D-Bus
fwupdmgr เป็นไคลเอนต์บรรทัดคำสั่ง แต่ส่วนหน้าแบบกราฟิกเพิ่มเติมต่างๆ จะถูกแจกแจงไว้ในหน้าคู่มือ fwupdmgr
ความครอบคลุม - ตัววิเคราะห์แบบคงที่สำหรับโค้ด Java, C/C++, C#, JavaScript, Ruby และ Python
PVS-Studio - ตัววิเคราะห์แบบคงที่สำหรับโค้ด C, C++, C# และ Java