Nmon for OpenWrt

One of the best tools ever, at least in my opinion for linux ( also for other unix platforms ) is nmon:

http://nmon.sourceforge.net/pmwiki.php?n=Site.ScreenShots

source ( it's just a single .c file ):
http://nmon.sourceforge.net/pmwiki.php?n=Site.CompilingNmon

it's quite small, and very powerful. also has the best command line graphical interface that I have ever seen on a command line tool.

I would love to see it on OpenWRT. Can a developer take a look into it?

The htop package covers a bit of what nmon is reporting.

I know, but it's not even near nmon feature wise.

I agree with you @Pedro . Actually i am working on it,will give you the update once it is completed.

@sameer_aaron that would be amazing!
I can try it out on an ipq806x, ar7xx, mt7621 and octeon.

Will try it on bcm283x and let you know

hay @Pedro please check the below commit and let me know whether you can compile your openwrt repo or not , i compiled it on the 18.06 branch

after cherry-pick please add the below line to the feeds.conf file in openwrt repo

src-link Nmon https://sourceforge.net/projects/nmon/files/

and then run the below commands
./scripts/feeds/update -a
./scripts/feeds/install -a

Then make the repo for your target.

I tested this on x86_64 and qemu arm virtual target

I followed your instructions for the ipq806x target but no nmon package is built.

I did the following on my current trunk clone:

I then ran "make menuconfig" and I searched "/" for the nmon package but the only "nmon" string found was that to enable the custom nmon feed.

I exited makemenuconfig and did a "make -j4". Flashed the image to the router and no nmon is present.
Should I do a make distclean and start over?

@sameer_aaron

I think I didn't check your particular commit that adds nmon to my repo clone.
How do I do that?

I ended up doing this brute force by making the two needed directories and copying the three files to their places.
works beautifully for ipq806x.
size of the binary is 125.1k

Will try ar7xx, octeon, mvebu, mt7623 and mt7621. Those are the platforms that I have.

1 Like

You can't pull that commit from trunk because I didn't pushed it to svn or openwrt public repo,it was on my private branch...

But anyway you made it.
Actually i am new to this openwrt opensource. I will try to push it into upstream. if you have any idea about mainlining the packages, please give me some info on how to do that.

First, thanks alot for making this happen.

No idea on how to mainline but I am sure if you ask on this subforum a dev will reply.

I have three suggestions for you to consider regarding the nmon package:

  • name it as nmon and not Nmon. Right now it appears on top of the list, instead of appearing alphabetically.
  • put it on Administration instead of utilities. Similar packages like htop live on Administration.
  • latest version is 16m and not 16j

Thanks again!

By the way, I already tested it on ar7xx and mt7621, binary size is 145.1k. Works perfect.

1 Like

That's great to hear @Pedro

Yeah will try to check your suggestions, if possible I will change and let you know

I find it interesting that someone could port nmon onto OpenWrt. And now we can't download and install it from the OpenWrt store xD
Anyway "sameer_aaron" thank you for publishing your work
I know it's been a few months since the last post but could a friend help me out how I can compile this package?
I compiled the package but I don't know what to do. It doesn't appear in "make menuconfig". Why ?

What I did was:
Add "src-link Nmon https://sourceforge.net/projects/nmon/files/" to end of file "feeds.conf.default"
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
make menuconfig

But unfortunately I couldn't find the nmon package
PLZ,Can someone from zero to 100 explain to me this story how I can compile this package with SDK-OpenWrt?

Guys, thank you in advance

you need to add an "Nmon" directory to package/utils and place the following files there:

It was great man! Thank you for your help "sameershaik"
I installed it on the following devices (19.07.2):
bcm2710 (Raspberry Pi 3)
mvebu (Linksys WRT1200AC v2 & WRT1900ACS v2)
brcm47xx (Linksys E3000)
They all run flawlessly !
Thank you for your time on this project
good luck bro :wink: