Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AgentD/diy-linux-guide
An LFS like guide for cross-bootstrapping a small system for the Raspberry Pi
https://github.com/AgentD/diy-linux-guide
cross-compiler cross-toolchain embedded lfs linux raspberry raspberry-pi raspberrypi rpi
Last synced: 4 months ago
JSON representation
An LFS like guide for cross-bootstrapping a small system for the Raspberry Pi
- Host: GitHub
- URL: https://github.com/AgentD/diy-linux-guide
- Owner: AgentD
- Created: 2020-01-10T17:06:18.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-17T21:07:02.000Z (almost 4 years ago)
- Last Synced: 2024-04-09T10:34:48.001Z (11 months ago)
- Topics: cross-compiler, cross-toolchain, embedded, lfs, linux, raspberry, raspberry-pi, raspberrypi, rpi
- Language: Shell
- Size: 2.47 MB
- Stars: 35
- Watchers: 5
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Building a small Raspberry Pi System from Scratch
What you are looking at right now is a collection of instructions on how to
bootstrap a tiny system for a Raspberry Pi 3 board.We will bootstrap the system by building our own cross compiler toolchain
and then using it to cross compile everything we need for a working Linux
based OS.In contrast to similar guides, I try to explain why we are doing the things
the way we are doing them, instead of just throwing a bunch of copy-paste
command lines around (I'm looking at you, LFS).This guide is divided into the following parts:
* [Basic Setup](00_setup.md). Lists some tools that you should have
installed and walks through the steps of setting up the directory tree that
we work in, as well as a few handy environment variables.
* [Building a cross compiler toolchain](01_crosscc.md).
* [Cross compiling a statically linked BusyBox and the kernel](02_kernel.md).
The BusyBox is packaged into a small initramfs. We will make it boot on the
Rapsberry Pi and explore some parts of the Linux boot process.
* [Building a simple userland](03_basic_usr.md). Mostly a
Linux-From-Scratch-Style walkthrough to building some packages for a simple
GNU userland. The userland is packed into a SquashFS image. The BusyBox
based initrd is modified to mount it and switch into it.