PureFusion - wrt3200acm, wrt32x, wrt1200ac, wrt1900acs, wrt1900acV1, wrt1900acV2 Builds

After much research and reading among testing............
with Kernel 5.10.x and yes Luci is there too.
No external Modules have been built, everything needed and some extra's are built into image.

Some Extras that you prob wont find else where,

All created using Github Action..
which anyone can really fork and run them selfs and create a build them selfs.. you can even edit .config and so on.......... but anyhow, a few people asked me if I would release this, so I am here.

Like, Advanced Log viewing.
filebrowser and a few others..

well Help your self.. leave a comment if any issues or whatever..

For those of you that want to use the template,

GO HERE, Then click on
use This Template.


All releases are always right here:
Action_OpenWRT_AutoBuild_Linksys_Devices/releases

Main Section: Action_OpenWRT_AutoBuild_Linksys_Devices

8 Likes

Updated:

As I have posted above, I have just about perfected building OpenWRT using github actions
on this wonderful VM machine that Microsoft allows us to use:

Github Actions is a CI/​CD service launched after Microsoft acquired GitHub. 
It provides a virtual server environment (E5 2vCPU/​7G RAM) with a very good performance configuration . Based on it, projects can be built, tested, packaged, 
and deployed. The public warehouse can be used for free without time limit, and the single use time is up to 6 hours, which is very sufficient for compiling OpenWrt. However, 
GitHub Actions has a certain threshold to use. 
You must first understand how to write a workflow file . But don't worry, the blogger has already compiled the relevant workflow file template, 
just follow the steps in the tutorial.

I have added configs for wrt1200ac, wrt1900acx, wrt3200acm and wrt32x ..
As of typing this, Only config is for wrt3200acm..
builds flawlessly snapshot after snapshot using latest Kernel 5.10.x Not a single issue.
I have searched and researched apps and lib files for use.
I have collected many LUCI packages that you will not find on OpenWRT.
I only enabled the ones I think could be of use.
since many of the packages that I manged to get my hands on were in Chinese or German
and I only speak English, I translated a few that I though were relevant to the matter..

On my Github Action Script, you also have Option to build official OpenWRT rather then snapshot builds. you would also have the option to pick which device you want to build for, defaults to 1 for my wrt3200acm router. wifi drivers were taken from another source that have been slightly updated..
some parts were synced from https://github.com/coolsnowwolf/lede

and some from other repos.. I have tested most everything, but not everything.
I use mqos mainly to limit by MAC rather then IP..

for more info. I been a FAN of Dave's firmware for a while.. its to bad he retired from it. almost dont blame him.. I retired from Android Development after 7 years of that..
I respect Dave and all the work hes done.. But have seen many post that they want latest builds with some nifty stuff.. I also know that many would have no clue on how to build such firmware..
Well I mad it simple for you now. if you know github and how action scripts work, then anyone can build the latest firmware...... and yes you can also create your own configs to use rather then the ones I supply..

Dont forget a GITHUB secret token is needed.. you will have to create one.. and if you plan on SSH into the VM, then you will need some info there under secret tokens as well..
Like bot token and userID under telegram..

Hope this helps most of you..

2 Likes

Here is a list of External Packages that I added to the build.
Be warned that Not all packages in the LEAN package repo are used. Only a few.
The lean packages are synced from coolsnowwolf/lede/tree/master/package/lean using a special script that
I originally did not write, Only modified it to fit my needs, it will check each and every package in LEAN dir, and add it to a stand-alone git repo.

### luci-app-log
git clone https://github.com/DevOpenWRT-Router/luci-app-log.git package/luci-app-log
### luci-app-mqos
git clone https://github.com/DevOpenWRT-Router/luci-app-mqos.git package/luci-app-mqos
### luci-app-filebrowser
git clone https://github.com/xiaozhuai/luci-app-filebrowser.git package/luci-app-filebrowser
### luci-app-eqos
git clone https://github.com/MapesxGM/luci-app-eqos.git package/luci-app-eqos
### luci-app-advanced
git clone https://github.com/sirpdboy/luci-app-advanced.git package/luci-app-advanced
### luci-app-onliner
git clone https://github.com/rufengsuixing/luci-app-onliner.git package/luci-app-onliner
### luci-app-disks-info
git clone https://github.com/DevOpenWRT-Router/luci-app-disks-info.git package/luci-app-disks-info
### luci-app-netmap
git clone https://github.com/DevOpenWRT-Router/luci-app-netmap.git package/luci-app-netmap
### NetSpeedTest
git clone https://github.com/DevOpenWRT-Router/netspeedtest.git package/NetSpeedTest
### luci-app-serverchan #WeChat push
git clone https://github.com/tty228/luci-app-serverchan.git package/luci-app-serverchan

