QSDK supports the premium profile for Linux kernel 4.4.60 support. The QSDK framework is developed using Ubuntu (from version 12.04 to version 16.04) and Debian. However, QSDK framework regenerates critical tools required to compile firmware at build time. Thus, the framework is independent from the host environment. Although it is developed using the listed distributions, it is expected to work on others such as Red Hat, Mint, or Fedora. This command is for older/32-bit Debian/Ubuntu releases; customize it for other distributions: $ sudo apt-get install gcc g++ binutils patch bzip2 flex make gettext pkg-config unzip zlib1g-dev libc6-dev subversion libncurses5-dev gawk sharutils curl libxml-parser-perl ocaml-nox ocaml-nox ocaml ocaml-findlib libpcre3-dev binutils-gold python-yaml libgl1-mesa-dri:i386 ia32-libs-multiarch:i386 libgd2-xpm:i386 ia32-libs-multiarch ia32-libs This command is for Ubuntu 16.04.3 64-bit build hosts: $ sudo apt-get install gcc g++ binutils patch bzip2 flex make gettext pkg-config unzip zlib1g-dev libc6-dev subversion libncurses5-dev gawk sharutils curl libxml-parser-perl ocaml-nox ocaml ocaml-findlib libpcre3-dev binutils-gold python-yaml libgl1-mesa-dri:i386 libgd-dev multiarch-support lib32ncurses5 lib32z1 libssl-dev $sudo apt-get install device-tree-compiler u-boot-tools cd qsdk ./scripts/feeds update -a ./scripts/feeds install -a -f 1.1 Premium 32-bit cp -rf qca/configs/qsdk/ipq_premium.config .config sed -i "s/TARGET_ipq_ipq806x/TARGET_ipq_ipq807x/g" .config make defconfig sed -i -e "/CONFIG_PACKAGE_qca-wifi-fw-hw5-10.4-asic/d" .config make V=s 1.2 Premium 64-bit cp -rf qca/configs/qsdk/ipq_premium.config .config sed -i "s/TARGET_ipq_ipq806x/TARGET_ipq_ipq807x_64/g" .config make defconfig sed -i -e "/CONFIG_PACKAGE_qca-wifi-fw-hw5-10.4-asic/d" .config make V=99 2 Generate a complete firmware image Install mkimage: sudo apt-get install uboot-mkimage Install DTC: sudo apt-get install device-tree-compiler Install libfdt: sudo apt-get install libfdt-dev Install Python 2.7. Switch to the Qualcomm ChipCode directory: $ cd <ChipCode Directory> Copy the flash config files to common/build/ipq Find the single images in the common/build/bin directory. Images are generated for default image content. Fewer images indicates an issue with one of the partition sizes, or that not all required files are present. 32-bit $ cp IPQ8074.ILQ.10.0/common/build/update_common_info.py common/build/update_common_info.py $ cp qsdk/bin/ipq/openwrt* common/build/ipq $ cp -rf qsdk/bin/ipq/dtbs/* common/build/ipq/ $ cd common/build $ sed -i "s/os.chdir(ipq_dir)//" update_common_info.py $ sed '/debug/d;/packages/d;/"ipq807x_64"/d;/t32/d;/ret_prep_64image/d;/Required/d;/skales/d;/nosmmu/d;/os.system(cmd)/d;/os.chdir(ipq_dir)/d' -i update_common_info.py $ export BLD_ENV_BUILD_ID=<profile-name> $ python update_common_info.py (Where <profile-name> is E, P, LM256, LM512, or S). 64-bit $ cp IPQ8074.ILQ.10.0/common/build/update_common_info.py common/build/update_common_info.py $ cp qsdk/bin/ipq/openwrt* common/build/ipq_x64 $ cp -rf qsdk/bin/ipq/dtbs/* common/build/ipq_x64/ $ cd common/build $ sed -i "s/os.chdir(ipq_dir)//" update_common_info.py $ sed '/debug/d;/packages/d;/"ipq807x"/d;/t32/d;/ret_prep_32image/d;/Required/d;/nosmmu/d;/os.system(cmd)/d;/skales/d;/os.chdir(ipq_dir)/d' -i update_common_info.py $ sed -i 's/.\/ipq/.\/ipq_x64/g' update_common_info.py $ sed -i 's/.\/ipq_x64_x64/.\/ipq_x64/g' update_common_info.py $ export BLD_ENV_BUILD_ID=<profile-name> $ python update_common_info.py (Where <profile-name> is E, P, LM512, or S).