AMiLDA FORUM

You are not logged in.

Announcement

### Our Homepage is down at the moment...work in progress !! ###

#1 2006-03-11 13:36:32

MrZack
Administrator
Austria
Registered: 2006-02-15
Last visit: 2017-10-23
Posts: 106

makemenu...

Can someone point me to the right direction where i can start bombing my brain with this nice makemenu stuff? big_smile

I'd like to learn more on how to make and use this kind of menu...
I tryed googeling, but cant seem to find a good start hmm

Thanx


Nothing is impossible....except that the state of your mind makes it so.

Offline

 

#2 2006-03-12 00:58:34

HH
Developer
Registered: 2006-02-15
Last visit: 2007-03-12
Posts: 103

Re: makemenu...

Good luck.  All I know is that it uses ncurses and "make menuconfig" ends up creating "lxdialog" which is the menu application.  I've looked at this myself in the past and couldn't find any good tutorials or overviews of the process.  Maybe that's why I hate "make menuconfig".  I prefer straight "make config".

I had to use it to build OpenWrt yesterday and I was reminded of why I hate it so much.  There always seem to be glitches and it's always confusing to me.  Your only option might be to sort through the scripts and figure out how it's used.  The documentation is non-existant as far as I can see.

Offline

 

#3 2006-04-05 03:06:01

HH
Developer
Registered: 2006-02-15
Last visit: 2007-03-12
Posts: 103

Re: makemenu...

Some new info on this.  Sort of stolen from the openwrt buildroot system.   I found that in the openwrt/package/config directory there is the application that runs the full-screen menuconfig.  The documentation is still nowhere to be found, but from this directory and the individual Config.in files scattered throughout the tree it is making more sense.  I was able to change the menus around, adding some things and deleting others.

I'm having a go at building a router kernel using the buildroot approach.  It's not going very fast because there's no documentation on it either.  Reading the Makefiles and scripts is the only way to learn how it works.

I have it building in this order:

toolchain (with uClibc and gcc-3.4.4)
packages (so far only busybox and dnsmasq)

Not Linux yet, but that's next.

This might be usable for AMiLDA.  Everything in AMiLDA is in the initrd, of course, without squashfs or jffs2, but I think that does not really matter.  It all depends on the packages chosen, and, of course, running ipkg on a running router is not something for AMiLDA.  It's an interesting experiment.

Offline

 

#4 2006-04-05 09:40:51

MrZack
Administrator
Austria
Registered: 2006-02-15
Last visit: 2017-10-23
Posts: 106

Re: makemenu...

HH wrote:

....  It's an interesting experiment.

Yes...a very good way to learn smile
Make a minimum to get the hang of it and then work your way up.
And then make a tutorial wink


Nothing is impossible....except that the state of your mind makes it so.

Offline

 

#5 2006-04-05 10:47:08

juhosg
New member
Hungary
Registered: 2006-02-23
Last visit: 2010-02-18
Posts: 6

Re: makemenu...

HH wrote:

... The documentation is still nowhere to be found, ...

I use these docs, when i playing with OpenWrt:
- openwrt/docs/buildroot-documentation.html,
- openwrt/package/config/Kconfig-language.txt,
- OpenWrt BuildingPackagesHowTo

Offline

 

#6 2006-04-05 22:24:49

HH
Developer
Registered: 2006-02-15
Last visit: 2007-03-12
Posts: 103

Re: makemenu...

I found this page re. buildroot.  It wasn't invented by the openwrt at all.  They simply adopted it and modified it for their own use.  Very interesting because now it's clear what the original buildroot does and how the openwrt devs modded it.

http://buildroot.uclibc.org/docs.html

It does not allow you to pick gcc-2.95 or gcc-2.96.  It does not allow you to pick Linux headers before 2.4.25.  I'm testing if it will build a toolchain for gcc-3.4.2 with headers I prepared for 2.4.18.

When it finishes running it leaves you with a root filesystem for a target  The toolchain stuff could be modified to use an existing toolchain and uClibc.

A tutorial is a few weeks away, MrZack  smile

Offline

 