### luci-app-diskman
## A Simple Disk Manager for LuCI, support disk partition and format, support raid / btrfs-raid / btrfs-snapshot
mkdir -p package/luci-app-diskman
wget https://raw.githubusercontent.com/lisaac/luci-app-diskman/master/applications/luci-app-diskman/Makefile -O package/luci-app-diskman/Makefile
mkdir -p package/parted
wget https://raw.githubusercontent.com/lisaac/luci-app-diskman/master/Parted.Makefile -O package/parted/Makefile

### LIBS: libdouble-conversion NEEDED for qBittorrent qt5
mkdir -p package/libs/libdouble-conversion
wget https://raw.githubusercontent.com/coolsnowwolf/lede/master/package/libs/libdouble-conversion/Makefile -O package/libs/libdouble-conversion/Makefile

### lean synced from lede source
git clone https://github.com/DevOpenWRT-Router/openwrt-package-lean.git package/lean
rm -rf ./package/lean/luci-theme-argon # Delete Lean's own argon theme
rm -rf ./package/lean/luci-app-netdata # Delete Lean's own luci-app-netdata
rm -rf ./package/lean/default-settings # Delete lean's own default-settings
rm -rf ./package/lean/.sync.sh # Delete lean's sync.sh files
rm -rf ./package/lean/.list.txt # Delete lean's list.txt file

### luci-app-netdata
git clone https://github.com/DevOpenWRT-Router/luci-app-netdata.git package/luci-app-netdata

### Use lede's edition of mwlwifi
rm -rf ./package/kernel/mwlwifi # Delete openWRT's version replace with sync lede
git clone https://github.com/DevOpenWRT-Router/openwrt-package-kernel-mwlwifi.git package/kernel/mwlwifi

The packages you see that route to my repo, are there because I had to translate them to English or
they had to be synced from internal repos to a stand-alone repo.

i get a firmware upload fail on openwrt-snapshot-r17081-a58bcc9e67-mvebu-cortexa9-linksys_wrt32x-squashfs-factory.img

the size looks big too

Its my understanding that the wrt32x is nearly same as wrt3200acm.. anyhow, whats the release TAG you tried. cause one of my releases were mesed up.. I redid them.. I am running my latest
release under the wrt3200acm with no issues.

PS: you can take the template and run your own builds as well.
just create a github token and so on.

2005 release, wrt32x factory 51mb

Building it myself is not an option, i'm only intermediate user and doesn't know coding

I have no way of testing any of the builds other then wrt3200acm which is what I have.
all I did was use same config and changed to each device or used multi device..
if you look down the release page you can see that there is a section of wrt32x builds only.
maybe that will work for you.. because the ones you see at the top are using the multi config which maybe doesnt work under action build scripts.. but I do know that wrt3200acm works without issue..
a am currently runnning latest build.

WRT32X and WRT3200ACM have the exact same motherboard. The only difference between the two is how the flash partitions are constructed. The WRT32X is only 3MB kernel whereas the WRT3200 is 6MB. I am probably forgetting some of the finer details but that is the major difference.

My 4 year old WRT3200ACM just powered off one day and refused to power back on. I assumed it was the power brick so I purchased a very nice one off of Amazon but that wasn't the problem. Something on the motherboard was broken. I found a WRT32X on sale for $100 and converted the flash partitions over to the WRT3200ACM sizes. I used a howto I found on the linksys forum. I like the color scheme better on the WRT32x as it looks meaner than the WRT blue.

I am still always working on the development of using my github actions as well as openwrt firmware on our LinkSys devices. but in all using github action to create your own firmware is as easy as ABC, even a cave man could do it. (Bad Joke I know)

