Hello everyone,
Is there a way to compile a custom image based on an OpenWRT fork and not the official release?
I am trying to build an ipq806x image based on one of the NSS forks to improve performance. I've done several custom Gargoyle builds in the past but all are based on standard OpenWRT releases.
Any hints would be greatly appreciated.
Thank you.
Custom Build Based on OpenWRT Fork
Moderator: Moderators
Re: Custom Build Based on OpenWRT Fork
Can you link the fork so I can take a look?
Basically the way Gargoyle build scripts work:
1. Establishes global variables (language settings, target and profile)
2. Shrinks JavaScript and CSS to minimise space
3. Downloads OpenWrt source code to the “target-src” folder
4. Copies the right config into the OpenWrt source
5. Switches to that folder and runs some patching routines
6. Starts the regular OpenWrt make commands
7. At the end copied the right images and packages back out
So the approach depends on how this fork is set up. If it looks exactly like a regular OpenWrt repository but they’ve patched in NSS, you can just switch out step 3 in the code.
https://github.com/ericpaulbishop/gargo ... ld.sh#L551
Keep in mind that if they have custom package feeds that need to be brought in that might need to be managed.
Also be wary that the config file will likely be different to addin the NSS components. These changes need to be merged to the Gargoyle config.
And finally, viewtopic.php?t=17924
Be aware of what features likely won’t work.
Basically the way Gargoyle build scripts work:
1. Establishes global variables (language settings, target and profile)
2. Shrinks JavaScript and CSS to minimise space
3. Downloads OpenWrt source code to the “target-src” folder
4. Copies the right config into the OpenWrt source
5. Switches to that folder and runs some patching routines
6. Starts the regular OpenWrt make commands
7. At the end copied the right images and packages back out
So the approach depends on how this fork is set up. If it looks exactly like a regular OpenWrt repository but they’ve patched in NSS, you can just switch out step 3 in the code.
https://github.com/ericpaulbishop/gargo ... ld.sh#L551
Keep in mind that if they have custom package feeds that need to be brought in that might need to be managed.
Also be wary that the config file will likely be different to addin the NSS components. These changes need to be merged to the Gargoyle config.
And finally, viewtopic.php?t=17924
Be aware of what features likely won’t work.
https://lantisproject.com/downloads/gargoylebuilds for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Re: Custom Build Based on OpenWRT Fork
Thank you very much for the prompt and detailed response, Lantis!
The fork I am looking at is this one:
https://github.com/asvio/R7800-nss
To my inexperienced eye, it looks the same as a regular OpenWrt repo. There are indeed some custom package feeds according to the instructions there.
I am OK with the non-working features. They are not needed for the setup I am putting together.
Thanks again.
The fork I am looking at is this one:
https://github.com/asvio/R7800-nss
To my inexperienced eye, it looks the same as a regular OpenWrt repo. There are indeed some custom package feeds according to the instructions there.
I am OK with the non-working features. They are not needed for the setup I am putting together.
Thanks again.
Re: Custom Build Based on OpenWRT Fork
Yep I reckon you can just swap that out no problem.
Merge the configs to get the NSS components.
The custom feeds I’d probably just clone those and merge them into the Gargoyle packages folder for simplification.
Or you can copy the method that Gargoyle used for “build custom” where it grabs all OpenWrt packages (and change the code to suit).
Depends how deep you want to get on this.
Keen to hear your results
Merge the configs to get the NSS components.
The custom feeds I’d probably just clone those and merge them into the Gargoyle packages folder for simplification.
Or you can copy the method that Gargoyle used for “build custom” where it grabs all OpenWrt packages (and change the code to suit).
Depends how deep you want to get on this.
Keen to hear your results

https://lantisproject.com/downloads/gargoylebuilds for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Re: Custom Build Based on OpenWRT Fork
An update on where things are at.
After a few minor hiccups I finally have a Gargoyle image compiled with the following OpenWrt fork as the base:
https://github.com/ricsc/openwrt
I merged the configs and cloned the custom feeds into the Gargoyle packages folder. I might experiment with the other option later just for fun
the only unresolved issue (yet) is a patch conflict to the mac80211.sh file. The Gargoyle patch (102) fails to apply because the file does not match the original OpenWrt repo version. I removed the patch file for now just to see how far I can go. I don't know what the file does but I am hoping that merging the changes will not break anything.
Next step is to put the firmware on the intended routers but it will be about a week before I go onsite. For now, I am good to go.
@Lantis, Thank you for the exemplary support and help, not just with this issue but with everything and everyone on the forum.
After a few minor hiccups I finally have a Gargoyle image compiled with the following OpenWrt fork as the base:
https://github.com/ricsc/openwrt
I merged the configs and cloned the custom feeds into the Gargoyle packages folder. I might experiment with the other option later just for fun

the only unresolved issue (yet) is a patch conflict to the mac80211.sh file. The Gargoyle patch (102) fails to apply because the file does not match the original OpenWrt repo version. I removed the patch file for now just to see how far I can go. I don't know what the file does but I am hoping that merging the changes will not break anything.
Next step is to put the firmware on the intended routers but it will be about a week before I go onsite. For now, I am good to go.
@Lantis, Thank you for the exemplary support and help, not just with this issue but with everything and everyone on the forum.
Re: Custom Build Based on OpenWRT Fork
Nice one!
Patch 102 simply enables VHT80P80 mode which is 80+80MHz (or 160MHz split).
Your device is capable of this mode, but it’s not that useful as it cuts the number of spatial streams in half.
Up to you if you want to fix it to apply properly, I’d probably leave it out
Patch 102 simply enables VHT80P80 mode which is 80+80MHz (or 160MHz split).
Your device is capable of this mode, but it’s not that useful as it cuts the number of spatial streams in half.
Up to you if you want to fix it to apply properly, I’d probably leave it out

https://lantisproject.com/downloads/gargoylebuilds for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog