Diality's Embedded Leahi Yocto (ELY) distribution manifest
==========================================================
Introduction
------------
NOTE: \
ELY is based on the Digi Embedded Yocto (DEY)
[Digi's Embedded modules](https://www.digi.com/products/embedded-systems).
The leahi distro includes 3 main repositories
* **manifest** \
**leahi-distro-manifest** \
The current repository which clones all the others.
***This repository.***
* **meta-layer** \
**leahi-meta-layer** \
The repository that contains all the custimisations. \
This repository includes all the modification made to make the base DEY to ELY.
For now all needed is in one place in the folder.
Later This repository going to have two main meta layers.\
* **leahi-meta-bsp** : Board Support Package\
The meta layer to customise the leahi distro for the basic operations.
* **leahi-meta-cyb** : Cybersecurity packages (WIP) \
The meta layer to customise the leahi distro for the security.
* **project** (WIP) \
**leahi-distro-prj** \
This repository includes the build project files.
Including conf folder with bblayer.conf, local.conf, environment setup, and so on.
Installing Diality's Embedded Leahi Yocto (ELY)
-----------------------------------------------
1. Login to the Diality's build server.
```
ssh bruce@192.168.10.161
```
and enter password to login.
2. Download repo to a directory within your path and add execution permissions.
```
$ sudo curl -o /usr/local/bin/repo http://commondatastorage.googleapis.com/git-repo-downloads/repo
$ sudo chmod a+x /usr/local/bin/repo
```
3. Create an installation folder and navigate to that folder:
```
mkdir ~/leahi-distro
cd ~/leahi-distro
```
4. Use repo to download ELY.
```
repo init -u git@bitbucket.org:diality-cloud/leahi-distro-manifest.git
repo sync -j8 --no-repo-verify
```
**For More information** see [Digi Embedded Yocto](https://github.com/digi-embedded/meta-digi).
Setup Diality's Embedded Leahi Yocto (ELY)
------------------------------------------
1. Set the build environment
```
. ./mkproject.sh -m meta-leahi -p leahi
```
5. Add required packages
* mkpasswd command
this is required to generate passwords for the added users in build configs.
```
sudo apt install whois
```
* xxxx command
Build Diality's Embedded Leahi Yocto (ELY)
------------------------------------------
```
time screen bitbake ely-image-qt
```
1. *screen* command
Since the build is going to be on the server on the network, and any disconnection will lose the bitbake progress output.
To retrieve the lost connection use screen command to get back the running bitbake progress output.
1.1. list the active screen terminal
if the screen is attahced
```
$ screen -ls
There is a screen on:
5249.pts-0.dvm-linux03 (09/21/2024 08:48:20 PM) (Attached)
1 Socket in /run/screen/S-bruce.
```
if the screen session is not attached
```
$ screen -ls
There is a screen on:
5249.pts-0.dvm-linux03 (09/21/2024 08:48:21 PM) (Detached)
1 Socket in /run/screen/S-bruce.
```
1.2. attach to a lost connection
```
$ screen -r 5249
```
then you should see the output you have lost.
2. *time* command
The time command will let you know that how long the process took.
Restart the build in another terminal or after the build interrupted Diality's Embedded Leahi Yocto (ELY)
-------------------------------------------
On any changes has been made to the manifest tun the following to get the ELY update.
```
time screen bitbake ely-image-qt
```
Update Diality's Embedded Leahi Yocto (ELY)
-------------------------------------------
On any changes has been made to the manifest tun the following to get the ELY update.
```
repo init
repo sync -j8
```
Creat Update Package for Diality's Embedded Leahi Yocto (ELY)
-------------------------------------------------------------
to build an update package run the following
```
time bitbake dey-image-qt-swu -c cleansstate && time bitbake dey-image-qt-swu
```
DRAFT NOTE
manifest: the manifest repo tool uses to clone the required projects/recipes.
-
distro : repo that manifest brings in that include all the layesrs and recipes.
-
manufact: any updatet to the application need to be embedded in the ELY image.
- update.sh: updates the local repo from the local application Project ( for now )
- it may need to change when we use it on the build server
image : the final build of the ELY with scripts to flash the device manually.
- download.sh: downloads the last built images from the build servers.
- fasstboot 0: has to be run on the device to make the mmc available for the flashing.
- ./install_linux_fw_uuu.sh: flashing the board.