From 7e3af51357037c1de06f5c25e748dc860805b136 Mon Sep 17 00:00:00 2001
From: MACIEJ BARZOWSKI <maciej.barzowski@pg.edu.pl>
Date: Tue, 29 Oct 2024 09:59:21 +0100
Subject: [PATCH] Updated README

---
 README.md | 210 +-----------------------------------------------------
 1 file changed, 3 insertions(+), 207 deletions(-)

diff --git a/README.md b/README.md
index bf0ada0..b0d7ad4 100644
--- a/README.md
+++ b/README.md
@@ -4,217 +4,13 @@
 * DE0 Nano SoC board: https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=941
 * Arria10 SoC DevKit board: https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/arria/10-sx.html
 
-## Directory structure
-
-```
-|-- meta-intel-fpga 
-|-- meta-openembedded 
-|-- poky
-|-- meta-fpga-iot
-    |-- conf - Yocto build configuration files directory
-    |-- meta-de0-nano - De0 Nano SoC Kit platform specific recipes
-    |-- meta-a10soc-devkit - Arria10 SoC DevKit platform specific recipes
-    |-- meta-common - common recpies
-    |-- sources - ...
-
-```
-## Yocto building (Kernel, DTS, RootFS)
-Yocto building procedure is based on the one from https://rocketboards.org/foswiki/Documentation/YoctoDoraBuildWithMetaAltera
-Custom layer was added to bring image features flexibility, e.g. adding/removing RootFS contatin, DTS modification depends on platform, etc.
-
-Yocto manual: https://docs.yoctoproject.org/
-
 ### Steps
 Clone project repository:
 
     git clone git@git.pg.edu.pl:p765918/intel_fpga_yocto.git
 
+Select the appropriate branch depending on the board:
 
