OpenWrt Forum Archive

Topic: New project: myWRT

The content of this topic has been archived on 31 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hello OpenWRT developers,

I have created a new project that you might find interesting: myWRT

It is based on OpenWRT, but with some notable differeneces:
1. I have created a new build system using OpenWRT's make files. I have tried to use the existing system at first, but found it too frustrating, as it broke everytime I tried to change some aspect or include a package in the firmware image. I have modularized the build system: Each package has its own directory and the Makefiles are independend. Build dependencies are set in the master Makefile. Because of this, packages can be built outside of the source tree just as easily.
2. All optional components can be configured through a  menu-driven configuration system (a modified version of the one in the Linksys tarball)
For every component you can choose, whether it should go into the firmware image or into an external .ipk package
3. The resulting firmware image is fully OpenWRT-compatible and I intend to keep it that way.
4. I have included some nice features not yet included in the OpenWRT CVS buildroot (like optional LZMA compression for the squashfsroot)

I started hacking on this a few days ago and it seems pretty stable right now. Build dependencies are already handled properly, so if you change the configuration, you don't need a full rebuild, which saves a lot of time.

I haven't integrated all of OpenWRT's packages yet, but the core is complete and for the rest, you can use OpenWRT .ipk files. It's also easy to port .mk files from OpenWRT over to my system.

You can download my current version 0.1 at http://sf.net/projects/mywrt/

If you're interested - just give it a try.

Hint: You can copy or symlink over your existing OpenWRT downloads, for most packages I use the same version.

As I'm sure everyone else who has read this is wondering.....

Did you try to join the team here and contribute your changes, and if not, why not?

Dan

Did you try to join the team here and contribute your changes, and if not, why not?

I wanted to create the my version first, to see if it's any good and to get some feedback from OpenWRT developers.

By the way: Version 0.1.1 is ready, fixing a compile error and some minor bugs.

RaBiDFLY, that's an unnecessarily harsh line of questioning.  You imply that no-one should make a derivative work of OpenWRT without first attempting to work with the OpenWRT developers.  What a load of rubbish.  Being open source, anyone is free to do whatever they want with OpenWRT, provided they keep to the conditions of the GPL, which is what nbd has done.

Nbd has not gone off and made his own OpenWRT fork - not that there's anything wrong with doing that either.  myWRT is basically OpenWRT with a different, easier compilation procedure.  What's wrong with writing it, getting it working, and then coming back and saying "hey guys, what do you think of this?".  It takes the load of the core developers, for one thing.

I for one have found compiling OpenWRT and its packages quite difficult, and I can imagine that quite a few potential package developers have been put off by it.  An easier compilation system like myWRT is what I've been hoping for.  If you can configure and compile a linux kernel with menuconfig then you've got the skills required to compile myWRT.  I have those skills and yet have great difficulty consistently compiling OpenWRT - something always seems to be broken.  I'm sure I'm not the only one in this situation.

I don't expect OpenWRT's maintainers to come up with such a system, either.  They seem to be flat-out keeping the core system compatible with the new hardware and firmware releases that Linksys keep throwing at them - rather important work I think you'd agree.  myWRT is not the sort of system the maintainers need, anyway.  myWRT is aimed at advanced-end-users like me.  Anything that makes OpenWRT easier to contribute to has to be a good thing.

I agree with danversj.

Good job nbd!
I personally wont be changing because I have finally come to grips with the bits of buildroot that I care about.

Had this been around a couple of months ago, I would definitely have given it a spin.

I think this will definitely make it easier for new user to build their own images and with a bit of luck the best parts of  myWRT will filter into OpenWRT before too long.

Thanks for your replies! I think it won't be hard for me to continue to integrate features from OpenWRT into MyWRT, if I just keep monitoring the CVS buildroot changes and the forums. If there's any way I can help you without having to dig too deep into the OpenWRT build process, just tell me.
The whole reason for starting my project wasn't even to make it usable for end users. I tried to build my own custom firmware for a specific purpose and just found it too complicated to mess around with OpenWRT the way it is currently. My primary design goal was to make it as easy as possible for me to change any aspect of the source without having to care about so many details of other parts.
Now, with some more effort on my side, perhaps I can create something, that's essentially like OpenWRT, but usable by ordinary Linksys/Sveasoft users.

