===== Build Firmware ===== To build firmware, you need **Ubuntu 20.04 LTS**. Other distributions may work but are not officially supported. Building firmware directly on a Windows platform is not supported. However, if only a Windows machine is available, we recommend setting up a Linux-based virtual machine. //Note: The following build was tested on Ubuntu 20.04.6 LTS running the 6.17 kernel.// //Note: Please build with non-root privileges!// ---- === Install Packages on Your Computer === To build OpenWrt firmware, you will need several software packages on your host build machine. Let's prepare the build environment based on OpenWrt instructions: https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem sudo apt update sudo apt install build-essential clang flex bison g++ gawk \ gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev \ python3-setuptools rsync swig unzip zlib1g-dev file wget \\ === Get Latest Sources === 1. Get the latest sources from the official OpenWrt upstream main branch and enter the cloned directory: git clone https://github.com/openwrt/openwrt.git cd openwrt

2. ATTENTION! This step is currently highly advised, but will not be needed in the future. The Kiwi DVK firmware is included in the OpenWrt upstream main branch. However, since the main branch is under active development, the firmware currently is not released by OpenWrt and has issues with Ethernet interfaces (no Ethernet link due to dropped packets). To avoid these problems, we recommend using ''git checkout'' to switch to a specific commit that has been tested by our team and confirmed to work correctly on the Kiwi DVK board:

git checkout d324d6f07e687c3d89b0737bef091f9e1d151486 \\ === Build Image === 1. If you are building firmware for the first time, run the following commands to update/install the feeds manually: ./scripts/feeds update -a ./scripts/feeds install -a 2. Enter the configuration menu: make menuconfig 3. Set ''Target System'', ''Subtarget'', and ''Target Profile'' correctly: Target System - Qualcomm Atheros 802.11be WiSoC-s Subtarget - Qualcomm Atheros IPQ95xx Target Profile - 8devices Kiwi-DVK {{:kiwi:kiwi-make-menuconfig.png?800|}} 4. After configuration, proceed to build the firmware: make defconfig download clean world -j16 \\ Note that building OpenWrt firmware takes some time. On a moderate computer, it might take 1 to 3 hours. CPU load during this process is typically close to 100%. The build environment requires approximately 12GB of hard disk space. You should see a build log like this: {{:kiwi:kiwi-build.png?800|}} Once finished, the compiled firmware will be named ''openwrt-qualcommbe-ipq95xx-8devices_kiwi-dvk-squashfs-.bin'' and will be placed in the ''./bin/targets/qualcommbe/ipq95xx'' directory. Both images can be used to upgrade the firmware; however, the *factory* image is used with a TFTP server if the previously flashed firmware is different from the official OpenWrt. See [[kiwi:flash|Flash Firmware]] and [[kiwi:recover|Recover Firmware]] for more information. \\ === Useful Links === * [[http://wiki.openwrt.org/doc/howto/build?s|OpenWrt building (official web page)]]