but really, with my scripts, all you do is goto my github, fork it or template it over.. create a github token, then click actions, then click one of the action scripts, click workflow, you will see some input commands, mostly defaulted you can change them.. most likely you will only wanna change device.. then click run.. wait 2 hours, and bang, its done and you have a fully working latest snapshot..

  • Click the Use this template button to create a new repository. - done
  • Generate .config files using Lean's OpenWrt source code. ( You can change it through environment variables in the workflow file. ) - cant understand how to do this step, i go to lean and then i dont know what to click
  • Push .config file to the GitHub repository. - cant understand how too
  • Select Build OpenWrt on the Actions page. - yea i see the 'build openwrt'
  • Click the Run workflow button.
1 Like

Here are screen shots of what its talking about:

and the vars:

Should also note that using LEDE's source at this time failed on build. Havent had time to
try and figure out why, But OpenWRT works fully. But again that is using my config from OpenWRT under LEDE's. So that might be a big factor.. and I havent updated the LEDE script just yet.

Made some changes to script. Trying my best to make it more 3rd party user friendly so that anyone can build their own firmware no matter what kind of computer they have or whatever knowledge that might have or lacking. you could even build the firmware straight from your phone. Yes that easy.

changing the .config would have to be named the same as the configs in the configs DIR.
example: wrt3200acm is named wrt3200acm.config and wrt32x is named wrt32x.config .

Hi @Eliminater74,
I am having Wi-Fi issues with official RC3 on my wrt3200 and I wanted to try your custom build, but run into problems. After upgrading with sysupgrade, luci failed to start with error messages complaining about 'nil' value. I tried flashing with keeping and not-keeping settings but get the same errors.

Do you know what could be the problem and how to fix it?
TIA
Update: tried the oldest version in your repo and this time the router booted into 'Pandora Box' interface. How do I switch to Luci?

both issues have been fixed since that release...........
to fix your current issue,

Do this: SSH into router.
then:

root@PureFusion:~# cd /etc/config
root@PureFusion:/etc/config# nano luci

config core 'main'
        option lang 'auto'
        option resourcebase '/luci-static/resources'
        option ubuspath '/ubus/'
        option mediaurlbase '/luci-static/opentomato' <--- SEE THIS

Make sure it says that.. then save it..
refresh web URL, and it should be opentomato

after that.. Update to latest firmware..
because that one was a experimental test
that didnt go so well.

Shout also Note that my REPO has changed:

New one:
https://github.com/DevOpenWRT-Router/Action_OpenWRT_AutoBuild_Linksys_Devices

I have updated OP to this Page with new URL for REPO that I am now using.
Switched to cleaner Repo. So please use the latest new ONE if you would like
to try my latest Releases..............

Thanks for the prompt response and actions. I downloaded the newest build and it works great!

If WiFi is stable then I can move on from David's build.

Thanks again!

Take note that I am always building and testing new releases, among testing luci app finds.
many luci apps I get are created by peepz in china, so most of the time I have to go in and
translate words and so on back to English. Sometime I wont do that unless I know the app works
and if its useful to peepz/ Otherwise I disable it next build.

So if you see Chinese chars, just use the chrome translate to translate to english..
but next build will most likely have it in English if I feel its worth the translation.

and yes I do give proper credit to the authors of said APP.
mainly the credit is within file under comments and or in commit.
alot of the apps that I use, that didnt need translating will have the full github REPO
to their app.. so you can see for your self what is what and where it came from.

so injoy...

1 Like

@Eliminater74
Many thanks for this build, it includes many useful apps: disman, netdata to name a few. I particularly like netdata, it has so much information about the system.

Next step for me is to learn and use Github Action to customize.

Thanks again!

1 Like

How is WIFI working for you?

@Eliminater74
I have not used WiFi a lot, but it looks like it is much better than the official RC3 firmware. My laptops and phones connect to the network quicker and I have not seen any disconnection. I will test your build more and if I run into issues I will let you know.

1 Like

yeah the wifi drivers are taken from,
https://github.com/coolsnowwolf/lede

as you can tell, I did mention credit to his work..

but thanks for your input.
I also think using the testing kernel 5.10.x helps alot too..
as you know previous official snapshot and official openwrt uses the 5.4.x kernel.
so its possible that kernel just needs updating on official.