https://github.com/jschlatow/tinycore-remaster
Tools for remastering TinyCore Linux images.
https://github.com/jschlatow/tinycore-remaster
tinycore
Last synced: about 1 year ago
JSON representation
Tools for remastering TinyCore Linux images.
- Host: GitHub
- URL: https://github.com/jschlatow/tinycore-remaster
- Owner: jschlatow
- License: other
- Created: 2021-07-02T14:45:46.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-10-20T12:05:53.000Z (over 3 years ago)
- Last Synced: 2025-03-14T18:08:13.587Z (about 1 year ago)
- Topics: tinycore
- Language: Makefile
- Homepage:
- Size: 21.5 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
This repository provides Makefile-based tools to create customized TinyCore
images aka _appliances_.
# Folders
This repositories contains the following subdirectories:
* [appliances]: contains the build instruction of your appliances
* [mk]: contains the Makefile-based tools `download`, `iso` and `dependencies`
* [downloads]: default download directory for official iso and tcz files
* [share]: contains instructions for building custom initramfs or tcz files
* [archive]: contains static archives
[appliances]: ./appliances/
[mk]: ./mk/
[downloads]: ./downloads/
[share]: ./share/
[archive]: ./archive/
# Usage
To build an appliance for which build instruction already exist, simply run:
```
make app/
```
Here, `` refers to the subdirectory in `./appliances/` which must contain
an `iso.mk` file containing the instructions.
After a successful build, you will find the resulting iso image under
`./build/.iso`.
The `iso.mk` file solely contains a few variable definitions that are used
by the tools in `./mk/` to assemble the iso image. E.g.:
```
BASE_ISO := Core-11.1.iso
CORE_GZ := 11.1/tinycore-novboxguest.gz
EXTRA_INITRDS := 11.1/vboxga5244.gz
APPS(DOWNLOAD) := 11.x/Xorg-7.7 \
11.x/pavucontrol
APPS(ARCHIVE) := i3 \
firefox
APPS(SHARE) := 11.x/audio-vbox \
11.x/uvcvideo
```
`BASE_ISO` and `CORE_GZ` are mandatory. The former specifies what official
TinyCore image shall be used as a basis whereas the latter explicitly states
what initramfs is used.
The `core.gz` file of the base iso will thus be replaced with the specified file.
You can specify an arbitrary number of additional initramfs files in
`EXTRA_INITRDS`.
In the example above, we take a slightly modified initramfs from the TinyCore
iso in which we removed the vboxguest kernel module and add a second initramfs
containing the VirtualBox Guest Additions.
The build instructions for files referenced by `CORE_GZ` and `EXTRA_INITRDS`
are found in `./share/`.
The variables `APPS(DOWNLOAD)`, `APPS(ARCHIVE)` and `APPS(SHARE)` specify what
packages (tcz) shall be loaded on startup.
The packages are searched/built in `./downloads/`, `./archive/` or `./share/`
respectively.
Package dependencies are automatically resolved, downloaded and included in
the iso.
In addition to the definitions in `iso.mk`, one can add a folder `mydata`.
The entire files and folder structure beneath `mydata` will be packaged into
a `mydata.tgz` file that will be copied onto the root file system by TinyCore
on startup.