Yaboot

Last updated

Yaboot ( yet another boot loader [1] ) is a bootloader for PowerPC-based hardware running Linux. [2] [3]

Contents

History

In 2009, maintenance by Paul Nasrat was handed over to Tony Breeds. [4]

Hardware support

Support includes the New World ROM Macintosh and IBM RS/6000 systems. It does not support the "OldWorld" PowerMacs. [2]

Booting procedure

It is built to run within the Open Firmware layer common to most such systems instead of working as a Mac OS 9 program like its predecessor BootX.

Yaboot is similar to LILO and GNU GRUB. [5] Yaboot uses the following steps to boot: [3]

  1. Yaboot is invoked by Open Firmware
  2. Finds a boot device, boot path and opens boot partition
  3. Opens /etc/yaboot.conf or a command shell
  4. Loads image or kernel and initrd
  5. Executes image

See also

Related Research Articles

BIOS Firmware

In computing, BIOS is firmware used to perform hardware initialization during the booting process, and to provide runtime services for operating systems and programs. The BIOS firmware comes pre-installed on a personal computer's system board, and it is the first software to run when powered on. The name originates from the Basic Input/Output System used in the CP/M operating system in 1975. The BIOS originally proprietary to the IBM PC has been reverse engineered by some companies looking to create compatible systems. The interface of that original system serves as a de facto standard.

Booting Process of starting a computer

In computing, booting is the process of starting a computer. It can be initiated by hardware such as a button press, or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so some process must load software into memory before it can be executed. This may be done by hardware or firmware in the CPU, or by a separate processor in the computer system.

FreeDOS Open source clone of MS-DOS

FreeDOS is a free operating system for IBM PC compatible computers. It intends to provide a complete DOS-compatible environment for running legacy software and supporting embedded systems.

GNU GRUB Boot loader package

GNU GRUB is a boot loader package from the GNU Project. GRUB is the reference implementation of the Free Software Foundation's Multiboot Specification, which provides a user the choice to boot one of multiple operating systems installed on a computer or select a specific kernel configuration available on a particular operating system's partitions.

Pegasos

Pegasos is a MicroATX motherboard powered by a PowerPC 750CXe or PowerPC 7447 microprocessor, featuring three PCI slots, one AGP slot, two Ethernet ports, USB, DDR, AC'97 sound, and FireWire. Like the PowerPC Macintosh counterparts, it boots via Open Firmware.

Old World ROM

Old World ROM computers are the Macintosh (Mac) models that use a Macintosh Toolbox read-only memory (ROM) chip, usually in a socket. All Macs prior to the iMac, the iBook, the Blue and White Power Mac G3 and the Bronze Keyboard (Lombard) PowerBook G3 use Old World ROM, while said models, as well as all subsequent models until the introduction of the Intel-based EFI Models, are New World ROM machines. In particular, the Beige Power Mac G3 and all other beige and platinum-colored Power Macs are Old World ROM machines. In common use, the "Old World" designation usually applies to the early generations of PCI-based "beige" Power Macs, but not the older Motorola 68000-based Macs; however, the Toolbox runs the same way on all three types of machines.

Unified Extensible Firmware Interface Specification that defines a software interface between an operating system and platform firmware

The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware. UEFI replaces the legacy Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatible personal computers, with most UEFI firmware implementations providing support for legacy BIOS services. UEFI can support remote diagnostics and repair of computers, even with no operating system installed.

coreboot

coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and run a modern 32-bit or 64-bit operating system.

Hackintosh Project to run the Mac OS x on non-Apple computers

A Hackintosh is a computer that runs Apple's Macintosh operating system macOS on computer hardware not authorized for the purpose by Apple. "Hackintoshing" began as a result of Apple's 2005 transition to Intel processors, away from PowerPC. Since 2005, Mac computers use the same x86-64 computer architecture as many other desktop PCs, laptops, notebooks and servers, meaning that in principle, the code making up macOS systems and software can be run on alternative platforms with minimal compatibility issues. Benefits cited for "Hackintoshing" can include cost, ease of repair and piecemeal upgrade, and freedom to use customized choices of components that are not available in the branded Apple products. macOS can also be run on several non-Apple virtualization platforms, although such systems are not usually described as Hackintoshes. Hackintosh laptops are sometimes referred to as "Hackbooks". In recent years, Hackintosh has started to become widely spread on AMD Processors, thanks to the website AMD OS X. The popularity is due to the introduction of the powerful AMD Ryzen and Threadripper CPU's.

