From dbcc3152592f2677c7d73054ca57645199cddc81 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 31 Oct 2023 08:49:34 -0600 Subject: README.building.md: Update build instructions 1. Add meta-virtualization layer dependencies in README.md file as this is required for lopper tool for SDT build flow. 2. Remove machine table list and point to meta layer README. 3. Update build instructions for wic image and setting up tap devices. 4. Add instructions to clone gen-machine-conf repo submodules. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- README.building.md | 82 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 35 deletions(-) diff --git a/README.building.md b/README.building.md index 7ffc1ab3..10c246f9 100644 --- a/README.building.md +++ b/README.building.md @@ -17,13 +17,22 @@ $ cd sources > **Note:** > * *release_branch:* refers to upstream stable release branch. > * *rel-version:* refers to amd xilinx release version. + ``` $ mkdir sources $ git clone -b https://git.yoctoproject.org/poky.git $ git clone -b https://git.openembedded.org/meta-openembedded.git +$ git clone -b https://git.yoctoproject.org/git/meta-virtualization $ git clone -b https://github.com/Xilinx/meta-xilinx.git $ git clone -b https://github.com/Xilinx/meta-xilinx-tools.git ``` +> **Note:** When meta-xilinx layer is cloned using git tool by default it will +> not clone [gen-machine-conf](https://github.com/Xilinx/gen-machine-conf.git) +> repo as submodules, make sure this repo https://github.com/Xilinx/meta-xilinx.git +> is cloned using `--recurse-submodules` option as shown. +> `$ git clone -b https://github.com/Xilinx/meta-xilinx.git --recurse-submodules` +> Skip this step if you are using yocto-manifests https://github.com/Xilinx/yocto-manifests + 3. Initialize a build environment using the `oe-init-build-env` script. ``` $ source poky/oe-init-build-env @@ -39,6 +48,7 @@ $ bitbake-layers add-layer .//meta-openembedded/meta-oe $ bitbake-layers add-layer .//meta-openembedded/meta-python $ bitbake-layers add-layer .//meta-openembedded/meta-filesystems $ bitbake-layers add-layer .//meta-openembedded/meta-networking +$ bitbake-layers add-layer .//meta-virtualization $ bitbake-layers add-layer .//meta-xilinx/meta-microbalze $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-core $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-standalone @@ -55,45 +65,47 @@ $ bitbake-layers add-layer .//meta-xilinx-tools ``` MACHINE = "" ``` -Available target machines are: - -| Device | target machines | -|------------|---------------------| -| MicroBlaze | microblaze-generic | -| | ac701-microblazeel | -| | kc705-microblazeel | -| | kcu105-microblazeel | -| | vcu118-microblazeel | -| Zynq-7000 | zynq-generic | -| | zc702-zynq7 | -| | zc706-zynq7 | -| ZynqMP | zynqmp-generic | -| | zcu102-zynqmp | -| | zcu104-zynqmp | -| | zcu106-zynqmp | -| | zcu111-zynqmp | -| | zcu208-zynqmp | -| | zcu216-zynqmp | -| | zcu670-zynqmp | -| | zcu1275-zynqmp | -| | zcu1285-zynqmp | -| | ultra96-zynqmp | -| Versal | versal-generic | -| | versal-net-generic | -| | vck190-versal | -| | vmk180-versal | -| | vek280-versal | -| | vpk120-versal | -| | vpk180-versal | -| | vhk158-versal | - -6. Build an OS image for the target using `bitbake` command. +* For list of available target machines see meta layer README files. + + * [meta-xilinx-bsp README](https://github.com/Xilinx/meta-xilinx/tree/master/meta-xilinx-bsp#amd-xilinx-evaluation-boards-bsp-machines-files) + * [meta-kria README](https://github.com/Xilinx/meta-xilinx/tree/master/meta-xilinx-bsp#amd-xilinx-evaluation-boards-bsp-machines-files) + +6. For NFS build host system modify the build/conf/local.conf and add TMPDIR + path as shown below. On local storage $TMPDIR will be set to build/tmp +``` +TMPDIR = "/tmp/$USER/yocto/release_version/build" +``` + +7. Modify the build/conf/local.conf file to add wic image to default target + image as shown below. +``` +IMAGE_FSTYPES += "wic" +WKS_FILES = "xilinx-default-sd.wks" +``` + +8. Build the qemu-helper-native package to setup QEMU network tap devices. +``` +$ bitbake qemu-helper-native +``` + +9. Manually configure a tap interface for your build system. As root run + /sources/poky/scripts/runqemu-gen-tapdevs, which should generate a + list of tap devices. Once tap interfaces are successfully create you should + be able to see all the interfaces by running ifconfig command. + +``` +$ sudo .//poky/scripts/runqemu-gen-tapdevs $(id -u $USER) $(id -g $USER) 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin +``` + +10. Build an OS image for the target using `bitbake` command. > **Note:** Refer .//conf/templates/default/conf-notes.txt -> for available target image-name. e.g. core-image-minimal +> for available target image-name. e.g. core-image-minimal or petalinux-image-minimal ``` -$ bitbake +$ bitbake ``` 7. Once complete the images for the target machine will be available in the output directory `${TMPDIR}/deploy/images/${MACHINE}/`. + +8. Follow [Booting Instructions](https://github.com/Xilinx/meta-xilinx/blob/master/README.booting.md) -- cgit v1.2.3-54-g00ecf