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

Yes I noticed that before as well.. Havent tested LEAN's yet.....
still need to test and figure out whats going on there.

there isn't "Use this template" button to create a new repository here: https://github.com/DevOpenWRT-Router/Action_OpenWRT_AutoBuild_Linksys_Devices

There is now, but you can also fork it.......
anyhow.. template is enabled now..

Use Template or fork Github,

once you have it, then git clone it to your linux box. Yes I think its possible to use the windows ubuntu. But dont quote me on that..

anyhow, after you do that

clone openwrt github to your linux box as well..

then inside the Action github, copy this:
From: CONFIGS Dir:
patches <----- Directory Copy whole Dir
feeds.conf.default
wrt3200acm.config <---- in my case,
NOTE: I could personally copy the above wrt3200acm.config no matter what device your running on,
and make changes from that config, since its always updated to latest test.. you can just change the device from within the menuconfig for your device.

From SCRIPTS Dir:
manual-generate.sh
diy-part1.sh
diy-part2.sh
lean_packages.sh
sirpdboy-package.sh
DevOpenWRT-Router.sh

Copy all the above files and or Dir's to root of cloned openwrt,

then type
./manual-generate.sh

and sit back and wait till you see the menuconfig startup screen..
then make your changes and save as your device name that you see in configs dir.
once you understand what ypur doing, you can edit: manual-generate.sh
to rename your device .config file and not the wrt3200acm.config .

For now use the wrt3200acm.config and make your changes from there.
once you have your device config,\copy it over to the Action github under CONFIGS,
push back to git;

then run your Action workflow.
and wait.. about 4 - 5 hours.. possibly less.

1 Like

thank you for the detailed explain.

On the other hand, you may be interested in adding to your firmware: https://openwrt.org/docs/techref/hardware/cryptographic.hardware.accelerators

#
# SSL
#
# CONFIG_PACKAGE_libgnutls is not set
# CONFIG_PACKAGE_libgnutls-dane is not set
# CONFIG_PACKAGE_libmbedtls is not set
# CONFIG_PACKAGE_libnss is not set
CONFIG_PACKAGE_libopenssl=y

#
# Build Options
#
CONFIG_OPENSSL_OPTIMIZE_SPEED=y
CONFIG_OPENSSL_WITH_ASM=y
CONFIG_OPENSSL_WITH_DEPRECATED=y
# CONFIG_OPENSSL_NO_DEPRECATED is not set
CONFIG_OPENSSL_WITH_ERROR_MESSAGES=y

#
# Protocol Support
#
CONFIG_OPENSSL_WITH_TLS13=y
# CONFIG_OPENSSL_WITH_DTLS is not set
# CONFIG_OPENSSL_WITH_NPN is not set
CONFIG_OPENSSL_WITH_SRP=y
CONFIG_OPENSSL_WITH_CMS=y

#
# Algorithm Selection
#
# CONFIG_OPENSSL_WITH_EC2M is not set
CONFIG_OPENSSL_WITH_CHACHA_POLY1305=y
CONFIG_OPENSSL_PREFER_CHACHA_OVER_GCM=y
CONFIG_OPENSSL_WITH_PSK=y

#
# Less commonly used build options
#
# CONFIG_OPENSSL_WITH_ARIA is not set
# CONFIG_OPENSSL_WITH_CAMELLIA is not set
# CONFIG_OPENSSL_WITH_IDEA is not set
# CONFIG_OPENSSL_WITH_SEED is not set
# CONFIG_OPENSSL_WITH_SM234 is not set
# CONFIG_OPENSSL_WITH_BLAKE2 is not set
# CONFIG_OPENSSL_WITH_MDC2 is not set
# CONFIG_OPENSSL_WITH_WHIRLPOOL is not set
# CONFIG_OPENSSL_WITH_COMPRESSION is not set
# CONFIG_OPENSSL_WITH_RFC3779 is not set

#
# Engine/Hardware Support
#
CONFIG_OPENSSL_ENGINE=y
# CONFIG_OPENSSL_ENGINE_BUILTIN is not set
# CONFIG_PACKAGE_libopenssl-afalg is not set
# CONFIG_PACKAGE_libopenssl-afalg_sync is not set
CONFIG_PACKAGE_libopenssl-conf=y
CONFIG_PACKAGE_libopenssl-devcrypto=y
# CONFIG_PACKAGE_libopenssl-gost_engine is not set
# CONFIG_PACKAGE_libwolfssl is not set
# end of SSL

Hey @Eliminater74 !! first thank the effort, and especially for sharing it with us.

