fwupd, công cụ tuyệt vời để quản lý các bản cập nhật chương trình cơ sở trong Linux

Logo Fwupd.

Nó đã được công bố gần đây phát hành fwupd 2.0, một công cụ nguồn mở được sử dụng để quản lý và cập nhật chương trình cơ sở của các thiết bị khác nhau trong Linux. Mục đích của nó là tạo điều kiện thuận lợi cho việc cài đặt và cập nhật chương trình cơ sở trên phần cứng mà không cần truy cập vào các công cụ dành riêng cho nhà sản xuất hoặc khởi động lại vào hệ điều hành khác.

fwupd sử dụng dịch vụ cập nhật chương trình cơ sở LVFS (Dịch vụ phần mềm cơ sở của nhà cung cấp Linux), nơi các nhà sản xuất tải lên các bản cập nhật chương trình cơ sở của họ. Hiện tại, danh mục LVFS bao gồm chương trình cơ sở cho hơn 1,600 thiết bị từ 160 nhà sản xuất.

Sử dụng Thư mục tập trung này giúp loại bỏ nhu cầu nhà sản xuất tạo các gói cụ thể cho từng bản phân phối, cho phép họ truyền chương trình cơ sở trong tệp ".cab" bao gồm siêu dữ liệu bổ sung, tương tự như những gì được thực hiện khi xuất bản chương trình cơ sở cho Windows.

Các Người dùng có thể tải xuống và cài đặt các bản cập nhật đó trực tiếp từ bản phân phối của họ Linux, tạo điều kiện thuận lợi cho một số lượng lớn quy trình, vì nó hỗ trợ cả chế độ cập nhật chương trình cơ sở tự động cũng như tùy chọn thực hiện thao tác sau khi xác nhận.

Trong số các tính năng chính nổi bật so với fwupd, chúng ta có thể tìm thấy những điều sau:

  • Hỗ trợ nhiều loại thiết bị (UEFI, USB, Thunderbolt, màn hình, v.v.).
  • Cài đặt và cập nhật chương trình cơ sở mà không cần khởi động lại hoặc rời khỏi môi trường làm việc.
  • Tích hợp với trình quản lý gói và cập nhật hệ thống.
  • Tương thích với nhiều bản phân phối Linux
  • Đây là một giải pháp thuận tiện và an toàn để cập nhật chương trình cơ sở
  • Nó tương thích với phần mềm Gnome và trình quản lý ứng dụng KDE Discover.
  • Không chỉ giới hạn ở hệ thống máy tính để bàn, nó còn phù hợp để cập nhật chương trình cơ sở trên các thiết bị như điện thoại thông minh, máy tính bảng, máy chủ và thiết bị Internet of Things.

Có gì mới trong fwupd 2.0?

Trong phiên bản mới này của fwupd 2.0, đã chuyển quy trình nền từ việc sử dụng móc GObject từ GUsb sang truy cập trực tiếp vào libusb và sysfs. Thay đổi này giúp có thể di chuyển mô phỏng thiết bị sang thư viện libfwupdplugin và triển khai mô phỏng các bản cập nhật chương trình cơ sở trên các thiết bị hidraw và nvme giả, tương tự như mô phỏng được thực hiện với các thiết bị USB giả. Nhờ tính năng này, chúng tôi đã có thể thực hiện các thử nghiệm bổ sung để xác định sự cố với các bản cập nhật có thể phát sinh sau khi thực hiện một số thay đổi nhất định đối với fwupd.

cũng thư viện GUdev, cung cấp các ràng buộc GObject trên libudev, đã được di dời khỏi cơ sở. Thay vào đó, quy trình fwupd hiện tạo một ổ cắm liên kết mạng để phân tích các sự kiện udev được truyền qua nó. Sự thay đổi này đã giúp giảm đáng kể mức tiêu thụ bộ nhớ và tải CPU cả khi khởi động và trong quá trình vận hành, ngoài việc đơn giản hóa việc kết hợp hỗ trợ ueventd, điều này trong tương lai sẽ cho phép fwupd tương thích với nền tảng Android.

Tối ưu hóa đã được thực hiện để giảm mức tiêu thụ bộ nhớ khi chuyển phần sụn từ tập tin sang thiết bị; Thay vì sao chép phần sụn vào bộ nhớ, việc truyền qua bộ mô tả tệp hiện được sử dụng. Cũng Hỗ trợ đã được thêm vào cho nhiều loại thiết bị mới.

Bên cạnh đó, Hỗ trợ cho các định dạng xác minh chương trình cơ sở và siêu dữ liệu kế thừa đã bị ngừng, và các tiện ích dòng lệnh không được dùng nữa trước đây đã bị xóa. Cũng đã thêm API để tải báo cáo trong phần sụn gnome và hệ thống xây dựng hiện bao gồm hỗ trợ cho nền tảng Darwin.

Cuối cùng, chúng tôi đã thêm khả năng hiển thị danh sách các tệp ESP ở định dạng JSON (sử dụng lệnh fwupdtool esp-list –json) và thêm tùy chọn chỉ định các thiết bị mô phỏng trong cấu hình.

Cuối cùng, nếu bạn quan tâm có thể biết thêm về nó, bạn có thể tham khảo chi tiết tại mục liên kết theo dõi.

Làm cách nào để cài đặt fwupd trên Linux?

Đối với những người quan tâm đến khả năng cài đặt fwupd, bạn nên biết rằng, trong hầu hết các bản phân phối, nó đã được cài đặt sẵn. Tuy nhiên, nếu bạn chưa cài đặt nó, bạn có thể thực hiện bằng lệnh sau tùy thuộc vào bản phân phối của bạn:

Ubuntu và các dẫn xuất:

sudo apt install fwupd

Fedora:

sudo dnf install fwupd

Arch Linux và dựa trên nó:

sudo pacman -S fwupd

Làm thế nào để sử dụng fwupd?

Cách sử dụng fwupd khá đơn giản và dựa trên việc thực thi các lệnh và cách đúng đắn để làm điều đó là luôn cập nhật cơ sở dữ liệu của chương trình cơ sở có sẵn trước khi tiến hành cập nhật chương trình cơ sở của thiết bị. Chúng ta có thể làm điều này bằng cách gõ:

sudo fwupdmgr refresh

đến xem thiết bị nào hỗ trợ fwupd, cũng như trạng thái hiện tại của họ và nếu họ có sẵn bản cập nhật, họ có thể làm như vậy bằng lệnh sau:

fwupdmgr get-devices

Khi bạn đã liệt kê các thiết bị, chúng có thể kiểm tra các bản cập nhật firmware có sẵn bằng cách chạy:

fwupdmgr get-updates

Nếu có bản cập nhật chương trình cơ sở, bạn có thể áp dụng chúng bằng cách chạy:

sudo fwupdmgr update

đến hiển thị danh sách các bản cập nhật firmware đã được cài đặt thông qua fwupd, bạn có thể thực hiện bằng lệnh sau:

fwupdmgr history