https://github.com/serverwentdown/tayos
TayOS is a very basic Linux OS named after Isaac Tay
https://github.com/serverwentdown/tayos
busybox initramfs linux script
Last synced: 4 months ago
JSON representation
TayOS is a very basic Linux OS named after Isaac Tay
- Host: GitHub
- URL: https://github.com/serverwentdown/tayos
- Owner: serverwentdown
- Created: 2018-09-09T06:07:02.000Z (over 7 years ago)
- Default Branch: v1
- Last Pushed: 2024-05-04T15:45:06.000Z (over 1 year ago)
- Last Synced: 2025-01-03T15:04:55.568Z (about 1 year ago)
- Topics: busybox, initramfs, linux, script
- Language: Shell
- Homepage: https://makerforce.io/make-your-own-linux/
- Size: 175 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Overview
TayOS is a set of scripts to build a very basic busybox operating system. It was intended for me to
learn more about Linux build tools and the process of building real embedded Linux distributions
like Yocto and Alpine.
# Getting started
For a breakdown of every step, visit the [blog post](https://makerforce.io/make-your-own-linux/) I wrote.
## Environment
```
# Starts a Alpine build environment and fetches our sources
./build-in-docker.sh
```
You may need to prepend sudo to start the Docker container. The subsequent scripts should be run
inside our build environment.
## Kernel
```
# Configure and build the kernel sources
./00-kernel.sh
```
## Busybox
```
# Configure and build Busybox
./01-busybox.sh
```
## Initial Root Filesystem
Take a look inside `rootfs/`. In there is the initalization script `init` that is started after the
kernel loads the initial root filesystem into memory. This script sets up the required virtual
filesystems for a working Linux system (like `/dev`, `/proc`) and then starts the real PID 0 `init`
daemon.
```
# Copies busybox and rootfs/ into a initramfs image
./30-initramfs.sh
```
## Testing
If you have QEMU installed, you can test the image outside of the Docker container.
```
./test-in-qemu.sh
```
You may need to prepend sudo.