Apple–Intel architecture Unofficial name used for Macintosh models that use Intel x86 processors

The Apple–Intel architecture, or Mactel, is an unofficial name used for Apple Macintosh personal computers developed and manufactured by Apple Inc. that use Intel x86 processors, rather than the PowerPC and Motorola 68000 ("68k") series processors used in their predecessors or the ARM processors used in their successors. With the change in architecture, a change in firmware became necessary; Apple selected the Intel-designed Extensible Firmware Interface (EFI) as its comparable component to the Open Firmware used on its PowerPC architectures, and as the firmware-based replacement for the PC BIOS from Intel. With the change in processor architecture to x86, Macs gained the ability to boot into x86-native operating systems, while Intel VT-x brought near-native virtualization with Mac OS X as the host OS.

quik is a boot loader designed to start Linux on Apple Macintosh PowerPC systems based on the Old World ROM architecture. It was originally written by Paul Mackerras, and portions of its code were reused in all other Linux boot loaders for PowerPC, including the one known as BootX, which is dependent on the Mac OS. Quik's loader boots from Open Firmware and bypasses the Mac OS entirely. New World ROM systems use yaboot.

Das U-Boot

Das U-Boot is an open-source, primary boot loader used in embedded devices to package the instructions to boot the device's operating system kernel. It is available for a number of computer architectures, including 68k, ARM, Blackfin, MicroBlaze, MIPS, Nios, SuperH, PPC, RISC-V and x86.

The EFIsystem partition or ESP is a partition on a data storage device that is used by computers adhering to the Unified Extensible Firmware Interface (UEFI). When a computer is booted, UEFI firmware loads files stored on the ESP to start installed operating systems and various utilities.

A proprietary device driver is a closed-source device driver published only in binary code. In the context of free and open-source software, a closed-source device driver is referred to as a blob or binary blob. The term usually refers to a closed-source kernel module loaded into the kernel of an open-source operating system, and is sometimes also applied to code running outside the kernel, such as system firmware images, microcode updates, or userland programs. The term blob was first used in database management systems to describe a collection of binary data stored as a single entity.

Kernel-based Virtual Machine Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

Linux startup process is the multi-stage initialization process performed during booting a Linux installation. It is in many ways similar to the BSD and other Unix-style boot processes, from which it derives.

This is an article on the bootloader for Old World PowerPC Macintoshes to boot Linux. For the similarly-named Mac OS X bootloader, see BootX (Apple).

BootX (Apple)

For the similarly-named bootloader that is one of the bootloaders that enables Old World PowerPC Macintoshes to boot native Linux, please see BootX (Linux).

In computing, a device tree is a data structure describing the hardware components of a particular computer so that the operating system's kernel can use and manage those components, including the CPU or CPUs, the memory, the buses and the peripherals.

Buildroot

Buildroot is a set of Makefiles and patches that simplifies and automates the process of building a complete and bootable Linux environment for an embedded system, while using cross-compilation to allow building for multiple target platforms on a single Linux-based development system. Buildroot can automatically build the required cross-compilation toolchain, create a root file system, compile a Linux kernel image, and generate a boot loader for the targeted embedded system, or it can perform any independent combination of these steps. For example, an already installed cross-compilation toolchain can be used independently, while Buildroot only creates the root file system.

References

  1. "First Look at an Apple G4 with the Altivec Processor". Linux Journal . Retrieved 2021-03-26.
  2. 1 2 "penguinppc.org - The New Home of PowerPC Linux". penguinppc.org. 2004-06-16. Archived from the original on 2004-06-16. Retrieved 2021-03-26.
  3. 1 2 Rodriguez, Claudia Salzberg (2005). "8.2.3. PowerPC and Yaboot". The Linux Kernel primer : a top-down approach for X86 and PowerPC architectures. Gordon Fischer, Steven Smolski. Upper Saddle River, NJ: Prentice Hall Professional Technical Reference. ISBN   0-13-118163-7. OCLC   79872126.
  4. Nasrat, Paul (24 May 2009). "Introducing new maintainer" . Retrieved 2021-03-26.
  5. "Encrypt Your Root Filesystem". Linux Journal . Retrieved 2021-03-26.