Updated the build README.

This commit is contained in:
Storm Dragon 2019-12-12 08:13:52 -05:00
parent 87246c7155
commit e368104914

View File

@ -1,8 +1,8 @@
# F123Light # Stormux
## Build system for F123 on Raspberry Pi 2 and 3 computers ## Build system for Stormux on Raspberry Pi 3 and 4 computers
# Introduction # Introduction
The F123Light build system is a collection of scripts and custom files used to build F123Light images that can be written to a MicroSD card for use on a [Raspberry Pi](https://www.raspberrypi.org/) computer, either model 2 or 3. F123Light on a Raspberry Pi 3 runs in 32-bit mode, because it includes the vendor supplied kernel and boot code, which are said to be more stable than the 64-bit mainline kernel and U-boot at this time. However, with modifications to the package list file used, it is also possible to configure the build system for 64-bit mode if desired. The Stormux build system is a collection of scripts and custom files used to build Stormux images that can be written to a MicroSD card for use on a [Raspberry Pi](https://www.raspberrypi.org/) computer, model 4. Stormux on a Raspberry Pi 4 runs in 32-bit mode, because it includes the vendor supplied kernel and boot code, which are said to be more stable than the 64-bit mainline kernel and U-boot at this time. However, with modifications to the package list file used, it is also possible to configure the build system for 64-bit mode if desired.
# Compatibility # Compatibility
This build system started as an adaptation of the [f123pi](https://github.com/f123/f123pi) build system, but it is largely rewritten for better compatibility and functionality on a wider variety of configurations. The f123pi build system required images to be built using a working Raspberry Pi. This version is capable of building working images on any ARMv7 or later computer running [ArchLinuxARM](https://archlinuxarm.org/). Experimental development builds using this system are currently being performed on a Raspberry Pi 3 and an Odroid C2, but any 32-bit ARM machine using the armv7h architecture or any 64-bit machine using the aarch64 architecture may be used to build F123Light images, as long as the machine is running an ArchLinuxARM compatible OS with the needed packages. On the other hand, images built using this system will only run on the Raspberry Pi 2 and 3, though this build system can certainly be adapted to build images for other devices with little difficulty. This build system started as an adaptation of the [f123pi](https://github.com/f123/f123pi) build system, but it is largely rewritten for better compatibility and functionality on a wider variety of configurations. The f123pi build system required images to be built using a working Raspberry Pi. This version is capable of building working images on any ARMv7 or later computer running [ArchLinuxARM](https://archlinuxarm.org/). Experimental development builds using this system are currently being performed on a Raspberry Pi 3 and an Odroid C2, but any 32-bit ARM machine using the armv7h architecture or any 64-bit machine using the aarch64 architecture may be used to build F123Light images, as long as the machine is running an ArchLinuxARM compatible OS with the needed packages. On the other hand, images built using this system will only run on the Raspberry Pi 2 and 3, though this build system can certainly be adapted to build images for other devices with little difficulty.
# Dependencies # Dependencies
@ -13,11 +13,11 @@ In order to build images using this system, you will need the following Arch pac
* dbus: to set gsettings keys if a graphical desktop is being configured, (a dependency of systemd, installed on most systems) * dbus: to set gsettings keys if a graphical desktop is being configured, (a dependency of systemd, installed on most systems)
The build script will automatically install any dependencies it finds missing. The build script will automatically install any dependencies it finds missing.
# Installation # Installation
No installation beyond the dependencies listed above is required in order to use this build system. Just clone the git repository, cd into the build directory, usually F123Light/build and run the build script as described below. No installation beyond the dependencies listed above is required in order to use this build system. Just clone the git repository, cd into the build directory, usually stormux/build/build and run the build script as described below.
# The Build Directory # The Build Directory
The build directory consists of the following components: The build directory consists of the following components:
* build.sh: the primary automated build script * build.sh: the primary automated build script
* *.conf: contains options used when building images * stormux.conf: contains options used when building images
* package_lists: A directory containing lists of packages that can be installed into an image * package_lists: A directory containing lists of packages that can be installed into an image
* files: A repository of modified files to be copied to an image during the build * files: A repository of modified files to be copied to an image during the build
* scripts: build stage scripts that take options passed into them by build.sh, but can also run separately * scripts: build stage scripts that take options passed into them by build.sh, but can also run separately
@ -35,7 +35,7 @@ The configuration file argument must always be supplied. If not, a usage message
The automated build.sh script takes a configuration file on its command line. At least one configuration file is included in this repository. The automated build.sh script takes a configuration file on its command line. At least one configuration file is included in this repository.
This is a basic example of a configuration file. It is well commented to allow for easy editing and to give an understanding of the available options. This is a basic example of a configuration file. It is well commented to allow for easy editing and to give an understanding of the available options.
# F123Light configuration # Stormux configuration
# The lines below, in key=value format, will set options to be passed to various stages of the image building process. # The lines below, in key=value format, will set options to be passed to various stages of the image building process.
# This file will be sourced by build.sh in the same directory, and can contain anything that a shell can execute. # This file will be sourced by build.sh in the same directory, and can contain anything that a shell can execute.
@ -46,38 +46,38 @@ This is a basic example of a configuration file. It is well commented to allow f
workdir=${PWD}/F123Light workdir=${PWD}/F123Light
#The full path and filename of the Raspberry Pi image file #The full path and filename of the Raspberry Pi image file
imagename="${PWD}/F123Light-MATE-en_US-$(date +%y.%m.%d)-${count}.img" imagename="${PWD}/stormux-$(date +%y.%m.%d).img"
# The size of the image file in MB, for example 8192 will create an 8GB zero-filled image file # The size of the image file in MB, for example 8192 will create an 8GB zero-filled image file
imagesize=7168 imagesize=7168
# The volume label of the FAT32 filesystem on the boot partition - must be <= 11 bytes # The volume label of the FAT32 filesystem on the boot partition - must be <= 11 bytes
bootlabel=F123-boot bootlabel=stormux-boot
# The volume label of the ext4 filesystem on the root partition - must be <= 16 bytes # The volume label of the ext4 filesystem on the root partition - must be <= 16 bytes
rootlabel="F123Light$(date +%y%m%d)${count}" rootlabel="stormux$(date +%y%m%d)${count}"
# Set this on a graphical desktop that uses gsettings: MATE, GNOME, etc. # Set this on a graphical desktop that uses gsettings: MATE, GNOME, etc.
# Remove or comment the line below if the image is to run in text mode with no desktop or window manager, or one that is not compatible with gsettings. # Remove or comment the line below if the image is to run in text mode with no desktop or window manager, or one that is not compatible with gsettings.
gsettings=1 gsettings=1
# The full path to the file listing official packages to be installed to the new system # The full path to the file listing official packages to be installed to the new system
packagelist="${PWD}/package_lists/F123Light/MATE.list" packagelist="${PWD}/package_lists/stormux/MATE.list"
# The full path to the file listing AUR packages to be installed to the new system. # The full path to the file listing AUR packages to be installed to the new system.
aurlist="${PWD}/package_lists/F123Light/fenrir.aur.list" aurlist="${PWD}/package_lists/stormux/fenrir.aur.list"
# The hostname of the new system # The hostname of the new system
hostname=f123light hostname=stormux
# The root password # The root password
rootpass=root rootpass=root
# The name of the regular user # The name of the regular user
username=f123 username=stormux
# The regular user's password # The regular user's password
userpass=f123 userpass=stormux
# The system locale/language # The system locale/language
locale=en_US.UTF-8 locale=en_US.UTF-8