====== 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]]