-Initialize git submodule:
-
-    git submodule update --init --recursive
-
-Select board configuration:
-
-    export TEMPLATECONF=../meta-fpga-iot/meta-de0-nano/conf/
-    or
-    export TEMPLATECONF=../meta-fpga-iot/meta-a10soc-devkit/conf/
-
-Source build environment:
-
-    source poky/oe-init-build-env
-
-Source build environment:
-
-    bitbake fpga-iot-image
-
-#### De0 Nano Board:
-* kernel: [BUILDROOT]/tmp/deploy/images/de0-nano/zImage
-* dtb: [BUILDROOT]/tmp/deploy/images/de0-nano/de0-nano.dtb
-* u-boot: [BUILDROOT]/tmp/deploy/images/de0-nano/u-boot-with-spl.sfp
-* rootfs: [BUILDROOT]/tmp/deploy/images/de0-nano/fpga-iot-image-de0-nano.[ext,jffs2,...]
-* SDMMC image: [BUILDROOT]/tmp/deploy/images/de0-nano/fpga-iot-image-de0-nano.wic
-
-#### Arria10 SoC DevKit Board:
-* kernel: [BUILDROOT]/tmp/deploy/images/a10soc-devkit/zImage
-* dtb: [BUILDROOT]/tmp/deploy/images/a10soc-devkit/a10soc-devkit.dtb
-* u-boot: [BUILDROOT]/tmp/deploy/images/a10soc-devkit/u-boot-splx4.sfp
-* rootfs: [BUILDROOT]/tmp/deploy/images/a10soc-devkit/fpga-iot-image-a10soc-devkit.[ext,jffs2,...]
-* SDMMC image: [BUILDROOT]/tmp/deploy/images/a10soc-devkit/fpga-iot-image-a10soc-devkit.wic
-
-## FPGA image
-FPGA image shall be also added to SDMMC. It will be loaded automatically during boot by U-Boot. U-Boot requires special format for the file: RBF - Raw Binary File, and special name for the file: 'soc_system.rbf' on De0 Nano Board and soc_system.core.rbf for Arria10 SoC DevKit Board. File shall be put in the FAT partition. </br>
-
-### De0 Nano Board:
-
-Convert .SOF to .RBF (folder quartus/output_files):
-
-* Under Windows/Linux: https://www.intel.com/content/www/us/en/docs/programmable/683536/current/single-rbf-conversion-using-the-gui.html
-* Under Linux: `quartus_cpf -o bitstream_compression=on -c soc_system.sof soc_system.rbf`
-
-### Arria10 SoC DevKit Board:
-Convert .SOF to .RBF (folder quartus/output_files):
-* Under Linux: `quartus_cpf --hps -o bitstream_compression=on -c soc_system.sof soc_system.rbf`
-
-Create `fit_spl_fpga.its` file with the following content:
-
-```
-// SPDX-Licence-Identifirt: GPL-2.0
-/*
-* Copyright (C) 2019 Intel Corporation <www.intel.com>
-*
-*/
-
-/dts-v1/;
-/ {
-    description = "FIT image with FPGA bistream";
-    #address-cells = <1>;
-
-    images {
-        fpga-periph-1{
-            description = "FPGA peripheral bitstream";
-            data = /incbin/("soc_system.periph.rbf");
-            type = "fpga";
-            arch = "arm";
-            compression = "none";
-        };
-    };
-
-    configurations {
-        default = "config-1";
-        config-1 {
-            description = "Boot with FPGA early IO release config";
-            fpga = "fpga-periph-1";
-        };
-    };
-
-};
-```
-
-Make image for U-boot:
-
-    mkimage -E -f fit_spl_fpga.its fit_spl_fpga.itb
-
-
-## Updating image on SDMMC
-### De0 Nano Board:
-1. Copy .wic image to sdmmc: 
-* Under Linux (with SDMMC mounted): sudo dd if=image.wic of=/dev/sdX bs=1M iflag=fullblock oflag=direct conv=fsync
-* Under Windows (with SDMMC mounted): use Win32DiskImage or any other available tool
-
-2. Copy soc_system.rbf to sdmmc
-
-### Arria10 SoC DevKit Board:
-1. Copy .wic image to sdmmc: 
-* Under Linux (with SDMMC mounted): sudo dd if=image.wic of=/dev/sdX bs=1M iflag=fullblock oflag=direct conv=fsync
-* Under Windows (with SDMMC mounted): use Win32DiskImage or any other available tool
-
-2. Copy 3 files to sdmmc: `fit_spl_fpga.itb`, `soc_system.core.rbf` and `soc_system.periph.rbf`
-
-3. Rename  `a10soc-devkit.dtb` to `socfpga_arria10_socdk_sdmmc.dtb`
-
-### Under U-Boot:
-* download .wic image to RAM using TFTP using 'tftp'(set up mac address, ip address, tftp server ip address) or 'dhcp'(set up mac address, tftp server ip address) commands
-* write .wic image from RAM to SDMMC: mmc write $loadaddr 0x0 [size of .wic image in blocks], block is 512 bytes size
-
-### Under Linux:
-Some parts (kernel, dtb, fpga) can be also updated under Linux. The following steps shall be taken:
-
-* mkdir /mnt/boot
-* mount /dev/mmcblk0p1 /mnt/boot/
-
-Under /mnt/boot the following images shall be available:
-
-* zImage - Kernel
-* de0-nano.dtb/a10soc-devkit.dtb - Device Tree
-* soc_system.rbf - FPGA Bitstream
-
-It is enought to copy new images there and reboot the system
-
-## Network
-### MAC address
-Boards does not have any EEPROM or ther non-volatile memory except SDMMC. Thius after each SDMMC re-flash need to provision MAC address. To do that please run the follo
-wing command in U-Boot console (replace example MAC address with the right one):
-
-```
-setenv ethaddr 66:55:44:33:22:11
-saveenv
-reset
-```
-
-In case 'ethaddr' avariable is already available and it not possible to override it, please run the following command to bring back enviroment to default state.
-
-```
-env default -a -f
-```
-
-MAC address could be also changed in runtime under Linux. Please be aware that this setting is volatile.
-
-```
-# Change MAC address
-sudo ip link set dev eth0 down
-sudo ip link set dev eth0 address 66:55:44:33:22:11
-sudo ip link set dev eth0 up
-```
-
-To set up non-volatile cofiguration please edit "/etc/systemd/network/00-fpga-iot-eth0.network" file.
-To set up MAC address please add "[Link]" section and MACAddress variable under it (https://wiki.archlinux.org/index.php/MAC_address_spoofing#systemd-networkd), e.g.:
-
-```
-[Link]
-MACAddress=66:55:44:33:22:11
-```
-
-This method has precedence over setting MAC address via U-Boot enviroment variable.
-
-### IP address
-IP address could be changed in runtime under Linux. Please be aware that this setting is volatile.
-
-```
-# Change IP address
-sudo ip addr add 192.168.1.2 dev eth0
-```
-
-To set up non-volatile cofiguration for both IP please edit "/etc/systemd/network/00-fpga-iot-eth0.network" file.
-To set up IP please under "[Network]" section comment DHCP variable and add Address and Gateway variables (https://wiki.archlinux.org/index.php/Systemd-networkd#Wired_adapter_u
-sing_a_static_IP), e.g.:
-
-```
-[Network]
-#DHCP=ipv4
-LinkLocalAddressing=no
-Address=192.168.1.2
-Gateway=192.168.1.1
-```
-
-## Linux
-### Credentials
-
-* user: root
-* pass: fpgai0t
-
-### More users
-In case more userers are required there are two options:
+    DE0 Nano SoC board:       git checkout de0-nano-soc
 
-* additionals users can be added on already deployed system: https://linuxize.com/post/how-to-create-users-in-linux-using-the-useradd-command/
-* users can be added by modification 'EXTRA_USERS_PARAMS' in local.conf.sample
+    Arria10 SoC DevKit board: git checkout aria10
\ No newline at end of file
-- 
GitLab