Ron Minnich
· Summarized
Key takeaways
- Ron Minnich's foundational work spurred the open firmware movement, emphasizing the importance of transparency and community-driven solutions.
- Modern firmware development has become overly complex, requiring a push for simplicity and efficiency reminiscent of early computing practices.
- The Open Compute Project and Intel's Ignition firmware signify a shift towards open standards, enhancing user control over firmware.
- The emergence and success of architectures like risk five offer a promising avenue for developing efficient, open firmware solutions.
- Engaging in open-source efforts fosters innovation, enabling the community to discover new approaches to hardware limitations.
Summary
The Genesis of Open Firmware
The episode kicks off with Ron Minnich, referred to as the 'godfather of open firmware,' discussing his early experiences with hardware and firmware. He reminisces about his time at Sun Microsystems in the early '90s, where he identified the limitations of net boot programs and imagined a better way to integrate the Linux kernel into flash memory. He further elaborates on the challenges he faced with DRAM training codes, explaining how the evolution from older memory types like SDRAM to DDR brought complexity that developers often take for granted. The conversation highlights how Ron's initial ideas led to the creation of LinuxBIOS, igniting the open firmware movement.
The Challenges of Complexity in Firmware
Ron discusses the increasing complexity of modern firmware, particularly with the shift from LinuxBIOS to Coreboot. He notes that while Coreboot made strides in opening up firmware, it has also faced obstacles due to the use of binary blobs that shield vendors from scrutiny, resulting in a loss of transparency. This complexity mirrors trends in software development, where developers increasingly find themselves buried in layers of abstractions. Ron emphasizes the importance of simplicity, drawing parallels to the early days of computing when software was designed to be clean and efficient.
The Future of Firmware: Open Standards and Innovation
The latter half of the discussion revolves around the future of firmware in open-source environments. Ron touches on the importance of the Open Compute Project (OCP) and its newly established goals around open system firmware. He expresses optimism about initiatives like the recent release of Intel's Ignition firmware, which provides a pathway towards more open and user-controlled firmware environments and describes how these developments enable companies to repurpose hardware more efficiently. Ron also discusses the potential of risk five architecture and its ability to support simple, open firmware designs, fundamentally challenging the status quo of reliance on complex systems.
Embracing Risk: Moving Beyond Legacy Systems
The episode concludes with Ron's insights on the limitations of traditional hardware architectures and the emergence of risk five. He discusses how innovative approaches to architecture can alleviate dependence on cumbersome firmware stacks, as was the standard in legacy x86 systems. In addition, Ron highlights the importance of community involvement and open-source collaboration in transforming the future of computing—encouraging a return to simpler models that prioritize efficiency and trust over complexity.
Sponsors
- Oxide Computer Company · Well, bad news. I just got back from a meeting with the attorneys...Oxide Computer Company is building something that should help some people.
Show notes
Some of the highlights of the show include:
- Netboot - Sun Microsystems: https://www.netbsd.org/docs/network/netboot/intro.sun.html https://wiki.gentoo.org/wiki/Sparc/Netboot/de
- PCI - self defining hardware: https://www.pcisecuritystandards.org/pdfs/pci_ssc_quick_guide.pdf
- Dip switches and jumpers: https://www.oreilly.com/library/view/pc-hardware-in/059600513X/ch02s03s05.html
- VA Linux cluster: https://itsfoss.com/story-of-va-linux/ https://en.wikipedia.org/wiki/Geeknet
- Intel L440 motherboard: https://www.ebay.com/c/1079625591
- Autoexec.bat: https://www.computerhope.com/jargon/a/autoexec.htm https://en.wikipedia.org/wiki/AUTOEXEC.BAT
- LinuxBIOS: https://www.linuxjournal.com/article/4888 https://doc.coreboot.org/ https://en.wikipedia.org/wiki/Coreboot
- DRAM training code (DDR): https://blog.asset-intertech.com/test_data_out/2014/11/memory-training-testing-and-margining.html https://github.com/librecore-org/librecore/wiki/Understanding-DDR-Memory-Training
- Eric Biederman: https://www.linuxjournal.com/article/4888 https://en.wikipedia.org/wiki/Linux_namespaces
- Open Source Firmware Conference: https://osfc.io
- Buildroot: https://buildroot.org/
- Source code for cat: https://twobithistory.org/2018/11/12/cat.html https://github.com/coreutils/coreutils/blob/master/src/cat.c
- whereis command: https://linux.die.net/man/1/whereis
- Gentoo: https://www.gentoo.org/
- ChromeOS project & source code: https://www.chromium.org/chromium-os https://opensource.google/projects/chromium-os https://chromium.googlesource.com/
- Gentoo USE flags: https://wiki.gentoo.org/wiki/USE_flag
- Gentoo compiling GCC meme: https://twitter.com/mrtazz/status/674319383951446016
- Rust LLVM: https://rust-lang.github.io/rustc-guide/codegen/updating-llvm.html https://github.com/rust-lang/rust/tree/master/src/rustllvm
- Ken Thompson’s C compiler in plan9: http://doc.cat-v.org/bell_labs/new_c_compilers/
- Reflections on Trusting Trust paper: https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdf
- 1145 computer
- Relay computers: http://relaysbc.sourceforge.net/history.html
- HP 2100: https://en.wikipedia.org/wiki/HP_2100 https://www.hpmuseum.net/exhibit.php?class=3&cat=31
- SR33 paper tape punch in reader: https://en.wikipedia.org/wiki/Teletype_Model_33
- Dr. Nim: https://en.wikipedia.org/wiki/Dr._Nim
- Think-a-Dot: https://www.jaapsch.net/puzzles/thinkadot.htm
- E.S.R Inc: https://en.wikipedia.org/wiki/E.S.R.,_Inc.
- Digi-Comp: https://en.wikipedia.org/wiki/Digi-Comp_II
- Turning Tumble (modern day Dr. Nim): https://www.turingtumble.com/
- ILLIAC: https://en.wikipedia.org/wiki/ILLIAC
- Geniac: https://en.wikipedia.org/wiki/Geniac
- Edmund Berkeley: https://en.wikipedia.org/wiki/Edmund_Berkeley
- Artist in France made a digital clock where the flip flops are LEDs
- Quantum Supremacy: https://ai.googleblog.com/2019/10/quantum-supremacy-using-programmable.html
- Stored-program computer: https://en.wikipedia.org/wiki/Stored-program_computer
- ACPI: https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface
- Plan9: https://9p.io/plan9/ http://doc.cat-v.org/plan_9/ https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs
- Microservices revolution: https://www.infoq.com/articles/microservices-revolution/
- Unix synthetic filesystem: https://en.wikipedia.org/wiki/Synthetic_file_system http://9p.cat-v.org/ http://man.cat-v.org/unix_8th/4/proc
- /dev/tcp
- Rob Pike talk on how to go wrong with naming: https://www.youtube.com/watch?v=5kj5ApnhPAE
- Los Alamos Q cluster: https://www.networkworld.com/article/2338572/los-alamos-builds-largest-infiniband-cluster.html
- VPROC: https://books.google.com/books?id=sr71_M6r3cAC&pg=PA567&lpg=PA567&dq=Vproc&source=bl&ots=Od936MFpvu&sig=ACfU3U3XSlMkeII4fMtpN3QOCRaOkSZJzw&hl=en&sa=X&ved=2ahUKEwjI3d_ZpLnmAhWVoJ4KHQTRD0cQ6AEwCXoECAoQAQ#v=onepage&q=Vproc&f=false
- InfiniBand: https://en...
Follow this show on AudioBrevity and new episodes get summarized for you. Create a free account