OpenWRT Build System for CentOS 7: Difference between revisions
| (4 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
==Other Tutorials== | ==Other Tutorials== | ||
*General Guide for building firmware: https://openwrt.org/docs/guide-user/additional-software/beginners-build-guide | *General{{Citation needed}} Guide for building firmware: https://openwrt.org/docs/guide-user/additional-software/beginners-build-guide | ||
**Start of detailed Information: https://openwrt.org/docs/guide-developer/build-system/start | **Start of detailed Information: https://openwrt.org/docs/guide-developer/build-system/start | ||
**Pre-requisites for a : https://openwrt.org/docs/guide-developer/build-system/install-buildsystem | **Pre-requisites for a<span> </span>: https://openwrt.org/docs/guide-developer/build-system/install-buildsystem | ||
**Some additional granular detail for working with specific versions: https://openwrt.org/docs/guide-developer/build-system/use-buildsystem | **Some additional granular detail for working with specific versions: https://openwrt.org/docs/guide-developer/build-system/use-buildsystem | ||
*Build environment tips: https://openwrt.org/docs/guide-developer/env | *Build environment tips: https://openwrt.org/docs/guide-developer/env | ||
| Line 135: | Line 135: | ||
The following interesting observations were made after the above noted event | The following interesting observations were made after the above noted event | ||
*git tag : Lists all "major" and "minor" version branches of OpenWRT available. | *git tag<span> </span>: Lists all "major" and "minor" version branches of OpenWRT available. | ||
**v17.01.0 | **v17.01.0 | ||
**v17.01.0-rc1 | **v17.01.0-rc1 | ||
| Line 165: | Line 165: | ||
**v19.07.4 | **v19.07.4 | ||
*git branch -r : Shows available "major versions" of OpenWRT available. | *git branch -r<span> </span>: Shows available "major versions" of OpenWRT available. | ||
** origin/HEAD -> origin/master | ** origin/HEAD -> origin/master | ||
** origin/lede-17.01 | ** origin/lede-17.01 | ||
| Line 225: | Line 225: | ||
**It was noticed at minimum, the last line: $(eval $(call BuildPackage,WhatEverName)) had to be changed too. | **It was noticed at minimum, the last line: $(eval $(call BuildPackage,WhatEverName)) had to be changed too. | ||
== Notes from 9.11.2020 == | ==Notes from 9.11.2020== | ||
<br /> | <br /> | ||
* Name of Package in Makefile | *Name of Package in Makefile | ||
** define Package/openssl-custom | **define Package/openssl-custom | ||
** define Package/openssl-custom/description | **define Package/openssl-custom/description | ||
** define Package/openssl-custom/install | **define Package/openssl-custom/install | ||
** $(eval $(call BuildPackage,openssl-custom)) | **$(eval $(call BuildPackage,openssl-custom)) | ||
* Name of Directory in "feedscustom" must match items in Makefile | *Name of Directory in "feedscustom" must match items in Makefile | ||
** source "$(SOURCE)/Config.in" | **source "$(SOURCE)/Config.in" | ||
==Notes on 09.13.2020== | |||
'''SOLUTION for the below:''' (from: https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem ): | |||
* ...CD to the SCRIPTS Directory from the "GIT Cloned" version of OpenWRT | |||
** ./feeds update -a | |||
** ./feeds install -a | |||
...all fixed. Naturally installing 'feeds' solves the issue of missing dependencies, etc. | |||
Here's a stupid error that makes complete sense, yet shouldn't even exist in this situation: Makefile 'package/linux/Makefile' has a dependency on 'kmod-phy-bcm-ns-usb2', which does not exist | |||
What's the situation? This is a build for a WRT3200ACM, with no Broadcom chips. So what the fuck package is in the official SDK for this same router that has a dependency like this? | |||
Oh, and better yet, what about the below? | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'r8169-firmware', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'e100-firmware', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'bnx2-firmware', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'ar3k-firmware', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'mwifiex-sdio-firmware', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'kmod-phy-bcm-ns-usb2', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'edgeport-firmware', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'kmod-phy-bcm-ns-usb3', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'amdgpu-firmware', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'radeon-firmware', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'prism54-firmware', which does not exist | |||
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'rtl8192su-firmware', which does not exist | |||
Of course none of this shit exists, it's a GOD DAMNED SDK for the WRT3200ACM! | |||
There is no solution to all the above errors. Just tolerate it amongst all the other fucked up shit. | |||
Also, do NOT delete any of the newly created Directories in the ......feeds Directory as they are actually symbolic links to WhatEver custom Feeds Directory structure was created. | |||
And if one is looking for the OpenSSL package, it is of course intuitively named openssl-util. And following that very clear path, the Makefile file for openssl is located in /feeds/base/package/libs/openssl | |||
==09.13.2013 - Less Vitriolic Notes== | |||
git clone -b openwrt-19.07 <nowiki>https://github.com/openwrt/openwrt.git</nowiki> /root/openwrtSDK.Manual: Copies the 19.07 (IE, the lateversion of files from the OpenWRT sources at GitHub | |||
git checkout v19.07.3 | |||
make distclean: https://stackoverflow.com/questions/51837675/what-are-the-differences-between-make-clean-make-clobber-make-distclean-make | |||
./scripts/feeds update -a: Downloads all the v19.07.3 Makefiles and associated "stuff" | |||
./scripts/feeds install -a: Creates indexes used by "make menuconfig", which in turn creates the visual selections within menuconfig script. | |||
make menuconfig: run the menuconfig script (the Build the OpenWrt SDK will create an SDK PACKAGE) | |||
make toolchain/install V=sc: use the toolchain/Config.in file and install it (see the Config.in file in the root openwrt... directory, then the /toolchain/Config.in file), the -V=sc enables verbose output with details of what it is compiling instead of a boring command prompt. | |||
staging_dir/host: Seems to contain x86_64 files that are "translated" to other platforms | |||
Another observation that seems a bit obvious, but isn't really explicitly stated anywhere is that the "make menuconfig" "script" settings apply only in certain circumstances. For instance, when using the above make... ...toolchain/config command, there were no packages compiled and put into a bin directory. As a test, selected the openssl package (which includes libssl) to be created as a modular package. And it wasn't created, nor should it have been. | |||