Di CentOS saya, a yum update
menampilkan yang berikut:
(6/38): iwl1000-firmware-39.31.5.1-62.el7_39.31.5.1-62.2.el7_5.noarch.drpm
(7/38): iwl105-firmware-18.168.6.1-62.el7_18.168.6.1-62.2.el7_5.noarch.drpm
(8/38): iwl135-firmware-18.168.6.1-62.el7_18.168.6.1-62.2.el7_5.noarch.drpm
(9/38): iwl2000-firmware-18.168.6.1-62.el7_18.168.6.1-62.2.el7_5.noarch.drpm
(10/38): iwl2030-firmware-18.168.6.1-62.el7_18.168.6.1-62.2.el7_5.noarch.drpm
(11/38): iwl3160-firmware-22.0.7.0-62.el7_22.0.7.0-62.2.el7_5.noarch.drpm
dll.
Ini disebut "paket firmware". Misalnya, mari kita temukan beberapa di antaranya yang diinstal:
rpm --query --all | grep firmware
dan kemudian menanyakan informasinya:
rpm --query --info iwl105-firmware-18.168.6.1-62.2.el7_5.noarch
dan kami mendapatkan:
Summary : Firmware for Intel(R) Centrino Wireless-N 105 Series Adapters
Description :
This package contains the firmware required by the iwlagn driver
for Linux to support the iwl105 hardware. Usage of the firmware
is subject to the terms and conditions contained inside the provided
LICENSE file. Please read it carefully.
Baiklah.
Saya bahkan tidak memiliki perangkat keras seperti itu, karena ini adalah VM.
Jadi, pertanyaan:
Apa yang sebenarnya dilakukan paket firmware?
Apakah mereka "one-shot" menginstal yang menjalankan executable buram (segera? Pada boot berikutnya?) Yang memeriksa apakah perangkat keras itu ada, memompa kode biner ke dalam flash perangkat keras jika perangkat keras itu ada (mungkin saat meminta pengguna; pada Windows di paling tidak, perangkat keras yang berkedip selalu penuh dengan jendela DOS yang muncul, EULA yang harus diklik, dan progress bar yang harus ditahan), dan kemudian menandai paket sebagai "diinstal".
Apakah mereka memodifikasi initramfs sehingga gumpalan biner dimuat oleh modul kernel atau sesuatu terjadi pada boot berikutnya?
sumber
Jawaban:
Firmware yang dapat dimuat biasanya bukan pemasangan "satu-shot" yang ditulis untuk mem-flash perangkat. Firmware dimuat ke penyimpanan volatile pada perangkat dan perlu dilakukan setiap kali komputer host dihidupkan. Perangkat tidak berfungsi sebelum firmware dimuat. Firmware dapat ditulis ke RAM pada perangkat, dalam hal ini berisi kode dan data untuk prosesor pada perangkat, tetapi juga dapat berupa bit stream yang mendefinisikan logika array logika program-programmable (FPGA), atau beberapa kombinasi keduanya.
Di sisi lain, firmware dalam memori flash biasanya diprogram pada perangkat, dan hanya perlu ditulis ulang jika ada pembaruan ke firmware dari pabrikan. Ini biasanya dilakukan melalui mekanisme lain, seperti executable terpisah yang dijalankan oleh pengguna.
Ada beberapa alasan mengapa produsen ingin menggunakan RAM alih-alih memori flash. Pertama-tama, memungkinkan untuk mendesain satu versi perangkat keras, tetapi pada saat yang sama menghadirkan beberapa versi produk (untuk area pasar yang berbeda, misalnya). Jika produk ini diharapkan sering ditingkatkan lapangan, mungkin lebih mudah untuk menangani peningkatan firmware dengan cara ini daripada harus melalui masalah membuat program untuk meningkatkan memori flash pada perangkat. Program ini harus memiliki antarmuka pengguna yang bagus dan dirancang agar semudah mungkin digunakan oleh pengguna, karena biasanya ditujukan untuk dijalankan oleh pengguna akhir produk. Beberapa perangkat dengan penyimpanan flash sering menjalankan kode dari RAM, dan mereka hanya menyalin isi flash ke RAM ketika perangkat dimulai,
sumber
Seperti Anthony Geoghegan menyebutkan , Apa itu "firmware" dalam terminologi Linux? dan mengapa beberapa driver masih memerlukan firmware? memberikan latar belakang yang bermanfaat.
Paket firmware adalah paket yang berisi file firmware, yaitu file yang berisi kode yang dimaksudkan untuk dijalankan pada perangkat di atau terhubung ke sistem Anda - contoh umum termasuk chipset wifi, seperti dalam kasus Anda. Mereka bukan installer sekali pakai, dan mereka tidak peduli apakah perangkat keras itu tersedia. File yang mereka sediakan digunakan oleh driver kernel yang sesuai, jika ada perangkat keras yang relevan: driver memuat firmware ke dalam memori yang terpasang pada perangkat keras target, yang kemudian menjalankan firmware untuk beroperasi.
Paket-paket firmware ini tidak terkait dengan penginstal firmware yang Anda pikirkan, yang memuat pembaruan firmware ke dalam memori flash (yang hanya perlu dilakukan ketika pembaruan diperlukan). Proses itu memang panjang, seringkali rumit, dan tampaknya penuh dengan bahaya (setidaknya, jika Anda mendasarkan kesan Anda pada peringatan pabrikan). Paket firmware yang termasuk dalam distribusi Linux berisi firmware yang diperlukan setiap kali sistem melakukan boot, karena ia dimuat ke memori yang mudah menguap.
sumber
Menambahkan ke jawaban yang sudah sangat baik.
File firmware, alias gumpalan biner eksklusif, dimuat ke dalam firmware Anda setidaknya pada saat booting dingin perangkat.
Perangkat itu dirancang untuk mendapatkan firmware dalam RAM alih-alih memiliki ROM + RAM untuk mengurangi biaya produksi. Sebagai contoh, Anda memiliki beberapa chipset wifi Broadcom dan chipset sakelar internal yang berfungsi seperti itu.
Mengatasi poin lain dari pertanyaan Anda tentang menggunakan file firmware di VM.
Saat Anda berurusan dengan VM, Anda tidak perlu file firmware. Mereka tidak akan dimuat di mana pun; apalagi ethernet atau wifi "firmware" file.
Demikian juga, mengingat firmware tidak diperlukan dalam lingkungan VM, itu adalah keistimewaan besar karena di Debian ketergantungan pada paket file firmware generik di kernel Linux.
sumber
firmware-linux-free
danirqbalance
- tidak berguna di sebagian besar penyebaran saat ini.)apt
sehingga tidak menginstal rekomendasi secara default ...