====== Prepare OpenWRT 23.05.x on Ubuntu 22.04 ====== ===== Prepare The System ===== * This page will cover the preparation work for you to be able to build OpenWRT with the MESHdesk packages included. * The SDK and build process will require ~30-40G of hard drive space. * Install the required packages to ensure the SDK can build the firmware. sudo apt-get update sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl unzip mercurial ==== Location for the SDK ==== * Create the location for the SDK * Our suggestion is to create a folder that will indicate the version of the firmware you'll be building. * You need to do this as a normal Linux user (not root). * Here we create a folder for the **23.05.2** release. # Create the working directory mkdir 23.05.2 # Change to our working directory cd 23.05.2 ===== Checkout the SDK ===== * Do a clean checkout of the OpenWrt repository. git clone https://git.openwrt.org/openwrt/openwrt.git * This repository has various branches. To see which branches are available and which one we are currently set to use, issue the following command. #We may first need to change our directory to the openwrt directory cd openwrt git branch -a #Also to see the tags git tag -l * We will be checking out the **v23.05.2** tag. git checkout v23.05.2 * Confirm that this **v23.05.2** is now checked out. git branch * Update the package feeds. ./scripts/feeds update ===== Install the required packages ===== * Ensure the following packages are installed since they are required by the MESHdesk package. ./scripts/feeds install coova-chilli ./scripts/feeds install luasocket ./scripts/feeds install libuci-lua ./scripts/feeds install curl ./scripts/feeds install -a -p routing ./scripts/feeds install iwinfo ./scripts/feeds install luci ./scripts/feeds install luci-theme-material ./scripts/feeds install mosquitto ./scripts/feeds install lua-mosquitto #For backward compatibility in 23.05 with older Luci libs ./scripts/feeds install luci-compat #Add the iptables translator package to translate iptables to nftables ./scripts/feeds install iptables-nft #Add these Luci packages ./scripts/feeds install luci-lib-nixio ./scripts/feeds install luci-lib-jsonc ./scripts/feeds install luci-lib-json ./scripts/feeds install luci-lib-httpprotoutils ./scripts/feeds install luci-lib-httpclient ./scripts/feeds install luci-lib-base #If you are going to implement OpenVPN tunnels ./scripts/feeds install openvpn-openssl * Everything is now prepared for us to add the MESHdesk package. [[technical:openwrt-meshdesk|OpenWRT 23.05.x with MESHdesk packages]]