Well, speaking for the openwrt developers, we're simultaneously glad to see people working on openwrt and a little insulted by the fork. Basically, we know about the flaws in openwrt and have been working on a new, yet to be announced version.

Try to understand that OpenWrt was started to end this silly game of taking existing firmwares and adding one feature to make a "new firmware". The idea was that the openwrt firmware itself would contain only common components and that users would be able to create addons using the jffs2 filesystem, thus allowing endless customizations. Lately however, we've been plauged by questions of "how do I install packages into the firmware itself?", usually from people that are flashing multiple devices and would like to avoid having to configure each one -- a feature addressed in the new version.

So while we understand the purpose of "mywrt", we really wish someone would have mentioned it to us first, as the need for it will most likely be eliminated in the comming weeks.

So while we understand the purpose of "mywrt", we really wish someone would have mentioned it to us first, as the need for it will most likely be eliminated in the comming weeks.

Sorry, for not trying to talk to you first, but I wanted to test if my idea was any good, before bugging someone else with yet anonther change plan wink
It was definitely not my intention to insult you.
Could you go into detail about how the new version is going to be implemented? What's different?

nbd, I understand and feel your pain.

I received a less than "welcome" feeling when I joined the #wrt54g channel on freenet, and in fact, got FLAMED for a few good hours because of my attempts to make the v2.2 WRT's work with OpenWRT by tools such as Kaloz. Never mind the fact that I eventually integrated Linksys's entire new build tree.

mbm, I appreciate and also stand in awe of the work you guys have done, but it _does_ appear that the general feeling is that you are the "controlling" entity of OpenWRT, and hard to get hold of. This makes discussing things with you difficult, and hence why you're probably finding these forks.

I don't mind you having called my v2.2 firmware a 'hack' in this thread , because I appreciate hacks, and at least my attempt at getting v2.2's to work satisfied my own needs and those of a few other souls around here.

What I don't appreciate is the less than friendly atmosphere that some of the developers around here take. It seems like contributions are frowned upon, rather than welcomed.

mbm wrote:

Well, speaking for the openwrt developers, we're simultaneously glad to see people working on openwrt and a little insulted by the fork. Basically, we know about the flaws in openwrt and have been working on a new, yet to be announced version.

mbm - if you're worried about being "forked" the best thing you can do is announce what you're up to whenever possible, and as often as possible.  I see no reason to keep the details of new versions unannounced at any time.  Talk to us, let us know what you're up to, and there will be less duplication of effort.  I know you probably don't like to have people looking over your shoulder asking "what are you doing" every five minutes while you're coding, but every now and then a brief broad overview would help a lot.

we really wish someone would have mentioned it to us first

This implies that anyone who wants to tinker with OpenWRT needs to run things by you first.  If you had announced what you were doing with the new version earlier and without prompting, nbd probably would have come forward a lot sooner with his ideas.  It really is up to you to tell us what you're doing, not the other way around.

OpenWRT is a fantastic project and I definitely do not want to see it fractured into separate development efforts.  New developers are worth their weight in gold, and should welcomed with open arms.  Projects get forked when the maintainers of the original become too posessive and wary of "outsiders" - zebra/quagga being the classic example.  Being open and inclusive is essential if the project is to remain united.

I received a less than "welcome" feeling when I joined the #wrt54g channel on freenet, and in fact, got FLAMED for a few good hours because of my attempts to make the v2.2 WRT's work with OpenWRT by tools such as Kaloz.

You were not "flamed", and not "for good hours". I just didn't find it compelling, that You were able to dd out the Linksys kernel, and cat the OpenWrt rootfs after it. This was not even a hack, it was the usage about of 3 standard Linux commands. And You flooded the channel aprox. 4 times with the default motd just to increase Your e-penis.

Never mind the fact that I eventually integrated Linksys's entire new build tree.

Really? In fact it was done by aschulz in December - http://openwrt.org/forum/viewtopic.php?t=665. So what did You achieve?

mbm, I appreciate and also stand in awe of the work you guys have done, but it _does_ appear that the general feeling is that you are the "controlling" entity of OpenWRT, and hard to get hold of. This makes discussing things with you difficult, and hence why you're probably finding these forks.

First, I won't call this "forks", let's call these modifications. Second, all the need for these modifications will most likely eliminated, as mbm wrote.

