");background-repeat:no-repeat;background-position:100% bottom;background-size:contain}.triangle{--deco-border-width:165vw;position:fixed;z-index:-2;top:0;left:0;height:0;width:0;border-style:solid;border-width:var(--deco-border-width) var(--deco-border-width) 0 0;border-color:#4f51a9 transparent transparent transparent}@media (min-width:52em){.triangle{--deco-border-width:70vw}}@media (min-width:65em){.triangle{--deco-border-width:60vw}}h2,h3,h4{font-family:Egon;font-weight:900;line-height:1;font-size:2rem;text-transform:uppercase}a{cursor:pointer;text-decoration:none}:focus{outline:0}[class*=aspect-ratio-]{display:block;position:relative}[class*=aspect-ratio-]>*{display:block}.aspect-ratio-square{padding-top:100%}.inline-link{text-decoration:underline;font-weight:700}:root{--logo-start-height:7.625rem;--deco-border-start-width:165vw}@media (min-width:52em){:root{--logo-start-height:20rem;--deco-border-start-width:120vw}}@media (min-width:65em){:root{--logo-start-height:26rem;--deco-border-start-width:130vw}}@media (min-width:120em){:root{--deco-border-start-width:110vw}}.js-active .big-logo .logo{height:var(--logo-start-height)}@media (min-width:120em){.js-active .big-logo .logo{transform:translateX(10rem)}}.js-active .big-logo .grid{grid-template-rows:var(--logo-start-height)}.js-active .big-logo .triangle{border-width:var(--deco-border-start-width) var(--deco-border-start-width) 0 0}.sr-only{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.uppercase{text-transform:uppercase}.auto-grid>*+*{margin-top:1em}@supports (display:grid) and (width:min(10px,40px)) and (color:var(--primary)){.auto-grid{--grid-size-save:min(var(--auto-grid-min-size, 16rem), 100%);display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--grid-size-save),1fr));gap:var(--auto-grid-gap-vertical,var(--auto-grid-gap,1rem)) var(--auto-grid-gap,1rem)}.auto-grid>*{margin:unset}}.cluster{overflow:hidden}.cluster>*{display:flex;align-items:center;flex-wrap:wrap;margin:-.25rem}.cluster>*>*{margin:.25rem}@media (min-width:52em){.cluster>*{margin:-.875rem}.cluster>*>*{margin:.875rem}}.double-grid-switcher>*{max-width:18rem}.double-grid-switcher>*+*{margin-top:1em}@supports (display:grid) and (width:min(10px,40px)) and (color:var(--primary)){.double-grid-switcher{--dgs-column-width:Max(
clamp(
(100% / var(--dgs-column-count-l, 4)) - var(--dgs-gap, 1rem),
(var(--dgs-threshold-l, 40rem) - 100%) * 999,
(100% / var(--dgs-column-count-m, 2)) - var(--dgs-gap, 1rem)
),
clamp(
0px,
(var(--dgs-threshold-m, 30rem) - 100%) * 999,
(100% / var(--dgs-column-count-s, 1)) - var(--dgs-gap, 1rem)
)
);display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--dgs-column-width),1fr));gap:var(--dgs-gap-vertical,var(--dgs-gap,1rem)) var(--dgs-gap,1rem)}.double-grid-switcher>*{max-width:unset;margin:unset}}.grid-switcher{--_gs-columns-small:var(--gs-columns-small, 1);--_gs-bp-medium:var(--gs-bp-medium, 25rem);--_gs-columns-medium:var(--gs-columns-medium, 2);--_gs-bp-large:var(--gs-bp-large, 50rem);--_gs-columns-large:var(--gs-columns-large, 4);--_gs-gap:var(--gs-gap, 1rem);display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(clamp(100% / var(--_gs-columns-large) - var(--_gs-gap),(var(--_gs-bp-large) - 100%) * 1000,100% / var(--_gs-columns-medium) - var(--_gs-gap)),(var(--_gs-bp-medium) - 100%) * 1000,100% / var(--_gs-columns-small) - var(--_gs-gap)),1fr));gap:var(--gs-gap-vertical,var(--_gs-gap)) var(--_gs-gap)}.flow>*+*{margin-top:var(--flow-space,1rem)}.grid{position:relative;display:grid;gap:3.5rem 0;min-height:100vh;grid-template-columns:.5rem 1rem 1fr 1rem .5rem;grid-template-rows:auto auto 1fr}.grid .logo{grid-column-start:3;grid-column-end:3}.grid header{grid-column-start:3;grid-column-end:3}.grid main{z-index:999;grid-column-start:2;grid-column-end:-1}.grid footer{grid-column-start:3;grid-column-end:3}@media (min-width:52em){.grid{grid-template-columns:.5rem minmax(5rem,15.5rem) .5rem minmax(0,62.25rem) minmax(1.75rem,1fr) minmax(0,17.5rem) minmax(1.75rem,1fr)}.grid .logo{grid-column-start:2;grid-column-end:-1}.grid header{grid-column:2;align-self:start}.grid main{grid-column-start:4;grid-column-end:-1;padding-bottom:3rem}.grid footer{grid-column-start:2;grid-column-end:7}}@media (min-width:65em){.grid{grid-template-columns:minmax(1.75rem,1fr) minmax(10rem,17.5rem) 1.75rem minmax(0,62.25rem) minmax(1.75rem,1fr) minmax(0,17.5rem) minmax(1.75rem,1fr)}}@media (min-width:120em){.grid{grid-template-columns:minmax(1.75rem,1fr) minmax(10rem,27.5rem) 2rem minmax(0,62.25rem) minmax(2rem,1fr) minmax(0,27.5rem) minmax(1.75rem,1fr)}}.switcher>*{display:flex;flex-wrap:wrap;justify-content:var(--switcher-justification,flex-start);margin:-.5rem;margin:calc(var(--switcher-gap-vertical,var(--switcher-gap,1rem))/ 2 * -1) calc(var(--switcher-gap,1rem)/ 2 * -1)}.switcher>*>*{flex-grow:1;flex-basis:calc((var(--switcher-threshold,30rem) - (100% - var(--switcher-gap,1rem))) * 999);margin:.5rem;margin:calc(var(--switcher-gap-vertical,var(--switcher-gap,1rem))/ 2) calc(var(--switcher-gap,1rem)/ 2)}.button{display:inline-block;padding:1rem;font-size:1rem;border-radius:.375rem;font-weight:700;line-height:1;text-transform:uppercase;color:#fff;background:#f96360}.button:hover{background:#000;color:#fff}.button:focus-visible{outline:2px dashed #fff;outline-offset:-5px}.button--secondary{background:#4f51a9}.button--white{background:#fff;color:#f96360}.button--white:focus-visible{outline-color:#f96360}@media (min-width:52em){.button{padding:1.5rem;font-size:1.125rem}}.button--slim{padding:1rem}.btn-cluster .button:nth-of-type(2n){background:#4f51a9;color:#fff}.btn-cluster .button:nth-of-type(2n):hover{background:#000}.event-landing .event-teaser{position:relative;padding:1rem;border:5px solid #f96360;display:flex;flex-direction:column;align-items:flex-start;border-radius:.75rem;max-width:30rem}.event-landing .event-teaser:hover{border-color:#4f51a9}.event-landing .event-teaser:hover .button{background-color:#4f51a9}.event-landing .event-teaser__text{margin-bottom:.5rem}.event-landing .event-teaser__link{position:absolute;left:0;top:0;right:0;bottom:0}.event-landing .button{margin-top:auto}footer{padding:.875rem;display:flex;flex-wrap:wrap;gap:1rem 5rem;align-items:center;justify-content:center;margin-top:auto;text-align:left}footer a:focus-visible{border:2px dashed #4f51a9;padding:.25rem}footer .nav-icons>ul{display:flex}footer .nav-icons>ul>*+*{margin-left:1rem}footer .nav-icons ul{list-style-type:none}footer .nav-icons svg{color:#000;height:1.5rem;width:1.5rem}footer .nav-icons svg:hover{color:#f96360}@media (min-width:52em){footer{text-align:right;flex-direction:row;justify-content:space-between}footer .nav-icons{display:none}}.header{position:static;border-top:3px solid #fff;z-index:9}@media (min-width:52em){.header{position:sticky;border:none;top:calc(7.625rem + 3.5rem)}}@media (min-width:120em){.header{top:calc(12.625rem + 3.5rem)}}.logo{padding-top:1.75rem;position:static;top:0;z-index:9;align-self:top}@media (min-width:52em){.logo{position:sticky;height:7.625rem}.logo h1{height:100%;display:inline-block}.logo h1 img{height:100%;width:auto}}@media (min-width:120em){.logo{height:12.625rem}}.main-nav{margin-left:0;font-weight:700}.main-nav__list{min-width:100%}.main-nav ul{list-style-type:none;display:flex;flex-wrap:wrap;margin-top:1.125rem;gap:.75rem 1rem;max-width:max-content}.main-nav ul li:hover a{border-bottom:2px solid #f96360}.main-nav ul a:focus-visible{outline:2px dashed #f96360;outline-offset:.25rem}.main-nav ul a[aria-current=page],.main-nav ul a[data-state=active]{border-bottom:2px solid #f96360}.main-nav .nav-icons svg{display:none}@media (min-width:52em){.main-nav{margin-left:5.625rem}.main-nav .main-nav__list{display:block}.main-nav .main-nav__list>*+*{margin-top:1.125rem}.main-nav .nav-icons{max-width:max-content;display:flex;align-items:center;border-top:1px solid #fff;justify-content:flex-start;gap:1rem;padding-top:1.125rem}.main-nav .nav-icons svg{display:block;width:1.5rem;height:1.5rem;color:#fff}.main-nav .nav-icons svg:hover{color:#f96360}}@media (min-width:65em){.main-nav{margin-left:5.625rem}}@media (min-width:120em){.main-nav{margin-left:10.625rem}}.panel{padding:1.75rem;padding-right:calc(1.75rem + .5rem)}.panel__content{max-width:60rem}.panel__content .panel__headline+*{margin-top:1.75rem}@media (min-width:52em){.panel{padding:3.5rem}}.polaroid{background:#fff;padding:.5rem;box-shadow:0 0 30px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.1);position:relative;max-width:500px;min-height:100%;transition:box-shadow .4s ease-out,z-index 0s .4s linear;position:relative;z-index:0}.polaroid img{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.polaroid figcaption{padding:.25em;position:relative}.polaroid figcaption::before{content:"—";position:absolute;color:#f96360;font-weight:700}.polaroid figcaption span{padding-left:1.125rem;display:block}.polaroid--logo img{width:80%;height:80%;top:10%;left:10%;object-fit:contain}.polaroid--linked:focus-within,.polaroid--linked:hover{box-shadow:0 0 70px rgba(0,0,0,.8),0 8px 6px rgba(0,0,0,.1);transition:box-shadow .4s ease-out,z-index 0s 0s linear;z-index:2}.polaroid a:focus-visible img{outline:2px dashed #000;outline-offset:15px}details>summary:first-of-type{display:list-item;counter-increment:list-item 0;list-style:inside disclosure-closed}.plain-html h2{font-size:1.75rem}@media (min-width:52em){.plain-html h2{font-size:3.5rem}}@media (min-width:65em){.plain-html h2{font-size:4.5rem}}.plain-html h3{font-size:1.125rem;--flow-space:1.75rem}@media (min-width:52em){.plain-html h3{font-size:1.5rem}}@media (min-width:65em){.plain-html h3{font-size:2rem}}.plain-html p+h2,.plain-html p+h3{--flow-space:2rem}@media (min-width:65em){.plain-html p+h2,.plain-html p+h3{--flow-space:3.5rem}}.plain-html ul+h3{--flow-space:2rem}@media (min-width:65em){.plain-html ul+h3{--flow-space:3.5rem}}.plain-html h2+p,.plain-html h3+p{--flow-space:0.5rem}@media (min-width:65em){.plain-html h2+p,.plain-html h3+p{--flow-space:1rem}}.plain-html h4{font-size:1.125rem;--flow-space:1.75rem}@media (min-width:65em){.plain-html h4{font-size:1.5rem}}.plain-html li,.plain-html p{font-size:1.125rem}@media (min-width:65em){.plain-html li,.plain-html p{font-size:1.75rem}}.plain-html--on-primary{color:#fff}.plain-html ul li{list-style-position:inside}.plain-html hr{border:none;border-top:2px solid #000}.plain-html a:not(.button){color:#f96360}.plain-html a:not(.button):hover{color:#4f51a9}.plain-html a.inline-btn:hover{color:#fff}.workstreams .project-teaser{--clip-width:3.125rem;--hover-color:#4f51a9;position:relative;padding:2rem;border:5px solid #f96360;display:flex;flex-direction:column;align-items:flex-start;clip-path:polygon(0 var(--clip-width),0 100%,100% 100%,100% 0,var(--clip-width) 0)}.workstreams .project-teaser::before{position:absolute;width:0;height:0;border-style:solid;border-width:calc(var(--clip-width) + 8px) calc(var(--clip-width) + 8px) 0 0;border-color:var(--hover-color) transparent transparent transparent;left:-5px;top:-5px;position:absolute}.workstreams .project-teaser:hover{border-color:var(--hover-color);z-index:999}.workstreams .project-teaser:hover .button{background-color:#4f51a9;color:#fff}.workstreams .project-teaser:hover::before{content:""}.workstreams .project-teaser__text{margin-bottom:1rem}.workstreams .project-teaser__image{position:absolute;right:2rem;bottom:2rem;width:3rem}.workstreams .project-teaser__link{position:absolute;left:0;top:0;right:0;bottom:0}.workstreams .button{margin-top:auto}.workstream{position:relative;gap:2rem;display:flex;flex-direction:column}@media (min-width:80em){.workstream{display:grid;grid-template-columns:minmax(0,1fr) 22rem;padding-right:0}}.workstream .program{position:sticky;top:1rem;right:-2rem;align-self:start;max-width:25rem}.projects .project-teaser{--clip-width:3.125rem;--hover-color:#4f51a9;position:relative;padding:2rem;border:5px solid #f96360;display:flex;flex-direction:column;align-items:flex-start;clip-path:polygon(0 var(--clip-width),0 100%,100% 100%,100% 0,var(--clip-width) 0)}.projects .project-teaser::before{position:absolute;width:0;height:0;border-style:solid;border-width:calc(var(--clip-width) + 8px) calc(var(--clip-width) + 8px) 0 0;border-color:var(--hover-color) transparent transparent transparent;left:-5px;top:-5px;position:absolute}.projects .project-teaser:hover{border-color:var(--hover-color);z-index:999}.projects .project-teaser:hover .button{background-color:#4f51a9;color:#fff}.projects .project-teaser:hover::before{content:""}.projects .project-teaser__text{margin-bottom:1rem}.projects .project-teaser__image{position:absolute;right:2rem;bottom:2rem;width:3rem}.projects .project-teaser__link{position:absolute;left:0;top:0;right:0;bottom:0}.projects .button{margin-top:auto}.project-cards{background:#fff;padding:1.75rem;box-shadow:0 0 30px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.1);position:relative;transition:box-shadow .4s ease-out,z-index 0s .4s linear}@media (any-pointer:fine) and (any-hover:hover){.project-cards:hover{box-shadow:0 0 70px rgba(0,0,0,.8),0 8px 6px rgba(0,0,0,.1);transition:box-shadow .4s ease-out,z-index 0s 0s linear;z-index:2}}.project-cards__info{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.125rem 2rem}.project-cards__info dl{flex-grow:1;flex-basis:30ch}.project-cards__info dl dt{text-align:center}.project-cards__info dl dd{font-size:clamp(1rem,.833rem + .74vw,1.5rem)}.project-cards__info-img{width:min(12.25rem,100%);max-height:10rem;height:auto}.project-cards__link{position:absolute;inset:0}
Open-Source Firmware Projects We are here to support open-source firmware projects. If you are interested in joining the Open-Source Firmware Foundation, feel free to contact us via contact@osfw.foundation .
Supported By Us barebox is a free bootloader and bring-up toolkit for embedded systems that focuses on interoperability and compatibility with Linux. Key strengths are Linux-compatible driver frameworks and a UNIX-like environment in the preboot stage. The Converged Security Suite (CSS) is a set of open-source tooling to provision and test security related features in the firmware. The CSS implements all necessary tools for Intel platform security features. coreboot is an extended firmware platform that delivers a lightning fast and secure boot experience on modern computers and embedded systems. As an Open Source project it provides auditability and maximum control over technology. The go-tcg-storage is a go library for interfacing TCG Storage and Security Subsystem Class (SSC) functions on storage devices. Currently it supports the following TCG standards: Core, Opal 2.0, Enterprise and Ruby. LinuxBoot is a firmware for modern servers that replaces specific firmware functionality like the UEFI DXE phase with a Linux kernel and runtime. The Linux Vendor Firmware Service is a hub for hardware vendors to distribute firmware. It's used by all major Linux distributions as a source of firmware updates. u-bmc is a linux os distribution that is fully open-source and tailor-made for baseboard management controllers. u-bmc, like LinuxBoot, sacrifices classical industry compatibility in order to offer a solution that is genuinely tailored for the mission. Not Affilated Projects OpenBMC is a Linux distribution for management controllers used in devices such as servers, top of rack switches or RAID appliances. It uses Yocto, OpenEmbedded, systemd, and D-Bus to allow easy customization for your platform. oreboot is a downstream fork of coreboot, i.e. oreboot is coreboot without 'c'. oreboot is mostly written in Rust, with assembly where needed. oreboot currently only plans to support LinuxBoot payloads. Trusted Firmware provides a reference implementation of secure software for Armv8-A, Armv9-A and Armv8-M. It provides SoC developers and OEMs with a reference trusted code base complying with the relevant Arm specifications. © Open Source Firmware Foundation - All rights reserved.