Getting started with LinuxBoot Firmware on AArch64 Server
Blemings Labs | Sat 23 Jan 3:45 p.m.–4:05 p.m.
Presented by
-
Naohiro Tamura is a Professional Engineer in the Linux Software Division at Fujitsu Limited.
With a background from BMC and Bare Metal low level C code to application high level functional and logic programming code, he's been consistently working on System and Resource Management Software Development from proprietary to open source project.
2019-present AArch64 Server Project and OpenHPC, LinuxBoot
2017-2019 FaaS Shell Project and CNCF Serverless WG WorkFlow
2014-2017 OpenStack Ironic Bare Metal Provisioning
Abstract
LinuxBoot is one of implementations of Open Systems Firmware (OSF) in Open Compute Project.
The primary goal of OSF is to increase security in Mega Datacenter by making use of Linux as firmware instead of vendor proprietary's.
LinuxBoot consists of Linux Kernel and Initramfs and it can be based on either UEFI PEI, coreboot, U-boot, or Slim Bootloader at this moment.
Linux Kernel requires patch in some cases, and Initramfs can be chosen from either u-root or heads.
If we try LinuxBoot on AArch64 Server defined in ARM SBBR spec, it won't be simple to make Final OS boot from LinuxBoot flashrom since LinuxBoot document is far behind source code and AArch64 implementation is far behind x86_64 as of writing.
This talk discusses LinuxBoot overview, demonstrates to boot CentOS AArch64 from LinuxBoot flashrom in QEMU on x86_64, and finally reveals the biggest and AArch64 peculiar issue we need to solve, that is kernel decompression issue x86_64 doesn't have.
Attendees will get familiar with how to:
- create AArch64 OVMF 32MB Firmware File System
- configure LinuxBoot Kernel and Initramfs
- inject LinuxBoot into AArch64 64MB flashrom
- boot Final OS from local disk
- debug LinuxBoot AArch64 Kernel using QEMU and GDB on x86_64
LinuxBoot is one of implementations of Open Systems Firmware (OSF) in Open Compute Project. The primary goal of OSF is to increase security in Mega Datacenter by making use of Linux as firmware instead of vendor proprietary's. LinuxBoot consists of Linux Kernel and Initramfs and it can be based on either UEFI PEI, coreboot, U-boot, or Slim Bootloader at this moment. Linux Kernel requires patch in some cases, and Initramfs can be chosen from either u-root or heads. If we try LinuxBoot on AArch64 Server defined in ARM SBBR spec, it won't be simple to make Final OS boot from LinuxBoot flashrom since LinuxBoot document is far behind source code and AArch64 implementation is far behind x86_64 as of writing. This talk discusses LinuxBoot overview, demonstrates to boot CentOS AArch64 from LinuxBoot flashrom in QEMU on x86_64, and finally reveals the biggest and AArch64 peculiar issue we need to solve, that is kernel decompression issue x86_64 doesn't have. Attendees will get familiar with how to: - create AArch64 OVMF 32MB Firmware File System - configure LinuxBoot Kernel and Initramfs - inject LinuxBoot into AArch64 64MB flashrom - boot Final OS from local disk - debug LinuxBoot AArch64 Kernel using QEMU and GDB on x86_64