What I don't appreciate is the less than friendly atmosphere that some of the developers around here take. It seems like contributions are frowned upon, rather than welcomed.

We have a pretty nice and helpful atmosphere on the channel as far as I know. Everyone helps eachother. All the people who contributed patches were welcomed. Did You submit a patch in the forums? No. Did You flood the channel? Yes, for sure.

Please stop trolling. I'm sorry, that nbd worked so hard, but for your "hack", excuse me, but I don't care.

mbm - if you're worried about being "forked" the best thing you can do is announce what you're up to whenever possible, and as often as possible.  I see no reason to keep the details of new versions unannounced at any time.  Talk to us, let us know what you're up to, and there will be less duplication of effort.  I know you probably don't like to have people looking over your shoulder asking "what are you doing" every five minutes while you're coding, but every now and then a brief broad overview would help a lot.

I know what you're trying to say, and I really wish it was that simple.

The problem is that you can't make an announcement; try saying "I have a firmware that does <cool feature>" then telling them that they can't have it yet -- It comes across as a tease and builds resentment. It's easier to just to suddenly surprise everyone with a new release.

Really? In fact it was done by aschulz in December - http://openwrt.org/forum/viewtopic.php?t=665. So what did You achieve?

A working image, tested? Besides that, I was unaware of aschulz's efforts.

We have a pretty nice and helpful atmosphere on the channel as far as I know. Everyone helps eachother. All the people who contributed patches were welcomed. Did You submit a patch in the forums? No. Did You flood the channel? Yes, for sure.

My patched buildroot is freely available. :shrug:

The problem is that you can't make an announcement; try saying "I have a firmware that does <cool feature>" then telling them that they can't have it yet -- It comes across as a tease and builds resentment. It's easier to just to suddenly surprise everyone with a new release.

That sort of belief is a bit against what I consider general open-source style development. I dislike surprises. There's no need for whatever "surprise" there is to be kept back, or not talked about.

http://www.catb.org/~esr/writings/cathe … 01s04.html
From the "Cathedral and the Bazaar": Release early. Release often.

The problem is that you can't make an announcement; try saying "I have a firmware that does <cool feature>" then telling them that they can't have it yet -- It comes across as a tease and builds resentment. It's easier to just to suddenly surprise everyone with a new release.

I disagree with this, while I can see resentment if you really were holding this firmware over somebodys head (teasing) saying look what I have and you don't. For sure the would cause resetment. Otherwise a new feature or features is something to be anticipated IMHO.

What about a todo type file or forum post that says: here is where I would like to see this go and here are features that I am trying to incorperate. Nobody that I know looks at a todo file and gets resentful because those features are not in the program yet.

<sarcastic>
oo, i like syrprises! I can't wait that time, when Linus don't tell anybody what will be in next release of kernel, and then, after few months of waiting, we all be syrprised...
</sarcastic>

as i belive, the idea of open software, means also open development process. I understand the nbd's and TheRoDent's, because nobody dont knows, when will be available and how will work next release of OpenWRT. And also, because we can't get older WRT54G units anymore, the OpenWRT is almost useless until next release... TheRoDent releases buildable source, with many gliches, but this, at least is something for 2.2/1.1 hardware revisions...

I disagree with this, while I can see resentment if you really were holding this firmware over somebodys head (teasing) saying look what I have and you don't. For sure the would cause resetment. Otherwise a new feature or features is something to be anticipated IMHO.

What about a todo type file or forum post that says: here is where I would like to see this go and here are features that I am trying to incorperate. Nobody that I know looks at a todo file and gets resentful because those features are not in the program yet.

Honestly, it would be great to have a wishlist.  Perhaps this could be done with Bugzilla (or another phpBB forum specifically for that purpose, although Bugzilla has the feature of assigning the maintenance of said task to a particular user) so that people can submit suggestions and patches for OpenWRT, as well as URLs for their own derivative works (myWRT, et al).  This would probably help remove a lot of duplication of efforts and allow for more eyes to see what was going on without the whole "when will feature x be done".  (I got this idea from dnet, when looking for some progress porting the client to mipsel-linux.)

As for the release early, release often, that's what CVS and software branches are for.

That's my $0.02

Really? In fact it was done by aschulz in December - http://openwrt.org/forum/viewtopic.php?t=665. So what did You achieve?

