Embedded Handbook

From Gentoo Wiki
Jump to:navigation Jump to:search
General topics
Introduction
Creating a cross-compiler
Cross-compiling with Portage
Cross-compiling the kernel
Compiling with qemu user chroot
Frequently asked questions
Emulators
Qemu
Armulator
Hercules
Bootloaders
Das U-Boot
NeTTrom
RedBoot
SH-LILO
Boards
Hammer Board and Nail Board
LANTank
NetWinder
NSLU2
QNAP TurboStation 109/209/409
Marvell Sheevaplug
ACME SYSTEMS Netus G20
Genesi Efika MX
Pandaboard
TrimSlice
BeagleBone
BeagleBone Black
Intel Edison

The Gentoo Embedded Handbook is a collection of community maintained documents providing a consolidation of embedded and SoC knowledge for Gentoo. It aims to cover just about all aspects of getting Gentoo to run on a SoC - from theory, to design, to practice.

General topics

Embedded fundamentals you need before playing with hardware. See individual parts below or the all-in-one-page General topics article.

Introduction
An introduction into the world of embedded, cross-compilers, and dragons.
Creating a cross-compiler
Build a cross-compiler on your machine!
Cross-compiling with Portage
Leverage Portage as a cross-compiling package manager.
Cross-compiling the kernel
Cross-compile a kernel for your system with flair!
Compiling with qemu user chroot
How To compile with QEMU user.
Frequently asked questions
FAQs for Gentoo Embedded.

Emulators

Software emulation of systems can often times be as good (if not better) than the real thing.

Qemu
A generic and open source machine emulator and virtualizer for x86, x86_64, arm, sparc, powerpc, mips, m68k (coldfire), and superh.
SkyEye
ARM embedded hardware simulator.
Armulator
Emulate armnommu/uClinux (no-mmu Linux) in GDB.
Softgun
ARM software emulator.
Hercules
Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator.

Bootloaders

From the obscure to the obscene, we'll cover some of the common bootloaders out there and how to get your feet wet with them.

Das U-Boot
The Universal Bootloader which supports every embedded architecture out there.
NeTTrom
Simple bootloader on NetWinders.
RedBoot
Small bootloader based on eCos which supports every embedded architecture out there.
SH-LILO
Port of LILO to SuperH which tends to be pretty common on that architecture.

Boards

Some boards are fun while others can be a PITA; we'll cover many of the common gotchas with systems out there.

Hammer Board and Nail Board
Little-endian armv4l board.
LANTank
Little-endian SuperH based NAS (using internal IDE) from I-O Data.
NetWinder
Little-endian ARMv4 based network server from Rebel.
NSLU2
Big-endian arm based NAS (using external USB) from Linksys.
QNAP TurboStation 109/209/409
Little-endian ARMv5TE NAS from QNAP.
Marvell Sheevaplug
Little-endian ARMv5TE from Marvell.
ACME SYSTEMS Netus G20
Netus G20 (ARMv5TE) from ACME SYSTEMS
Genesi Efika MX
Little-endian ARMv7-A from Genesi USA.
Pandaboard
Little-endian ARMv7-A from pandaboard.org.
TrimSlice
Little-endian ARMv7-A from Compulab/trimslice.com.
BeagleBone
Little-endian ARMv7-A from Beagleboard.org.
BeagleBone Black
Little-endian ARMv7-A from Beagleboard.org.
NVIDIA Jetson TX2
Little-endian ARMv8-A from NVIDIA.
Intel Edison
Big-endian dual Atom and Quark from Intel.com.
NanoPI Neo 3 + R2S
Rockchip RK3328 IoT device from NanoPI
Pine64 RockPro64
Rockchip RK3399 Single Board Computer from Pine64
Pine64 QuartzPro64 development board
Rockchip RK3588 Single Board Computer from Pine64
Mango Pi MQ-Pro
An (adorable) Allwinner D1(H)-based RISCVGCV SBC
StarFive VisionFive 2
StarFive JH7110 SoC with a quad-core SiFive U74 RISC-V CPU running at 1.5 GHz and an Imagination BXE-4-32 GPU

Beyond

A handbook can only go so far, so here we list resources to go the distance when we can't get you there.

Communication
Gentoo Embedded communication channels.
Contributing
Gentoo Embedded and you: the answer to the ever prevalent "What can I do?" question.
Vendors
Information specific to vendors who wish to help out.
External resources
External references to help you expand your embedded Linux knowledge.

This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Mike Frysinger, Ned Ludd, Robin H. Johnson, Alex Tarkovsky, Alexey Shvetsov, Raúl Porcel, Joshua Saddler on April 28, 2013.
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.