1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

UEFI Makes It Easy To Boot Rust Applications

Operating Systems

Published on 20 November 2013 12:16 AM EST
Written by Michael Larabel in Operating Systems
33 Comments

While (U)EFI is frowned upon by many Linux users due to the security disaster known as Secure Boot or other UEFI compatibility problems with running Linux on systems, there are a few benefits.

One of the benefits to UEFI is that it makes it easier to create a bootable application / operating system -- much easier than the BIOS days. Mozilla's Rust programming language can now even be used for booting to such workloads written entirely in the new programming language. Rust is the safe, concurrent language that came out of research at Mozilla and only reached an alpha state in 2012, but is now up to version 0.8 and can host bootable programs.

Eric Holk wrote on his blog about the ease of use in making a bootable system with UEFI. He went on to make a "Hello World" example running off UEFI in this language partially inspired by C.

Eric began his blog post by explaining, "The thing that surprises me most about UEFI is that it now appears possible to boot your machine without ever writing a single line of assembly language. Booting used to require this tedious process of starting out in 16-bit real mode, then transitioning into 32-bit protected mode and then doing it all over again to get into 64-bit mode. UEFI firmwares, on the other hand, will happily load an executable file that you give it and run your code in 64-bit mode from the start. Your startup function receives a pointer to some functions that give you basic console support, as well as an API to access richer features."

Check out his application to learn more about booting with UEFI or the example Rust program that's hosted on GitHub as Boot2Rust.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. AMD's Open-Source Radeon Linux Driver: 2014 Was Incredible
  2. ASRock X99 Extreme3 Is An Affordable Choice For Linux Users
  3. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  4. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
Latest Linux Articles
  1. 2014 Year-End NVIDIA Linux Benchmark Comparison
  2. 2014 Catalyst Linux Graphics Benchmarks Year-In-Review
  3. 17-Way Linux Graphics Card Comparison With Civilization Beyond Earth
  4. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
Latest Linux News
  1. Portable C Compiler 1.1.0 Released (PCC 1.1)
  2. That Peculiar Linux 3.18 Kernel Bug Might Be Closed Soon
  3. The Most Viewed Compiler News & Milestones Of This Year
  4. The Most Significant Linux Gaming Milestones Of 2014
  5. Biggest Linux Kernel Features & Work Of 2014
  6. Valve Optimizations, D3D9 & GL4 Topped Mesa This Year
  7. Minetest 0.4.11 Released As Open-Source Alternative To Minecraft
  8. SPI Hasn't Yet Voted On X.Org As An Associated Project
  9. The Most Controversial Systemd Stories This Year
  10. Mode-Setting Driver Now Supports VBlanks With Present
Latest Forum Discussions
  1. Why is it that Radeon cannot run good old (ancient) Doom 3 engine games?
  2. MONITORed values : possible to force the time interval between two measurements ?
  3. Debian init discussion in Phoenix Wright format
  4. Need some hand holding with upgrading xserver
  5. Aliens vs predator for Linux
  6. FPS capped on Linux (AMD fglrx drivers)
  7. Speeding up systemd networking service
  8. Storm Engine 2 (Doom 3 BFG GPL fork) got entry on IndieDb