All Projects → AgentD → diy-linux-guide

AgentD / diy-linux-guide

Licence: other
An LFS like guide for cross-bootstrapping a small system for the Raspberry Pi

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to diy-linux-guide

Raspberrypi tempmon
Raspberry pi CPU temperature monitor with many functions such as logging, GPIO output, graphing, email, alarm, notifications and stress testing. Python 3.
Stars: ✭ 52 (+100%)
Mutual labels:  rpi, raspberrypi, raspberry
Raspberry-Pi-Dashboard
Web-based dashboard interface to inspect Raspberry Pi hardware and software with no extra software required.
Stars: ✭ 131 (+403.85%)
Mutual labels:  rpi, raspberrypi, raspberry
Gumcp
Web Control Panel for Raspberry Pi
Stars: ✭ 124 (+376.92%)
Mutual labels:  rpi, raspberrypi, raspberry
Rpi23 Gen Image
Advanced Debian "stretch" and "buster" bootstrap script for RPi 0/1/2/3 and QEMU
Stars: ✭ 300 (+1053.85%)
Mutual labels:  rpi, raspberrypi, raspberry
ControlBlockService2
This is the driver for the ControlBlock re.v 2.X, a power switch and input/output/gameapd gadget for the Raspberry Pi
Stars: ✭ 18 (-30.77%)
Mutual labels:  rpi, raspberrypi, raspberry
Linux-System-Info-Webpage
Material Design Dashboard for Linux System Info. Great for RPi and other linux Distros
Stars: ✭ 19 (-26.92%)
Mutual labels:  rpi, raspberrypi
HyperBian
Hyperion pre installed on Raspberry Pi OS Lite
Stars: ✭ 192 (+638.46%)
Mutual labels:  rpi, raspberry
xForth
Experimental Forth cross compiler for tiny devices
Stars: ✭ 53 (+103.85%)
Mutual labels:  embedded, cross-compiler
NR1-UI
Userinterface for Volumio (RaspberryPi) with ssd1322 and ssd1306 oled display, spectrum bargraph, progress bar, LED functions, Standby-functions, 4 Buttons and Rotary Encoder.
Stars: ✭ 29 (+11.54%)
Mutual labels:  raspberrypi, raspberry
TinyChat
💬 Extra small chat client with GUI
Stars: ✭ 15 (-42.31%)
Mutual labels:  raspberrypi, raspberry
rust-crosscompiler-arm
Docker images for Rust dedicated to cross compilation for ARM v6 and more
Stars: ✭ 48 (+84.62%)
Mutual labels:  raspberrypi, cross-compiler
godot-gameshell
Godot export templates and instructions for the GameShell portable game console and other single-board computers
Stars: ✭ 34 (+30.77%)
Mutual labels:  raspberrypi, raspberry
RPi-TELEBOT
Python based Telegram bot to monitor and control the raspberry pi
Stars: ✭ 19 (-26.92%)
Mutual labels:  raspberrypi, raspberry
motor-hat
Node Module to control Adafruits MotorHAT for the RaspberryPi
Stars: ✭ 28 (+7.69%)
Mutual labels:  raspberrypi, raspberry
PiBeacon
Low-cost iBeacon using Raspberry Pi
Stars: ✭ 41 (+57.69%)
Mutual labels:  rpi, raspberrypi
gpio
A RaspberryPi GPIO library written in PHP.
Stars: ✭ 16 (-38.46%)
Mutual labels:  rpi, raspberrypi
griode
Griode + Novation Launchpad + Raspberry Pi = a music instrument!
Stars: ✭ 116 (+346.15%)
Mutual labels:  raspberrypi, raspberry
dd performances
DeepDetect performance sheet
Stars: ✭ 92 (+253.85%)
Mutual labels:  embedded, raspberry
wifi-connect
Easy WiFi setup for Linux devices from your mobile phone or laptop
Stars: ✭ 1,043 (+3911.54%)
Mutual labels:  rpi, raspberrypi
cariboulite
CaribouLite turns any 40-pin Raspberry-Pi into a Tx/Rx 6GHz SDR
Stars: ✭ 785 (+2919.23%)
Mutual labels:  rpi, raspberry

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. 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.
  • Cross compiling a statically linked BusyBox and the kernel. 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. 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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].