#7 2006-04-06 03:14:22

HH
Developer
Registered: 2006-02-15
Last visit: 2007-03-12
Posts: 103

Re: makemenu...

I really don't like buildroot.  It tries to do too many things.  It claims to support dependencies but it falls far short.

First big problem I encountered:  whenever you change the config file for busybox, builtroot insists on re-downloading the busybox source code all over again.  I fixed that behavior but it shouldn't do that.  It makes me worry about what else it's doing.

Next problem:  I enabled "hotplug" (part of busybox) but compiling it fails because I didn't include USB support in uClibc. So I changed the uClibc config to include USB, but that's not good enough because buildroot wants to re-build busybox first. mad

It's probably fine for the casual user but for developers who make changes all the time it's broken in many ways.

What a mess.

And it gets worse....  When I convinced it to re-build uClibc it then proceeds to re-build gcc.  That takes an hour on my slow Linux machine and is not necessary in this case.

Last edited by HH (2006-04-06 03:44:06)

Offline

 

#8 2006-04-06 18:19:44

sergioag
Developer
Peru
From: Lima
Registered: 2006-02-16
Last visit: 2011-08-15
Posts: 166
Website

Re: makemenu...

HH wrote:

I really don't like buildroot.  It tries to do too many things.  It claims to support dependencies but it falls far short.

First big problem I encountered:  whenever you change the config file for busybox, builtroot insists on re-downloading the busybox source code all over again.  I fixed that behavior but it shouldn't do that.  It makes me worry about what else it's doing.

Next problem:  I enabled "hotplug" (part of busybox) but compiling it fails because I didn't include USB support in uClibc. So I changed the uClibc config to include USB, but that's not good enough because buildroot wants to re-build busybox first. mad

It's probably fine for the casual user but for developers who make changes all the time it's broken in many ways.

What a mess.

And it gets worse....  When I convinced it to re-build uClibc it then proceeds to re-build gcc.  That takes an hour on my slow Linux machine and is not necessary in this case.

That's why i mostly have a much more simple build system. It may be VERY primitive, but at least works. It gives the last word to the developer, which is as i think things should be.

Sergio

Offline

 

#9 2006-04-07 05:45:49

HH
Developer
Registered: 2006-02-15
Last visit: 2007-03-12
Posts: 103

Re: makemenu...

If I manage to tame this beast I'm going to call it... BUiLDA  lol

Offline

 

#10 2006-04-07 23:05:23

HH
Developer
Registered: 2006-02-15
Last visit: 2007-03-12
Posts: 103

Re: makemenu...

OK, it does not re-build all of gcc when you re-build uClibc.  It only recompiles the part that deals with math.  I think this is because you can enable/disable C99 math in uClibc and the compiler should know about those changes.  It only takes about 10 minutes to completely rebuild.

When I'm done I think it will be easy to point buildroot at another toolchain, like "/export/tools/bin/mipsel-linux-".

Offline

 

#11 2006-04-23 13:10:26

HH
Developer
Registered: 2006-02-15
Last visit: 2007-03-12
Posts: 103

Re: makemenu...

If you're still interested I stumbled upon this last night:

http://www.xs4all.nl/~zippel/lc/

It seems to be the home of LinuxKernelConf and has some documentation about how to set up configurations and dependencies.

Offline

 

#12 2006-04-25 22:38:27

margro
New member
Netherlands
Registered: 2006-03-15
Last visit: 2006-04-25
Posts: 4
Website

Re: makemenu...

Yes, the menuconfig system from Buildroot & OpenWRT is nothing more than a modified version of the Linux Kernel Config.

I've already some experience with adding such a menubased configuration system to a custom application. (I even made a port to Windows, but don't tell Linus  wink ).

I know also how the OpenWRT system works, but I don't like the dependencies on the kernel configuration. For selecting the required packages it is ok.

If you need help, I can help with the extension of AMiLDA with a menuconfig system and the required makefiles to make things work like OpenWRT (but better  smile ).

/Marcel


2x Sweex LB000021 with USB mod 2 serial ports and LCD; Linksys WRT54G

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2008 PunBB