Last night I released my first compilation with your scripts, but unfortunately something is wrong, nothing was compiled as you can see by the size of the "firmware". I think there is a problem with a package whose installation fails, but I am not able to identify which package is.

image

I tell you in detail what I have done:

  1. Click the "Use this template" button from your repo (https://github.com/DevOpenWRT-Router/Action_OpenWRT_AutoBuild_Linksys_Devices) to create my new repo (https://github.com/ferboiar/wrt32x)

  2. in the home folder of my localhost machine I clone the openwrt github repo and mine:

git clone https://github.com/openwrt/openwrt.git
git clone https://github.com/ferboiar/wrt32x.git
  1. I copy in the new folder "openwrt/" the scripts and the configuration files:
cp wrt32x/scripts/manual-generate.sh openwrt/
cp wrt32x/scripts/diy-part1.sh openwrt/
cp wrt32x/scripts/diy-part2.sh openwrt/
cp wrt32x/scripts/lean_packages.sh openwrt/
cp wrt32x/scripts/sirpdboy-package.sh openwrt/
cp wrt32x/scripts/DevOpenWRT-Router.sh openwrt/
mkdir openwrt/patches/
cp -r wrt32x/configs/patches/ openwrt/
cp wrt32x/configs/feeds.conf.default openwrt/
cp wrt32x/configs/wrt3200acm.config openwrt/
  1. I run the commands contained in "manual_generate.sh" script:
./diy-part1.sh
./DevOpenWRT-Router.sh
./lean_packages.sh
./sirpdboy-package.sh
./scripts/feeds update -a
./scripts/feeds install -a
./scripts/feeds uninstall bluld
cp wrt3200acm.config .config
git am patches / *. patch
./diy-part2.sh
  1. I run then "make menuconfig", load your wrt3200acm.config (renamed previously as .config) and select:

Target System: "Marvell EBU Armada"
Subtarget: "Marvell Armada 37x / 37x / XP"
Target Profile: "Linksys Venom (Linksys WRT32X)" and "Linksys WRT32X"
and then the packages I want.

  1. I copy the content of my ".config" file in the configs/wrt32x.config file of my github

  2. I edit the TZ variable in the file .github/workflows/build-openwrt-snapshot.yml from "TZ: Ameria/New_York" to "TZ: Europe/Madrid".

  3. I launch "Actions"> "Build OpenWrt Snapshot (TESTING)"> "Run workflow" and choose:

2 (as wrt32x)
0 (as snapshot)
0 (as snapshot luci feeds location)
0 (as none ngrok / ssh after build)

after 6h of compilation the result is the one that I have already commented before:
image

as you can see something fails, just see the size of the file...

If I check "build" job:

  • for "installin packages":
> WARNING: Makefile 'package / lean / autosamba / Makefile' has a dependency on 'luci-app-samba', which does not exist
> WARNING: Makefile 'package / luci-app-change-mac / Makefile' has a dependency on 'rgmac', which does not exist
> WARNING: Makefile 'package / luci-app-telegrambot / Makefile' has a dependency on 'telegrambot', which does not exist
> WARNING: Makefile 'package / lean / luci-app-unblockmusic / Makefile' has a dependency on 'UnblockNeteaseMusic-Go', which does not exist
> WARNING: Makefile 'package / feeds / freifunk / luci-mod-freifunk-community / Makefile' has a dependency on 'freifunk-mapupdate', which does not exist
>  make [1] package / install
> make -r package / install: build failed. Please re-run make with -j1 V = s or V = sc for a higher verbosity level to see what's going on
> make: *** [/workdir/openwrt/include/toplevel.mk:230: package / install] Error 1
> make [1]: Entering directory '/ workdir / openwrt'
> make [1]: *** [package / Makefile: 70: package / install] Error 255
> make: *** [/workdir/openwrt/include/toplevel.mk:230: package / install] Error 2
  • for "kernel Version":
------------------------------------------------
Kernel: linux-5.10.52-01d72df35c577bff2652e449bc7790f8
DIR: 5.10.52-01d72df35c577bff2652e449bc7790f8
------------------------------------------------
------------------------------------------------
sending incremental file list

sent 18 bytes  received 12 bytes  60.00 bytes/sec
total size is 0  speedup is 0.00
rsync '--include=/kmod-*.ipk' '--exclude=*' -va /home/runner/work/wrt32x/wrt32x/openwrt/bin/targets/mvebu/cortexa9/packages /home/runner/work/wrt32x/wrt32x/openwrt/bin/targets/mvebu/cortexa9/kmods/5.10.52-01d72df35c577bff2652e449bc7790f8
tar: ./*: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors

Once here I no longer know how to identify the error to try to solve it and be able to compile, I have reviewed the log file that is created (https://anonfiles.com/d4P5ka9due/OpenWrt_logs_linksys_wrt32x_202107280425_zip) and I do not see anything new to what has already been commented.

I don't know if you can help me to debug it or to identify the problematic package(s)...

I leave the link to my wrt32x.config file in case it helps... https://github.com/ferboiar/wrt32x/blob/8b575457dc3a1e803b997a9a3279ea1ea86a6ac6/configs/wrt32x.config

Looks like your problem is here:

ConfigurCollected errors:

  • check_conflicts_for: The following packages conflict with vnstat2:
  • check_conflicts_for: vnstat *
  • opkg_install_cmd: Cannot install package luci-app-vnstat2.
  • check_conflicts_for: The following packages conflict with vnstat2:
  • check_conflicts_for: vnstat *
  • opkg_install_cmd: Cannot install package vnstat2.
  • check_conflicts_for: The following packages conflict with vnstati2:
  • check_conflicts_for: vnstat *
  • opkg_install_cmd: Cannot install package vnstati2.

cant have vnstati and vnstati2 at same time.. if you would of created an Image with Imagebuilder with same setup, you would get same error. I been down this road before.. that is why no noticeable compile errors, because there is no compile errors, its just a setting error. So disable one of the vnstati's.

when your in make menuconfig, press the " / " key and type vnstati and find out where it is..

Hope this Helps you out. trust me on this.. first time for anything like this. its always a learning experience, but once you get it down.. you become pretty good at it after that..

Nothing your running into, I have not run into as well.. I been down all the same roads as you.
I tried to make this script as easy as possible for people.. but as you know, some peepz will want to try options and features and some times that will cause issues. just gota Trial and Error it out.

If you cant find where vnstati is, just add it to scripts, uninstall, then it wont even look at that as a problem anymore..
Only add one of them to the uninstall or disabled it in .config, Not both.. Just one. or the other.

Hope this help you out.

1 Like

Thank you! I have removed vnstat from the config file, I have left vnstat2.

I have launched the workflow again. Let's see if everything goes well.

Can I ask what file you have checked to locate the problem?

downloaded your logs that you listed, checked the build.log
went to bottom of log, then cheeped upwards till I seen anything error related..
that is where..

1 Like

Take Note:

I realized why some peepz may have had problems with my builds. I made a terrible
rookie mistake, When I started this project, I was only building for my self, I never
intended to release for others. But I always end up doing just that.

Anyhow, after a bit of research and studying, I realized that I left some
important configs in files, that would or could overwrite your
current settings... Not positive on this, But for now I deleted all the preset configs
and opkg keys. So all default new settings will be applied when moving over to my
builds.. No longer should you have issues with my builds in that way.

I have had a few users,
@ directnupe
and
@ RaZi3L

Help me with many parts, using their feedback to
help make this build go further and better..

I fully appreciate their help and anyone else willing to help, or even
put their 2 cents in. I am always willing to try anything to help.

I might not reply right away, But I will when I can.

I am a biker so, I spend alot of time riding,
I retired from Android Development a few years ago.

I only do this. to keep my self from going insane. Sometimes
people have to do something or they feel they will lose it.
Well this is what I do.. And I am still learning at the same time.

OpenWRT and Android are 2 Different worlds.
Yes I was also a kernel Developer in the Android World, but
understand/ a Android Kernel and example PC kernel are 2 Different worlds.
that goes with openWRT Kernel.. for the most part, they are the same.
but my expertise are with Android related.

So bare with me, I will do my best to make changes and help others as much as I can..

1 Like

thx for the note, I just updated my repo with your changes...

but before doing the changes I had launched the compilation and it just crashed again.

This time with an error that I don't know how to solve (package/libs/toolchain failed to build):

Packaged contents of /workdir/openwrt/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/toolchain/ipkg-arm_cortex-a9_vfpv3-d16/libc into /workdir/openwrt/bin/targets/mvebu/cortexa9/packages/__.ipk
make[3]: *** [Makefile:741: /workdir/openwrt/staging_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/pkginfo/libc.provides] Error 1
make[3]: Leaving directory '/workdir/openwrt/package/libs/toolchain'
time: package/libs/toolchain/compile#0.65#0.17#0.91
    ERROR: package/libs/toolchain failed to build.
make[2]: *** [package/Makefile:116: package/libs/toolchain/compile] Error 1
make[2]: Leaving directory '/workdir/openwrt'
make[1]: *** [package/Makefile:110: /workdir/openwrt/staging_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/workdir/openwrt'
make: *** [/workdir/openwrt/include/toplevel.mk:230: world] Error 2

And there is also another permission bug:

The complete log is here: https://github.com/ferboiar/wrt32x/suites/3350878249/artifacts/78795728

I don't know if you could advise me how to continue...

yeah thats an outdated repo.. fetch latest force clean.. might just be better of to re-clone it..

I had to force push a few times earlier today. so it might be causing you issues.

then try again..

Normally when you see toolchain errors, its related to a messup config someplace...
and not directly related openwrt..

But do I have to do something or just try again?

re-clone the git repo.. and go again...

the permission errors, I deleted that part for now.. it was going to be an addon that will
generate a true changelog of OpenWRT changes. but keep running into errors like you see on that permissions..
as for the first error, with toolchain. related to some messed up files.. Just delete repo and re-clone it..
make sure you dont delete anything you already made some changes too.

1 Like

hi! after 5h i have ready my first customiced firmware for wrt32x!! this is good! :heart_eyes:

But now, I have a doubt. I come from an old davidc502 firmware (OpenWrt SNAPSHOT r11829-e3e939d8e6 / LuCI Master git-19.363.49060-3593790).

And i know, for venom, kernel partition has been resized...

But I don't know if my router has been migrated or not. As I can read here (https://divested.dev/unofficial-openwrt-builds/mvebu-linksys/20210726-00/) I think I can check it runing a command:

root@OpenWrt:~# fw_printenv | grep "priKernSize";
nandboot=setenv bootargs console=ttyS0,115200 root=/dev/mtdblock6;nand read $defaultLoadAddr $priKernAddr $priKernSize; bootz $defaultLoadAddr
priKernSize=0x0600000

Do "priKernSize=0x0600000" mean my kernel partition has been resized already? So... What file do I have to burn?

And, how?

the systemupgrade.bin is what you would flash if your already on openwrt..
if your on anything else including OEM stock, it would be factory.img

as for your partition thing, I couldnt tell you on that.. I never looked into that before.. since I have a
wrt3200acm which is pretty much same as the wrt32x... but I couldnt tell you on that......

Do a bit of searching before you flash to make sure.. and understand how to get back..

Looks like its been patched already: https://github.com/openwrt/openwrt/pull/3852

1 Like

finally burned!

As I was not sure about kernel partition resize I do a sysupgrade from command line (Increasing mamba and venom kernel partition to 6MB - #113 by bmork):

sysupgrade -F squashfs-factory.img

Two times, to do the change from both boot partitions.

AFIK, henceforth, I could update from web UI with sysupgrade.bin because my kernel partition has been resized already.

Now I have to do new custom firmware to erase some redundant packages and load some forgotten packages.

Thank yo very much @Eliminater74 for your work!! Your action script is funny and easy

1 Like

Glad it worked out for you. It always feels good when you finely learn to do something that only a handful of others are willing to try. Nothing came to me easy either.. Its called Persistent and dedication with alot of hard work to learn something.. And I dont mean just Here.. I originally started coding
at the age of 8, my first computer was a commodore 64, started in 1982, Yeah im kinda old.

Just pointing out that it didnt come easy for me either. But I am glad you got it working..
keep a good working fork of my repo, because there are times I have to force push to remove dumb mistakes or missing parts that I forgot... so keeping a good fork as a backup in case. will make sure you dont get a bad build.. there are times when it wont build... sometimes its related to one of my settings.. might even be something I added to the Action script that didnt work.
also could even be Ubuntu updating their servers causing packages to not install right.

Anything I listed would cause a FAIL...........

just learn what it is and either try again if its Ubuntu updating its packages or fix any other error it might be.

Again, glad it worked out for you.

PS: If your building for the WRT32X Device, your more then welcome to post link in here for others
ti access the builds that have that device.... But its all up to you.. you may be only building personal builds and dont want to release any.. But if you do..your more then welcome to post link.. I could even put the link in Top of thread for you if ya want.

sure!, when I redo the firmware with the changes I want to do I share the links

hi! I see this package into de repo luci-app-tn-logview. It depends on syslog_fc. But it doesn't build:

time: package/syslog_fc/compile#0.12#0.03#0.14
    ERROR: package/syslog_fc failed to build.
make[2]: *** [package/Makefile:116: package/syslog_fc/compile] Error 1

Do you know how to do it? luci-app-tn-logview seems better than luci-app-log.

On the other hand, netdata seems broken, isn't it?