Content deleted Content added
m →Use via wrappers: HTTP → HTTPS for Wayback Machine, replaced: http://web.archive.org/ → https://web.archive.org/ |
m bad link repair |
||
Line 36:
|author= Constantine A. Murenin |date= 2006-12-10
|url= https://www.linux.org.ru/news/hardware/1690470
|
|website= [[Linux.org.ru]]
}}</ref><ref name=wpaul-rocks>{{cite conference
Line 76:
== Problems ==
There are a number of reasons why binary blobs can be problematic.<ref name="kerneltrap/6497">{{cite web |url=http://kerneltrap.org/node/6497 |first=Jeremy |last=Andrews |title=Interview with Jonathan Gray and Damien Bergamini |accessdate=2008-01-06 |date=2006-04-19 |publisher=kerneltrap.org |url-status=dead |archiveurl=https://web.archive.org/web/20071211025952/http://kerneltrap.org/node/6497 |archivedate=2007-12-11 }}</ref>
Firstly, their precise operation cannot be known and bugs cannot be detected by auditing source code; bugs are frequently only diagnosed by painstaking investigation when a system begins to behave unexpectedly. Such undetected bugs may also silently expose users and systems to security hazards. The fitness for purpose of the driver thus cannot be checked, and even if a bug is found there is no easy way to fix it.
Line 115:
|quote= drivers designed for binary only Linux RAID management tools
}}</ref>
Circa 2005, this state of affairs prompted [[OpenBSD]] to create and popularise its [[bio(4)]], [[bioctl]] and [[
|url= //marc.info/?l=openbsd-misc&m=112630095818062
|author= [[Theo de Raadt]] |date= 2005-09-09
Line 128:
== Device firmware ==
{{main|Firmware|Microcode}}
[[Firmware]] is the software required by the onboard [[microcontroller]]s that accompany some hardware, is generally not considered to be a binary blob.{{r|kerneltrap/4118|gnu/common-d|p2=BSD|kerneltrap/6497|p3=…|q3=Firmwares are not considered blobs}} In many devices, firmware is stored in [[non-volatile]] onboard [[flash memory]], but to decrease costs and ease upgrades, some devices contain only [[static RAM]] and require the host operating system to upload firmware each time they are connected (especially [[USB]] devices). Although the firmware is thus present in the operating system driver, it is merely copied to the device and not executed by the CPU, removing concerns about extra security flaws compared to what's already possible with a [[DMA attack]] even if the firmware was already stored within the device at all times. The OpenBSD project accepts binary firmware/[[microcode]] images and will redistribute these images if the license permits;<ref name="kerneltrap/4118">{{cite web |title=OpenBSD Works To Open Wireless Chipsets |date=November 2, 2004 |publisher=KernelTrap |url=http://kerneltrap.org/node/4118 |accessdate=2006-06-23 |url-status=dead |archiveurl=https://web.archive.org/web/20060620051155/http://kerneltrap.org/node/4118 |archivedate=2006-06-20 }}</ref><ref>{{cite web |url= http://openbsd.su/src/sys/dev/microcode/ |title=/sys/dev/microcode/ |work= [[OpenBSD]] }}</ref> if free and unconditional redistribution is not permitted by the vendor, the machine instructions on fetching these images may be provided in the [[OpenBSD ports|ports]] tree (which precludes some encumbered wireless devices (e.g., Intel Wireless) from being available during the initial install).<ref name=o-ports>{{cite web |url= http://openbsd.su/ports/sysutils/firmware |title=sysutils/firmware |work= [[OpenBSD ports]]}}</ref>
== BIOS and UEFI==
[[File:Coreboot+seaBIOS+on-x60.JPG|thumb|upright|[[SeaBIOS]], an open-source implementation of BIOS, running as coreboot payload on a Lenovo [[ThinkPad]] X60]]
The [[BIOS]], which functions as a [[bootloader]] and supports legacy [[real mode]] applications, is a crucial component of many [[IBM-compatible]] computers. The BIOS is always 16-bit, often has networking functions and can be a security [[Backdoor (computing)|backdoor]].<ref>{{cite web|url=http://www.intel.com/content/www/us/en/architecture-and-technology/vpro/vpro-technology-general.html |title=Intel vPro Technology |publisher=Intel.com |date=2012-05-14 |accessdate=2014-04-10}}</ref><ref>{{cite web|url=https://www.absolute.com/en/partners/bios-compatibility.aspx |title=BIOS & Firmware Compatibility |publisher=Absolute.com |date= |accessdate=2014-04-10}}</ref>{{failed verification|date=April 2014}} In the late 1990s work started on EFI (Extensible Firmware Interface) with the objective to move legacy BIOS to a modern interface with a modular driver model. EFI is closed source and was eventually adopted by many industry leading hardware manufacturers as [[UEFI]] (Unified Extensible Firmware Interface). The EDK (EFI Development Kit) was developed to assist EFI firmware development projects.<ref name="Apress">{{cite book |authors = Vincent Zimmer, Jiming Sun, Marc Jones & Stefan Reinauer |date= 2015 |title= Embedded Firmware Solutions: Development Best Practices for the Internet of Things |publisher= Apress |isbn= 9781484200704 | page = 121}}</ref>
Also in the late 1990s, the [[coreboot]] project was started to create an open source alternative to legacy BIOS from scratch.<ref
== See also ==
Line 156:
{{Reflist|30em|refs=
<ref name="gnu/free-distros">{{cite web
|url= https://www.gnu.org/distros/free-distros.html
|title= List of Free GNU/Linux Distributions
|work= [[GNU Project]] |publisher= [[Free Software Foundation]]
}}</ref>
<ref name="gnu/free-sys-d-g--nonfree-fw">{{cite web
|url= https://www.gnu.org/distros/free-system-distribution-guidelines.html#nonfree-firmware
|title= Nonfree Firmware
Line 167:
|publisher= [[Free Software Foundation]]
}}</ref>
<ref name="gnu/common-d">{{cite web
|url= https://www.gnu.org/distros/common-distros.html
|title= Explaining Why We Don't Endorse Other Systems
|