Knowledge

Binary blob

Source 📝

626: 178:. However, the vast majority of open-source projects make a distinction between binary-only device drivers (blobs) and binary-only firmware (not considered blobs), allowing for certain proprietary firmware to be freely distributed as part of their kernels, and, to the disagreement of some core contributors, also support the use of proprietary device drivers that are distributed externally, providing internal compatibility interfaces for such proprietary drivers and userspace components to work with their system. Projects following this policy include the 556: 234: 2267: 2257: 296:, a version of the Linux kernel that attempts to remove all binary blobs, including sourceless microcode, wrote in 2011: "Linux hasn't been Free Software since 1996, when Mr Torvalds accepted the first pieces of non-Free Software in the distributions of Linux he has published since 1991. Over these years, while this kernel grew by a factor of 14, the amount of non-Free firmware required by Linux drivers grew by an alarming factor of 83." 329: 229:
defends the policy of asking for distribution rights only for microcode firmware. "Once they are distributed... at least the device works." Implying that the alternative would be for the members of his small project to code free firmware themselves in the assembly language of many chipsets, he pleads
400:
Finally, binary blobs can be seen as drawing a line between the portion of the community that believes in free software ideals, rejecting proprietary software, and the portion that sees open source as desirable for purely technical reasons, often lacking a strong opposition to binary blobs "as long
384:
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
396:
Thirdly, using this software would force users to trust vendors or third parties not to put backdoors, spyware or malicious code into the blob. As well, the hardware vendor can decide not to support a given operating system, abandon driver maintenance at any time, or, in the event the company goes
205:
project has a notable policy of not only not accepting any binary device drivers into its source tree, but also officially not supporting any third-party proprietary device driver components on its platform, either; citing not only the potential for undetectable or irreparable security flaws, but
546:
tree (which precludes some encumbered wireless devices (e.g., Intel Wireless) from being available during the initial install). On Microsoft Windows implementations, the microcode binary may be embedded in the SYS / DLL / VXD device driver directly, as opposed to separated microcode file.
276:
that stated "We, the undersigned Linux kernel developers, consider any closed-source Linux kernel module or driver to be harmful and undesirable... We have repeatedly found them to be detrimental to Linux users, businesses, and the greater Linux ecosystem." The Linux kernel maintainer
392:
is not available, the driver cannot be readily improved by its users, cannot be ported to architectures not originally supported, nor adapted to operate for slight variants of the hardware or updated it to be workable in new kernels having the changed API and architecture.
586:
computers. 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
401:
as they work". This fragmentation, and the acceptance of a growing number of proprietary components into Linux, is seen as weakening the ability of the community to resist the trend of manufacturers to increasingly refuse to provide documentation for their binaries.
210:(FSF) is actively campaigning against binary blobs. FSF also considers OpenBSD's policy confusingly worded, as "blobs" in the BSD community refer only to what it considers non-free drivers, and does not apply to proprietary firmware and sourceless microcode. The 532:
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
97:
vendors provide complete technical documentation for their products, operating system developers are able to write hardware device drivers to be included in the operating system kernels. However, some vendors, such as
541:
images and will redistribute these images if the license permits; if free and unconditional redistribution is not permitted by the vendor, the machine instructions on fetching these images may be provided in the
271:
to even consider tying my hands over some binary-only module", and continuing: "I want people to know that when they use binary-only modules, it's THEIR problem." In 2008, 176 Linux kernel developers signed a
606:
architecture coreboot only incorporates the few proprietary binaries that are necessary to provide users with a base level hardware support. A completely open source alternative to BIOS and UEFI is
230:"don't load us up with more tasks." Despite this he favours chipsets that run without firmware and speaks warmly of Asian designs which he describes as slower to market but more mature. 467:
and independently procure Linux-specific binary blobs directly from the hardware manufacturer in order to monitor and service the hardware. Circa 2005, this state of affairs prompted
921:
Only a few recalcitrant vendors remain closed. / ethernet 95% documented 99% working / Open documentation largely due to the effort of one man: Bill Paul
1760: 1618: 1839: 339: 307:
are shipped in binary and are linked against a specific version of the Linux kernel. This makes it very hard to upgrade a kernel version because it may require
2058: 1680: 1897: 413:
is software which allows one operating system to use a binary proprietary device driver written for another operating system. Examples of wrappers are
1829: 599: 738: 1093:
See Christos Zoulas's response to "Is sharing between Free/Open/NetBSD and the Linux kernel a common occurrence? And if so, does it go both ways?"
198:. Some of these projects do provide options for building the system without proprietary firmware, thus excluding sourceless microcode on demand. 2296: 1588: 350: 1849: 1735: 1077: 1834: 1817: 102:, do not provide complete documentation for some of their products and instead provide binary-only drivers. This practice is most common for 2291: 1787: 1685: 451:
Another example is providing compatibility layers so that foreign utilities could be used to service the hardware. Examples include some
1963: 1797: 1770: 1750: 598:
project was started to create an open source alternative to legacy BIOS from scratch. The coreboot developer community organises around
1775: 1725: 1695: 1872: 591:(Unified Extensible Firmware Interface). The EDK (EFI Development Kit) was developed to assist EFI firmware development projects. 442: 1844: 1802: 1745: 107: 863:"Debian packages built from the source package 'firmware-nonfree' - Binary firmware for various drivers in the Linux kernel" 602:
and is led by firmware developers with commit rights. Despite closed source binary firmware having been at the heart of the
2260: 2208: 2138: 1822: 631: 1782: 1675: 1318: 1313: 2163: 2015: 315:, or a combination of these steps, all of which implies that legacy devices will never get the latest Android version. 516:
that accompany some hardware, is generally not considered to be a binary blob. In many devices, firmware is stored in
2078: 1988: 1983: 1546: 1521: 1496: 385:
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.
368: 537:
even if the firmware was already stored within the device at all times. The OpenBSD project accepts binary firmware/
1807: 1715: 1051:
If the kernel is compiled with the COMPAT_LINUX option, or the aacraid_linux.ko and linux.ko modules are loaded...
2073: 1905: 1812: 1366: 1652: 1009:
If the kernel is compiled with the COMPAT_LINUX option, or the aac_linux.ko and linux.ko modules are loaded...
2168: 2063: 1887: 1877: 1661: 1612: 1606: 1419: 1154: 963: 27: 2234: 2088: 1882: 252: 115: 916: 2196: 2103: 1938: 73: 2093: 1978: 1755: 650: 304: 282: 83: 1592: 1337: 2228: 2143: 2128: 57: 1081: 2223: 2020: 1973: 1958: 1910: 1720: 1323: 1216: 943: 611: 311:, reimplementing the proprietary device drivers as free software, creating and debugging wrappers, 244: 207: 143: 103: 788: 713: 528:
and require the host operating system to upload firmware each time they are connected (especially
343:
that states a Knowledge editor's personal feelings or presents an original argument about a topic.
2306: 1356: 2270: 2158: 2005: 1968: 1867: 1103: 660: 640: 219: 147: 50: 288:
However, the Linux kernel contains closed-source firmware required by various device drivers.
2133: 1928: 1920: 1859: 1792: 1360: 452: 111: 99: 2218: 2153: 2148: 1710: 1277: 1178: 675: 670: 460: 31: 1394: 862: 8: 2098: 1700: 464: 308: 163: 78: 20: 906: 150:
operating system and will remove all binary blobs when no documentation for hardware or
1645: 1295: 1291: 1269: 665: 278: 195: 53: 2301: 2256: 2178: 2025: 1705: 1542: 1517: 1492: 691: 434: 346: 94: 2311: 1943: 154:
for device drivers and all applicable firmware is available; such projects include
64:, and is sometimes also applied to code running outside the kernel, such as system 61: 1539:
Embedded Firmware Solutions: Development Best Practices for the Internet of Things
1514:
Embedded Firmware Solutions: Development Best Practices for the Internet of Things
1489:
Embedded Firmware Solutions: Development Best Practices for the Internet of Things
1206: 433:. These wrappers allow these operating systems to use network drivers written for 2213: 1536: 1511: 1486: 1299: 884: 680: 562:, an open-source implementation of BIOS, running as coreboot payload on a Lenovo 513: 289: 1630: 933: 2010: 1933: 1609:
on Damien Bergamini's wpi(4) driver, a blobless ipw3945 alternative for OpenBSD
1562: 583: 410: 264: 555: 267:
has made strong statements on the issue of binary-only modules, asserting: "I
2285: 2241: 2202: 2108: 1765: 1690: 1638: 1469: 1390: 1251: 1230: 902: 762: 543: 300: 226: 191: 123: 47: 1464: 281:
has stated that it is illegal to redistribute closed source modules for the
2083: 2040: 1953: 1444: 1038: 910: 739:"How Intel and PC makers prevent you from modifying your laptop's firmware" 521: 517: 480: 422: 312: 260: 239: 233: 215: 179: 206:
also the encroachment onto the openness and freedom of its software. The
114:. Most notably, closed-source drivers are very uncommon for non-wireless 2173: 2000: 1995: 1211: 938: 414: 389: 293: 155: 151: 87: 1621:
by Brian Krebs on the Washington Post's website, archived on May 5, 2012
1128: 837: 487:
monitoring, both of which concepts have subsequently found its way into
218:, clearly marking and separating the non-free packages according to the 1159: 996: 575: 534: 525: 35: 255:, AMD had to constantly adapt the former binary blob used by Catalyst. 2030: 1338:"::[FSFLA]:: Take your freedom back, with Linux-2.6.33-libre" 655: 607: 579: 538: 524:, but to decrease costs and ease upgrades, some devices contain only 504: 438: 118:, which can almost always be configured via standard utilities (like 69: 2068: 1948: 1624: 1273: 813: 792: 717: 685: 645: 595: 563: 509: 500: 381:
There are a number of reasons why binary blobs can be problematic.
175: 171: 119: 65: 1423: 1164: 967: 1449: 1402: 1319:
GNU Project § Free System Distribution Guidelines (GNU FSDG)
1136: 1111: 1046: 1004: 992: 850:
Blobs are vendor-compiled binary drivers without any source code.
845: 817: 559: 468: 456: 426: 248: 214:
project included both free and non-free binary firmware from the
202: 187: 131: 127: 1537:
Vincent Zimmer; Jiming Sun; Marc Jones; Stefan Reinauer (2015).
1512:
Vincent Zimmer; Jiming Sun; Marc Jones; Stefan Reinauer (2015).
1487:
Vincent Zimmer; Jiming Sun; Marc Jones; Stefan Reinauer (2015).
885:"Почему так важно иметь документацию по программированию железа" 488: 476: 472: 430: 211: 183: 167: 1615:
with Jonathan Gray and Damien Bergamini regarding binary blobs
2035: 1058: 418: 159: 1378:
drivers designed for binary only Linux RAID management tools
1306: 1148: 1146: 588: 571: 484: 340:
personal reflection, personal essay, or argumentative essay
397:
out of business, leave the driver completely unsupported.
1016: 603: 529: 445: 1143: 990: 882: 1179:"Protest against ATI nearly led to the arrest of RMS" 1681:
Comparison of open-source and closed-source software
814:"Chromium suddenly starts downloading a binary blob" 714:"Coreboot: Replacing Intel's Binary Video BIOS Blob" 621: 1348: 964:"Interview with Jonathan Gray and Damien Bergamini" 919:. Courtyard Venice Airport, Venice/Tessera, Italy. 2049: 1619:The Black Hat Wireless Exploit Interview, Verbatim 1414: 1412: 1290: 1268: 1096: 957: 955: 953: 1660: 1369:. Courtyard Venice Airport, Venice/Tessera, Italy 1362:Driver Architecture and Implementation in OpenBSD 1015:"aac -- Adaptec AdvancedRAID Controller driver". 997:"aac(4) — Adaptec AdvancedRAID Controller driver" 2283: 1589:"Researchers hack Wi-Fi driver to breach laptop" 1296:"Myths, Lies, and Truths about the Linux kernel" 1057:"aacraid -- Adaptec AACRAID Controller driver". 1039:"aacraid(4) — Adaptec AACRAID Controller driver" 926: 1625:A creative example of the value of free drivers 1409: 1395:"RAID management support coming in OpenBSD 3.8" 1207:"Explaining Why We Don't Endorse Other Systems" 1201: 1199: 1197: 1195: 950: 786: 711: 1422:. KernelTrap. November 2, 2004. Archived from 1274:"A position statement on Linux Kernel Modules" 789:"Raspberry Pi GPU Driver Turns Out To Be Crap" 736: 1646: 1389: 1354: 1036: 901: 582:applications, is a crucial component of many 222:. As of Debian 6.0 those blobs were removed. 130:attributes this to the work done by a single 1686:Comparison of source-code-hosting facilities 1383: 1192: 1123: 1121: 1069: 1032: 1030: 876: 1653: 1639: 1357:"Page 26: Only open for business: FreeBSD" 895: 274:Position Statement on Linux Kernel Modules 1482: 1480: 1420:"OpenBSD Works To Open Wireless Chipsets" 1181:. Free Software Foundation. 27 April 2006 1118: 1027: 811: 369:Learn how and when to remove this message 1586: 1104:"build/options/WITHOUT_SOURCELESS_UCODE" 986: 984: 830: 554: 512:is the software required by the onboard 483:concepts as an alternative solution for 232: 1457: 1152: 961: 146:-approved projects strive to provide a 2297:Pejorative terms related to technology 2284: 1565:. Free Software Foundation. 2006-11-29 1477: 1075: 934:"List of Free GNU/Linux Distributions" 237:The proprietary Linux graphic driver, 16:Software published only in binary code 1634: 981: 883:Constantine A. Murenin (2006-12-10). 2209:Microsoft Open Specification Promise 632:Free and open-source software portal 465:Linux compatibility layer in FreeBSD 322: 137: 2292:Free software culture and documents 1676:Alternative terms for free software 404: 283:GNU General Public License-licensed 13: 2016:Python Software Foundation License 1587:McMillan, Robert (June 21, 2006). 494: 251:. As there is no stable in-kernel 14: 2323: 2079:Definition of Free Cultural Works 1696:Free software project directories 1580: 1129:"3.8: "Hackers of the Lost RAID"" 907:"Page 11: The hardware: ethernet" 2266: 2265: 2255: 1716:Open-source software development 1231:"Debian firmware-linux packages" 1163:, Jeremy Andrews, archived from 966:. kerneltrap.org. Archived from 624: 550: 327: 2074:Debian Free Software Guidelines 1906:Free Software Movement of India 1555: 1530: 1505: 1437: 1367:OpenCON 2006, 2–3 December 2006 1330: 1284: 1262: 1244: 1223: 1171: 917:OpenCON 2006, 2–3 December 2006 912:Open Documentation for Hardware 46:. The term usually refers to a 1153:Andrews, Jeremy (2006-05-02), 962:Andrews, Jeremy (2006-04-19). 855: 805: 787:Michael Larabel (2012-10-24). 780: 755: 730: 712:Michael Larabel (2012-08-06). 705: 1: 2064:Contributor License Agreement 1878:Open-source-software movement 1662:Free and open-source software 737:Chris Hoffmann (2015-02-13). 698: 471:to create and popularise its 116:network interface controllers 28:free and open-source software 2235:The Cathedral and the Bazaar 2089:The Free Software Definition 1355:Jonathan Gray (2006-12-02). 1076:Matzan, Jem (15 June 2005). 610:, which was promoted by the 594:Also in the late 1990s, the 225:For OpenBSD, project leader 86:to describe a collection of 7: 2139:Mozilla software rebranding 2104:Permissive software license 1591:. InfoWorld. Archived from 1080:. NewsForge. Archived from 617: 318: 108:wireless networking devices 90:stored as a single entity. 84:database management systems 10: 2328: 2144:Proprietary device drivers 2094:The Open Source Definition 1155:"Interview: Theo de Raadt" 1078:"BSD cognoscenti on Linux" 651:Graphics hardware and FOSS 498: 21:Binary large object (BLOB) 18: 2251: 2229:Source-available software 2187: 2129:Digital rights management 2121: 1919: 1896: 1858: 1734: 1668: 2224:Shared Source Initiative 2021:Shared Source Initiative 1974:Free Software Foundation 1911:Free Software Foundation 1761:Configuration management 1563:"Campaign for Free BIOS" 1324:Free Software Foundation 1217:Free Software Foundation 944:Free Software Foundation 812:Jake Edge (2015-06-17). 688:NSA Binary blob backdoor 612:Free Software Foundation 305:Android operating system 299:Most of the drivers for 208:Free Software Foundation 19:Not to be confused with 2159:SCO/Linux controversies 1491:. Apress. p. 121. 574:, which functions as a 263:development community, 2059:Comparison of licenses 1868:Free software movement 1541:. Apress. p. 65. 1516:. Apress. p. 61. 1037:Achim Leubner (2013). 661:Loadable kernel module 641:Character large object 567: 349:by rewriting it in an 256: 243:, will share the same 220:Debian Social Contract 158:kernel packaging from 2134:License proliferation 1445:"/sys/dev/microcode/" 1133:OpenBSD Release Songs 842:OpenBSD Release Songs 763:"BIOS Freedom Status" 558: 463:would have to enable 236: 2219:Open-source hardware 2154:Proprietary software 2149:Proprietary firmware 1850:Formerly open-source 1845:Formerly proprietary 1711:Open-source software 1613:KernelTrap interview 1278:The Linux Foundation 1060:FreeBSD Manual Pages 1018:FreeBSD Manual Pages 676:Proprietary software 671:Proprietary firmware 578:and supports legacy 461:system administrator 292:, the maintainer of 247:infrastructure with 104:accelerated graphics 38:is referred to as a 34:only available as a 32:proprietary software 2099:Open-source license 1701:Gratis versus libre 1465:"sysutils/firmware" 1108:BSD Cross Reference 1043:BSD Cross Reference 1001:BSD Cross Reference 309:reverse engineering 196:Linux distributions 76:programs. The term 1607:KernelTrap article 1314:"Nonfree Firmware" 1292:Greg Kroah-Hartman 1270:Greg Kroah-Hartman 666:Opaque binary blob 568: 351:encyclopedic style 338:is written like a 279:Greg Kroah-Hartman 257: 122:) out of the box; 82:was first used in 60:of an open-source 26:In the context of 2279: 2278: 2179:Trusted Computing 2169:Software security 2117: 2116: 1798:Operating systems 1706:Long-term support 692:Wireless security 435:Microsoft Windows 388:Secondly, as the 379: 378: 371: 138:Policy by project 95:computer hardware 36:binary executable 2319: 2269: 2268: 2259: 2164:Software patents 2047: 2046: 1959:Creative Commons 1818:Web applications 1655: 1648: 1641: 1632: 1631: 1603: 1601: 1600: 1574: 1573: 1571: 1570: 1559: 1553: 1552: 1534: 1528: 1527: 1509: 1503: 1502: 1484: 1475: 1474: 1461: 1455: 1454: 1441: 1435: 1434: 1432: 1431: 1416: 1407: 1406: 1401:(Mailing list). 1387: 1381: 1380: 1375: 1374: 1352: 1346: 1345: 1334: 1328: 1327: 1310: 1304: 1303: 1288: 1282: 1281: 1266: 1260: 1259: 1248: 1242: 1241: 1239: 1238: 1227: 1221: 1220: 1203: 1190: 1189: 1187: 1186: 1175: 1169: 1168: 1150: 1141: 1140: 1125: 1116: 1115: 1100: 1094: 1092: 1090: 1089: 1084:on 23 March 2006 1073: 1067: 1064: 1053: 1034: 1025: 1022: 1011: 988: 979: 978: 976: 975: 959: 948: 947: 930: 924: 923: 899: 893: 892: 880: 874: 873: 871: 870: 859: 853: 852: 834: 828: 827: 825: 824: 809: 803: 802: 800: 799: 784: 778: 777: 775: 774: 759: 753: 752: 750: 749: 734: 728: 727: 725: 724: 709: 634: 629: 628: 627: 514:microcontrollers 437:by implementing 405:Use via wrappers 374: 367: 363: 360: 354: 331: 330: 323: 242: 112:RAID controllers 62:operating system 2327: 2326: 2322: 2321: 2320: 2318: 2317: 2316: 2282: 2281: 2280: 2275: 2247: 2214:Open-core model 2189: 2183: 2113: 2051: 2045: 1915: 1892: 1854: 1737: 1730: 1664: 1659: 1598: 1596: 1595:on July 2, 2006 1583: 1578: 1577: 1568: 1566: 1561: 1560: 1556: 1549: 1535: 1531: 1524: 1510: 1506: 1499: 1485: 1478: 1463: 1462: 1458: 1443: 1442: 1438: 1429: 1427: 1418: 1417: 1410: 1388: 1384: 1372: 1370: 1353: 1349: 1336: 1335: 1331: 1312: 1311: 1307: 1300:Linux Symposium 1289: 1285: 1267: 1263: 1250: 1249: 1245: 1236: 1234: 1229: 1228: 1224: 1205: 1204: 1193: 1184: 1182: 1177: 1176: 1172: 1151: 1144: 1127: 1126: 1119: 1102: 1101: 1097: 1087: 1085: 1074: 1070: 1056: 1035: 1028: 1014: 989: 982: 973: 971: 960: 951: 932: 931: 927: 900: 896: 881: 877: 868: 866: 861: 860: 856: 836: 835: 831: 822: 820: 810: 806: 797: 795: 785: 781: 772: 770: 761: 760: 756: 747: 745: 735: 731: 722: 720: 710: 706: 701: 696: 681:NSA ANT catalog 630: 625: 623: 620: 600:Stefan Reinauer 553: 507: 499:Main articles: 497: 495:Device firmware 453:RAID controller 407: 375: 364: 358: 355: 347:help improve it 344: 332: 328: 321: 313:binary patching 290:Alexandre Oliva 240:libGL-fglrx-glx 238: 140: 110:, and hardware 24: 17: 12: 11: 5: 2325: 2315: 2314: 2309: 2307:Device drivers 2304: 2299: 2294: 2277: 2276: 2274: 2273: 2263: 2252: 2249: 2248: 2246: 2245: 2238: 2231: 2226: 2221: 2216: 2211: 2206: 2199: 2193: 2191: 2185: 2184: 2182: 2181: 2176: 2171: 2166: 2161: 2156: 2151: 2146: 2141: 2136: 2131: 2125: 2123: 2119: 2118: 2115: 2114: 2112: 2111: 2106: 2101: 2096: 2091: 2086: 2081: 2076: 2071: 2066: 2061: 2055: 2053: 2044: 2043: 2038: 2033: 2028: 2023: 2018: 2013: 2008: 2003: 1998: 1993: 1992: 1991: 1986: 1981: 1971: 1966: 1961: 1956: 1951: 1946: 1941: 1936: 1931: 1925: 1923: 1917: 1916: 1914: 1913: 1908: 1902: 1900: 1894: 1893: 1891: 1890: 1885: 1880: 1875: 1870: 1864: 1862: 1856: 1855: 1853: 1852: 1847: 1842: 1837: 1832: 1827: 1826: 1825: 1815: 1810: 1805: 1800: 1795: 1790: 1785: 1780: 1779: 1778: 1773: 1763: 1758: 1753: 1751:Bioinformatics 1748: 1742: 1740: 1732: 1731: 1729: 1728: 1723: 1718: 1713: 1708: 1703: 1698: 1693: 1688: 1683: 1678: 1672: 1670: 1666: 1665: 1658: 1657: 1650: 1643: 1635: 1629: 1628: 1622: 1616: 1610: 1604: 1582: 1581:External links 1579: 1576: 1575: 1554: 1547: 1529: 1522: 1504: 1497: 1476: 1456: 1436: 1408: 1393:(2005-09-09). 1382: 1347: 1329: 1305: 1283: 1261: 1243: 1222: 1191: 1170: 1142: 1117: 1095: 1068: 1066: 1065: 1026: 1024: 1023: 980: 949: 925: 905:(2016-12-03). 894: 875: 854: 848:. 2006-05-01. 838:"3.9: "Blob!"" 829: 804: 779: 754: 729: 703: 702: 700: 697: 695: 694: 689: 683: 678: 673: 668: 663: 658: 653: 648: 643: 637: 636: 635: 619: 616: 584:IBM-compatible 552: 549: 496: 493: 406: 403: 377: 376: 335: 333: 326: 320: 317: 301:mobile devices 285:Linux kernel. 265:Linus Torvalds 139: 136: 15: 9: 6: 4: 3: 2: 2324: 2313: 2310: 2308: 2305: 2303: 2300: 2298: 2295: 2293: 2290: 2289: 2287: 2272: 2264: 2262: 2258: 2254: 2253: 2250: 2244: 2243: 2242:Revolution OS 2239: 2237: 2236: 2232: 2230: 2227: 2225: 2222: 2220: 2217: 2215: 2212: 2210: 2207: 2205: 2204: 2203:GNU Manifesto 2200: 2198: 2195: 2194: 2192: 2186: 2180: 2177: 2175: 2172: 2170: 2167: 2165: 2162: 2160: 2157: 2155: 2152: 2150: 2147: 2145: 2142: 2140: 2137: 2135: 2132: 2130: 2127: 2126: 2124: 2120: 2110: 2109:Public domain 2107: 2105: 2102: 2100: 2097: 2095: 2092: 2090: 2087: 2085: 2082: 2080: 2077: 2075: 2072: 2070: 2067: 2065: 2062: 2060: 2057: 2056: 2054: 2048: 2042: 2039: 2037: 2034: 2032: 2029: 2027: 2024: 2022: 2019: 2017: 2014: 2012: 2009: 2007: 2004: 2002: 1999: 1997: 1994: 1990: 1987: 1985: 1982: 1980: 1977: 1976: 1975: 1972: 1970: 1967: 1965: 1962: 1960: 1957: 1955: 1952: 1950: 1947: 1945: 1942: 1940: 1937: 1935: 1932: 1930: 1927: 1926: 1924: 1922: 1918: 1912: 1909: 1907: 1904: 1903: 1901: 1899: 1898:Organisations 1895: 1889: 1886: 1884: 1881: 1879: 1876: 1874: 1871: 1869: 1866: 1865: 1863: 1861: 1857: 1851: 1848: 1846: 1843: 1841: 1838: 1836: 1833: 1831: 1828: 1824: 1821: 1820: 1819: 1816: 1814: 1811: 1809: 1806: 1804: 1801: 1799: 1796: 1794: 1793:Office suites 1791: 1789: 1786: 1784: 1781: 1777: 1774: 1772: 1769: 1768: 1767: 1764: 1762: 1759: 1757: 1754: 1752: 1749: 1747: 1744: 1743: 1741: 1739: 1733: 1727: 1724: 1722: 1719: 1717: 1714: 1712: 1709: 1707: 1704: 1702: 1699: 1697: 1694: 1692: 1691:Free software 1689: 1687: 1684: 1682: 1679: 1677: 1674: 1673: 1671: 1667: 1663: 1656: 1651: 1649: 1644: 1642: 1637: 1636: 1633: 1626: 1623: 1620: 1617: 1614: 1611: 1608: 1605: 1594: 1590: 1585: 1584: 1564: 1558: 1550: 1548:9781484200704 1544: 1540: 1533: 1525: 1523:9781484200704 1519: 1515: 1508: 1500: 1498:9781484200704 1494: 1490: 1483: 1481: 1472: 1471: 1470:OpenBSD ports 1466: 1460: 1452: 1451: 1446: 1440: 1426:on 2006-06-20 1425: 1421: 1415: 1413: 1404: 1400: 1396: 1392: 1391:Theo de Raadt 1386: 1379: 1368: 1364: 1363: 1358: 1351: 1343: 1339: 1333: 1325: 1321: 1320: 1315: 1309: 1301: 1297: 1293: 1287: 1279: 1275: 1272:(June 2008). 1271: 1265: 1257: 1253: 1252:"a/lt-binary" 1247: 1232: 1226: 1218: 1214: 1213: 1208: 1202: 1200: 1198: 1196: 1180: 1174: 1167:on 2006-06-03 1166: 1162: 1161: 1156: 1149: 1147: 1139:. 2005-11-01. 1138: 1134: 1130: 1124: 1122: 1114:. 2012-02-04. 1113: 1109: 1105: 1099: 1083: 1079: 1072: 1062: 1061: 1055: 1054: 1052: 1048: 1044: 1040: 1033: 1031: 1020: 1019: 1013: 1012: 1010: 1006: 1002: 998: 994: 987: 985: 970:on 2007-12-11 969: 965: 958: 956: 954: 945: 941: 940: 935: 929: 922: 918: 914: 913: 908: 904: 903:Theo de Raadt 898: 891:(in Russian). 890: 886: 879: 864: 858: 851: 847: 843: 839: 833: 819: 815: 808: 794: 790: 783: 768: 764: 758: 744: 740: 733: 719: 715: 708: 704: 693: 690: 687: 684: 682: 679: 677: 674: 672: 669: 667: 664: 662: 659: 657: 654: 652: 649: 647: 644: 642: 639: 638: 633: 622: 615: 613: 609: 605: 601: 597: 592: 590: 585: 581: 577: 573: 565: 561: 557: 551:BIOS and UEFI 548: 545: 540: 536: 531: 527: 523: 519: 515: 511: 506: 502: 492: 490: 486: 482: 478: 474: 470: 466: 462: 458: 454: 449: 447: 444: 440: 436: 432: 428: 424: 420: 416: 412: 402: 398: 394: 391: 386: 382: 373: 370: 362: 352: 348: 342: 341: 336:This section 334: 325: 324: 316: 314: 310: 306: 302: 297: 295: 291: 286: 284: 280: 275: 270: 266: 262: 254: 250: 246: 241: 235: 231: 228: 227:Theo de Raadt 223: 221: 217: 213: 209: 204: 199: 197: 193: 192:DragonFly BSD 189: 185: 181: 177: 173: 169: 165: 161: 157: 153: 149: 145: 135: 133: 129: 125: 124:Theo de Raadt 121: 117: 113: 109: 105: 101: 96: 91: 89: 85: 81: 80: 75: 71: 67: 63: 59: 55: 52: 49: 48:device driver 45: 41: 37: 33: 29: 22: 2240: 2233: 2201: 2084:Free license 1830:Android apps 1597:. Retrieved 1593:the original 1567:. Retrieved 1557: 1538: 1532: 1513: 1507: 1488: 1468: 1459: 1448: 1439: 1428:. Retrieved 1424:the original 1398: 1385: 1377: 1371:. Retrieved 1361: 1350: 1341: 1332: 1317: 1308: 1286: 1264: 1255: 1246: 1235:. Retrieved 1225: 1210: 1183:. Retrieved 1173: 1165:the original 1158: 1132: 1107: 1098: 1086:. Retrieved 1082:the original 1071: 1059: 1050: 1042: 1017: 1008: 1000: 993:Adaptec, Inc 991:Scott Long; 972:. Retrieved 968:the original 937: 928: 920: 911: 897: 889:Linux.org.ru 888: 878: 867:. Retrieved 857: 849: 841: 832: 821:. Retrieved 807: 796:. Retrieved 782: 771:. Retrieved 769:. 2014-11-12 766: 757: 746:. Retrieved 742: 732: 721:. Retrieved 707: 593: 569: 522:flash memory 518:non-volatile 508: 481:sensor drive 459:, where the 450: 423:Project Evil 408: 399: 395: 387: 383: 380: 365: 356: 337: 303:running the 298: 287: 273: 268: 261:Linux kernel 258: 224: 216:Linux kernel 200: 180:Linux kernel 141: 92: 77: 72:updates, or 43: 39: 25: 2174:Tivoization 1813:Video games 1788:Mathematics 1212:GNU Project 939:GNU Project 743:pcworld.com 455:drivers in 415:NDISwrapper 390:source code 294:Linux-libre 194:, and most 156:Linux-libre 152:source code 134:developer. 88:binary data 44:binary blob 2286:Categories 2122:Challenges 1840:Commercial 1823:E-commerce 1808:Television 1599:2006-06-23 1569:2007-01-02 1430:2006-06-23 1373:2019-03-27 1237:2010-03-25 1185:2006-10-10 1160:KernelTrap 1088:2006-07-07 974:2008-01-06 869:2010-03-25 823:2015-06-23 798:2015-06-23 773:2015-06-23 748:2015-06-23 723:2015-06-23 699:References 576:bootloader 535:DMA attack 526:static RAM 359:March 2021 2052:standards 2050:Types and 2031:Unlicense 2026:Sleepycat 1860:Community 1627:, LWN.net 1342:fsfla.org 656:LinuxBoot 608:libreboot 580:real mode 539:microcode 505:Microcode 491:as well. 439:Microsoft 106:drivers, 70:microcode 56:into the 2302:Firmware 2271:Category 2188:Related 2069:Copyleft 1989:GNU LGPL 1984:GNU AGPL 1949:Beerware 1944:Artistic 1921:Licenses 1888:Advocacy 1835:iOS apps 1776:Wireless 1771:Graphics 1738:packages 1736:Software 1726:Timeline 1294:(2006). 995:(2000). 793:Phoronix 718:Phoronix 686:ScreenOS 646:Firmware 618:See also 596:coreboot 564:ThinkPad 520:onboard 510:Firmware 501:Firmware 319:Problems 182:itself, 176:LibreCMC 172:Trisquel 164:Parabola 120:ifconfig 74:userland 68:images, 66:firmware 2312:Booting 2197:Forking 1979:GNU GPL 1873:History 1803:Routing 1766:Drivers 1721:Outline 1669:General 1450:OpenBSD 1403:OpenBSD 1256:lwn.net 1137:OpenBSD 1112:FreeBSD 1047:FreeBSD 1005:FreeBSD 846:OpenBSD 818:LWN.net 767:puri.sm 614:(FSF). 560:SeaBIOS 469:OpenBSD 457:FreeBSD 427:FreeBSD 411:wrapper 345:Please 259:In the 249:Mesa 3D 203:OpenBSD 188:FreeBSD 132:FreeBSD 128:OpenBSD 2261:Portal 2190:topics 2011:Python 1934:Apache 1883:Events 1783:Health 1756:Codecs 1545:  1520:  1495:  1233:. 2010 865:. 2010 489:NetBSD 477:bioctl 473:bio(4) 431:NetBSD 421:, and 269:refuse 212:Debian 184:NetBSD 174:, and 168:Devuan 100:Nvidia 58:kernel 54:loaded 51:module 2036:WTFPL 1746:Audio 1399:misc@ 544:ports 419:Linux 160:FSFLA 142:Some 93:When 2041:zlib 1964:CDDL 1939:APSL 1543:ISBN 1518:ISBN 1493:ISBN 589:UEFI 572:BIOS 570:The 503:and 485:RAID 479:and 443:NDIS 429:and 425:for 417:for 201:The 148:free 79:blob 40:blob 2006:MPL 2001:MIT 1996:ISC 1969:EPL 1954:BSD 1929:AFL 604:x86 566:X60 530:USB 446:API 441:'s 253:ABI 245:DRM 144:FSF 126:of 42:or 2288:: 1479:^ 1467:. 1447:. 1411:^ 1397:. 1376:. 1365:. 1359:. 1340:. 1322:. 1316:. 1298:. 1276:. 1254:. 1215:. 1209:. 1194:^ 1157:, 1145:^ 1135:. 1131:. 1120:^ 1110:. 1106:. 1049:. 1045:. 1041:. 1029:^ 1007:. 1003:. 999:. 983:^ 952:^ 942:. 936:. 915:. 909:. 887:. 844:. 840:. 816:. 791:. 765:. 741:. 716:. 475:, 448:. 409:A 190:, 186:, 170:, 166:, 162:, 30:, 1654:e 1647:t 1640:v 1602:. 1572:. 1551:. 1526:. 1501:. 1473:. 1453:. 1433:. 1405:. 1344:. 1326:. 1302:. 1280:. 1258:. 1240:. 1219:. 1188:. 1091:. 1063:. 1021:. 977:. 946:. 872:. 826:. 801:. 776:. 751:. 726:. 372:) 366:( 361:) 357:( 353:. 23:.

Index

Binary large object (BLOB)
free and open-source software
proprietary software
binary executable
device driver
module
loaded
kernel
operating system
firmware
microcode
userland
blob
database management systems
binary data
computer hardware
Nvidia
accelerated graphics
wireless networking devices
RAID controllers
network interface controllers
ifconfig
Theo de Raadt
OpenBSD
FreeBSD
FSF
free
source code
Linux-libre
FSFLA

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.