What he achieved was creating a buildroot and an image that let owners of the new 2.2 units use them with OpenWRT.  If it wasn't for him, we'd be dead in the water.

Instead of flaming him for doing this work, why not welcome his support?   A project is doomed to failure (or forking) when it starts rejecting this sort of contributions. 

I'm typing this through a 2.2 WRT right now.  That wouldn't be happening if it wasn't for TheRodent's work.   I'm logging issues I find to this board, in the hopes that it will help with getting the new units supported in the main release.  And I'm quite glad that he put the effort into doing it.

Thanks, TheRodent!  It's appreciated by others.

--Brian

It was just a question.  roll

I for one look forward to a nice easier interface to build custom packages. Everytime I want something that hasn't been added it's a nitemare to throw it all together. So far I've just copied Nico's setup to build packages. Not to mention that when I sync the cvs repository with with my end I by hand move everything over.

Anyway, I was just asking if he had tried to join the club. Obviously he's allowed by the GPL to do what he has done, and I certainly don't have a problem with him doing so. I'd just love more core OpenWRT developers working together to make this an even greater project!

I'm not much for arguing about things and you don't know me from a hole in the wall, but just so you know. If I was trying to stir up trouble, there would be no question about it.  lol

Dan

RaBiDFLY, that's an unnecessarily harsh line of questioning.  You imply that no-one should make a derivative work of OpenWRT without first attempting to work with the OpenWRT developers.  What a load of rubbish.  Being open source, anyone is free to do whatever they want with OpenWRT, provided they keep to the conditions of the GPL, which is what nbd has done.

Nbd has not gone off and made his own OpenWRT fork - not that there's anything wrong with doing that either.  myWRT is basically OpenWRT with a different, easier compilation procedure.  What's wrong with writing it, getting it working, and then coming back and saying "hey guys, what do you think of this?".  It takes the load of the core developers, for one thing.

I for one have found compiling OpenWRT and its packages quite difficult, and I can imagine that quite a few potential package developers have been put off by it.  An easier compilation system like myWRT is what I've been hoping for.  If you can configure and compile a linux kernel with menuconfig then you've got the skills required to compile myWRT.  I have those skills and yet have great difficulty consistently compiling OpenWRT - something always seems to be broken.  I'm sure I'm not the only one in this situation.

I don't expect OpenWRT's maintainers to come up with such a system, either.  They seem to be flat-out keeping the core system compatible with the new hardware and firmware releases that Linksys keep throwing at them - rather important work I think you'd agree.  myWRT is not the sort of system the maintainers need, anyway.  myWRT is aimed at advanced-end-users like me.  Anything that makes OpenWRT easier to contribute to has to be a good thing.

Anyway, I was just asking if he had tried to join the club. Obviously he's allowed by the GPL to do what he has done, and I certainly don't have a problem with him doing so. I'd just love more core OpenWRT developers working together to make this an even greater project!

I completly agree with you RaBiDFLY. I think OpenWRT is an amazing project. Personally I'm taking a great advantage of it at my work. I'd really love to contribute more in developing, but I'm not an expert. All I can do is help some people in the forums or in the IRC as often as I can.

I saw all the arguing between TheRoDent and Kaloz. I was really surprised of the situation... I couldn't really understand why was Kaloz blaming at TheRoDent, but I think it was just a misunderstand that, being as it was, their first contact, led into a 'never will get on well' relation. I think Kaloz misinterpreted TheRoDent's intention, thinking he was showing up or something like that (maybe he was, who knows), but afterwards, The RoDent showed he was really good willing and a good developer. He got a working image out of the new linksys sources in a few days (three if I'm not wrong) and even if he felt himself insulted (having been or not, I don't judge this) he offered it to anyone they needed (like me).

I am infinitelly thankful to The RoDent; I have 250 WRT54G 2.2, and they'd be still waiting for a working OpenWRT if it weren't for him.

But we can't forget the work Kaloz, mbm and the others do. They've always been very helpful and polite in the IRC and the forums and have developed the project by themselves...

As I said in the begining, I agree with you that we need as many core developers as possible. I really feel sad when I see a situation like this between The RoDent and Kaloz, both working for a common project and collaborating the minimum as posible... We all (including you both, Kaloz and TRD) would win a lot if you worked together...

Keep on working guys, you do it so well, and your work helps a lot of people every day.

Thank you ALL

yissnn

The discussion might have continued from here.