Assuming that you've got all the prerequisites installed, the in-brief, happy-path instructions would be along the lines of:
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
git checkout openwrt-18.06
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig # and select the AR150 and save the .config
make -jN clean download world # where N is appropriate for the number of CPU threads of your system
It will confirm that you are able to build a known-good version of official OpenWrt on your machine, or let you resolve any issues with your system using a known-good set of sources.
Once you have confirmed that you can build "official" OpenWrt, then you will be in a better position to try to build the additions that you found at https://github.com/aa65535/openwrt-redsocks2. You should be able to build them with the build system described above by adding the package to your list of feeds. See, for example https://openwrt.org/docs/guide-developer/feeds
There are current AR150 sources available in the OpenWrt git repo, as well as from GL.iNet directly (including their own additions and modifications). The OpenWrt sources are supported here, among other places. GL.iNet has their own support forum for their sources and firmware.
It's probably smaller as it may not include LuCI by default.
If you want LuCI, you'll need to add that using make menuconfig and selecting the appropriate LuCI collection. I personally recommend a TLS-enabled version. I would confirm that the image you build from the "stock" sources installs and runs as you expect before moving on to adding "non-standard" things.
You'll then need to add the package feed for the custom package you are trying to build and add it in make menuconfig as well. Then building the image should include what you're looking for.
For this example we assume that your are in /home/user/openwrt as your base directory.
You create your current project dir project .
Then while in /home/user/openwrt/project
svn co svn:svn.openwrt.org/openwrt/trunk openwrt (for the OpenWRT base system) - svn co svn:svn.openwrt.org/openwrt/packages packages (for the packages feed)
Add your package in the appropriate subdirectory under /home/user/openwrt/project/packages
after entering the command
svn co svn:svn.openwrt.org/openwrt/trunk openwrt
getting an error
svn: E125002: 'svn:svn.openwrt.org/openwrt/trunk' not a well formed URL
I think you should be able to add the package's git repo to your build by:
Copying feeds.conf.default to feeds.conf
Adding src-git redsocks2 https://github.com/aa65535/openwrt-redsocks2 to that file
This is based on the "feeds" link above and looking at scripts/feeds which contains
sub parse_config() {
my $line = 0;
my %name;
open FEEDS, "feeds.conf" or
open FEEDS, "feeds.conf.default" or
die "Unable to open feeds configuration";
while (<FEEDS>) {
[...]
I think that guide must be outdated. It's using Git now, not svn. If it was svn it would have been svn://svn.openwrt.org, but that server does not exist.
Yes, very often wiki pages are written by experts that forget that non-experts read them!
"customfeed" there is just an example. If you run
./scripts/feeds update -a
./scripts/feeds install -a
it should find the new "redsocks2" feed you added.
Looking at the Makefile from that package
define Package/redsocks2
SECTION:=net
CATEGORY:=Network
TITLE:=Redirect any TCP connection to a SOCKS or HTTPS proxy server
URL:=https://github.com/semigodking/redsocks
DEPENDS:=+libevent2
endef
tells me that you should find it in the Network section. You can also search in make menuconfig with the slash / key.
It looks like the package was "installed" but that there might be some problem with the Makefile of the package or the sources it downloads. I don't see "target pattern contains no" in the OpenWrt build system itself.
Looks like the package might be broken
Updating feed 'redsocks2' from 'https://github.com/aa65535/openwrt-redsocks2' ...
Cloning into './feeds/redsocks2'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 9 (delta 0), reused 6 (delta 0), pack-reused 0
Unpacking objects: 100% (9/9), done.
Create index file './feeds/redsocks2.index'
grep: feeds/redsocks2/Makefile:$(eval: No such file or directory
grep: $(call: No such file or directory
grep: BuildPackage,redsocks2))/Makefile: No such file or directory
/home/jeff/devel/openwrt/feeds/redsocks2.tmp/info/.files-packageinfo.mk:1: *** target pattern contains no '%'. Stop.
Looks like it's working! Shows in the .manifest as well.
Might want to look into https://github.com/semigodking/redsocks to see if that is more up-to-date for source than the package file's reference, but let's get at least one built!