GNU/Linux Uniform Environment Distribution
This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Diogo Cordeiro c33ae26742 systems: added lctr-a72xx to test cortex-a72 architecture. 2020-09-16 16:20:18 +01:00
architectures architectures/cortex-a72: remove redundant conflicting flags 2020-09-16 16:15:41 +01:00
docker Docker Makefile: added DNS option. 2019-01-15 18:26:25 +00:00
rules ZeroTierOne: Added package rule. 2019-08-17 10:18:44 +01:00
systems systems: added lctr-a72xx to test cortex-a72 architecture. 2020-09-16 16:20:18 +01:00
utils GLUED: Updated Copyright. 2019-02-11 10:50:52 +00:00
.gitignore gitignore: added helper script to ignore. 2019-02-08 20:12:08 +00:00
LICENCE.md Added licence. 2013-07-13 22:48:14 +01:00
README.md README.md: Escaped angle bracket symbol for correct display on GitHub. 2013-09-10 11:07:04 +01:00
functions.bash GLUED: Updated Copyright. 2019-02-11 10:50:52 +00:00
mkconfig.bash GLUED: Updated Copyright. 2019-02-11 10:50:52 +00:00
mkdisk.bash GLUED: Updated Copyright. 2019-02-11 10:50:52 +00:00
mkpackage.bash GLUED: Updated Copyright. 2019-02-11 10:50:52 +00:00
mksystem.bash GLUED: Updated Copyright. 2019-02-11 10:50:52 +00:00
mkupdate.bash GLUED: Updated Copyright. 2019-02-11 10:50:52 +00:00
pkrootfs.bash GLUED: Updated Copyright. 2019-02-11 10:50:52 +00:00
pktoolchain.bash GLUED: Updated Copyright. 2019-02-11 10:50:52 +00:00

README.md

Introduction

GLUED (GNU/Linux Uniform Environment Distribution) is a minimal Linux distribution targeted at embedded systems.

Configuration

The first step to build GLUED for a particular system is to create a configuration file. This configuration file contains details about the system's architecture, packages that will be part of the distribution, network configuration, etc.

To list all available systems issue the following command on a terminal:

./mkconfig.bash list

Once you have identified the name of the system you want to build, issue the following command, replacing <system_name> with the name of that system:

./mkconfig.bash <system_name>

Building

After creating a configuration file, you are ready to compile all the necessary packages.

To start the compilation process, issue the following command:

./mksystem.bash <config_file>

Archives

After the system is compiled you can create archives for distributing, developing or upgrading existing installations.

Toolchain Archive

To create a package containing all the necessary tools to cross-compile C/C++ programs for you target system, issue the following command:

./pktoolchain.bash <config_file>

Root Filesystem Archive

The root filesystem archive contains all files necessary to run a GLUED system. It allows you to upgrade existing GLUED systems and initialize storage devices. To create a root filesystem archive, issue the following command:

./pkrootfs.bash <config_file>

Initializing Storage Devices

Initializing storage devices for GLUED involves:

* Partitioning the storage device
* Creating filesystems
* Populating filesystems
* Installing a bootloader if applicable

To perform all of the previous steps, you must first identify the target block device file and then issue the following command (as root):

./mkdisk.bash <config_file> <block_device>

Example

Building GLUED for the system LAUV Seacon 1 and initializing a compact flash card with the block device file /dev/sdd:

./mkconfig.bash lauv-seacon-1 && ./mksystem.bash lctr-a6xx/lauv-seacon-1.bash && ./pktoolchain.bash lctr-a6xx/lauv-seacon-1.bash && ./pkrootfs.bash lctr-a6xx/lauv-seacon-1.bash && sudo ./mkdisk.bash lctr-a6xx/lauv-seacon-1.bash /dev/sdd