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
Pedro Gonçalves fc659cd451 lauv-aux-rpi/test-rpi: add ftdi_sio to modules. 2017-03-30 17:23:40 +01:00
architectures architectures: added arm926ej-s architecture. 2016-04-06 16:00:15 +01:00
docker docker: install file package. 2016-06-14 18:54:37 +01:00
rules rpi-boot-firmware/fs/boot/cmdline: change console dev. 2017-03-30 12:56:21 +01:00
systems lauv-aux-rpi/test-rpi: add ftdi_sio to modules. 2017-03-30 17:23:40 +01:00
utils glued-check-sources: added check for ftp protocol. 2015-12-11 18:32:10 +00:00
.gitignore stamp9g20: added preliminary support for Taskit Stamp9G20. 2016-04-06 16:01:37 +01: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 functions: added ucat() function to cat regular or gzipped files. 2016-03-24 15:22:03 +00:00
mkconfig.bash Bumped version to 2016.05. 2016-05-02 15:55:25 +01:00
mkdisk.bash mkdisk: copy boot files recursively, added support for multiple dtbs. 2016-05-18 12:44:21 +01:00
mkpackage.bash mkpackage: fixed last commit logic. 2016-02-11 17:17:53 +00:00
mksystem.bash GLUED: updated copyrights. 2014-02-02 04:04:03 +00:00
pkrootfs.bash pkrootfs: DTB currently is in root folder. 2016-10-03 17:08:52 +01:00
pktoolchain.bash pktoolchain: added prefix to base folder. 2014-12-14 21:24:44 +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