Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Buildroot and NOMMU
@ 2013-08-04 14:38 Plüss Tobias TA.E.1001
  2013-08-06  8:02 ` Plüss Tobias TA.E.1001
  0 siblings, 1 reply; 4+ messages in thread
From: Plüss Tobias TA.E.1001 @ 2013-08-04 14:38 UTC (permalink / raw)
  To: buildroot

Hi all,

I would like to use Buildroot for my self made embedded system which uses an ARM7TDMI processor. It doesn't have an MMU. So my question is:

is it sufficient to disable MMU support in the

make menuconfig

of Buildroot, or do I have to do

make uclibc-menuconfig

and

make busybox-menuconfig

as well and disable MMU support in each of these? Or shall I left the uClibc and Busybox settings unchanged? Because I want only a very minimalistic system for my first tests.

Thanks in advance,

Tobias

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130804/76ab7371/attachment.html>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] Buildroot and NOMMU
  2013-08-04 14:38 [Buildroot] Buildroot and NOMMU Plüss Tobias TA.E.1001
@ 2013-08-06  8:02 ` Plüss Tobias TA.E.1001
  2013-08-06  8:59   ` Thomas Petazzoni
  0 siblings, 1 reply; 4+ messages in thread
From: Plüss Tobias TA.E.1001 @ 2013-08-06  8:02 UTC (permalink / raw)
  To: buildroot

Hi together,

it looks like nobody knows an answer to my question, so I'll answer myself in case anybody has once some similar problems.

Buildroot offers an option which enables an MMU-less build. However, if this option is checked in buildroot, uClibc and BusyBox are still built with MMU on. In order to disable the MMU for BusyBox and uClibc as well, one has to

make uclibc-menuconfig, as well as
make busybox-menuconfig

and disable the MMU in these individual menuconfigs. However, building BusyBox without MMU works without problems, but uClibc definitely *wants* an MMU, and I was unable to figure out some settings which allow disabling the MMU. It always produces the same warning: undefined reference to "fork". Which is very plausible, since fork() needs an MMU; the replacement would be vfork() but uClibc doesn't know that, and in the standard implementation, it looks like vfork() is missing or so. So the quintessence of this is: for ARM targets, it is - at least without modifying some code - not possible to force an NO MMU build for uClibc.

But then I wonder what the NOMMU option is for, if uClibc build fails when this option is enabled? and why can one build uClibc for targets like Blackfin, which do not have an MMU as well? Could somebody clarify?

Tobias.

________________________________
Von: Pl?ss Tobias TA.E.1001
Gesendet: Sonntag, 4. August 2013 16:38
An: buildroot at busybox.net
Betreff: Buildroot and NOMMU

Hi all,

I would like to use Buildroot for my self made embedded system which uses an ARM7TDMI processor. It doesn't have an MMU. So my question is:

is it sufficient to disable MMU support in the

make menuconfig

of Buildroot, or do I have to do

make uclibc-menuconfig

and

make busybox-menuconfig

as well and disable MMU support in each of these? Or shall I left the uClibc and Busybox settings unchanged? Because I want only a very minimalistic system for my first tests.

Thanks in advance,

Tobias

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130806/87585ffb/attachment.html>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] Buildroot and NOMMU
  2013-08-06  8:02 ` Plüss Tobias TA.E.1001
@ 2013-08-06  8:59   ` Thomas Petazzoni
       [not found]     ` <38F83949ED76A946BE17B6F2F98F362E0DA60D@MX33.campus.intern>
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2013-08-06  8:59 UTC (permalink / raw)
  To: buildroot

Dear Pl?ss Tobias,

Sorry, I had your e-mail in my list of e-mails to reply, but failed to
do so.

On Tue, 6 Aug 2013 08:02:14 +0000, Pl?ss Tobias TA.E.1001 wrote:

> Buildroot offers an option which enables an MMU-less build. However,
> if this option is checked in buildroot, uClibc and BusyBox are still
> built with MMU on. In order to disable the MMU for BusyBox and uClibc
> as well, one has to
> 
> make uclibc-menuconfig, as well as
> make busybox-menuconfig
> 
> and disable the MMU in these individual menuconfigs. However,
> building BusyBox without MMU works without problems, but uClibc
> definitely *wants* an MMU, and I was unable to figure out some
> settings which allow disabling the MMU. It always produces the same
> warning: undefined reference to "fork". Which is very plausible,
> since fork() needs an MMU; the replacement would be vfork() but
> uClibc doesn't know that, and in the standard implementation, it
> looks like vfork() is missing or so. So the quintessence of this is:
> for ARM targets, it is - at least without modifying some code - not
> possible to force an NO MMU build for uClibc.
> 
> But then I wonder what the NOMMU option is for, if uClibc build fails
> when this option is enabled? and why can one build uClibc for targets
> like Blackfin, which do not have an MMU as well? Could somebody
> clarify?

The noMMU support in Buildroot is still a work in progress, and the
problems you pointed definitely exist and are simply due to a lack of
work on getting noMMU better in Buildroot.

Until recently, Blackfin was only working using external toolchains.
Gustavo sent some patches to make the internal toolchain backend work
for Blackfin, but I think it still generates some ELF binaries while
FLAT binaries would be expected. Gustavo also said he would have more
fixes to bring ARM noMMU to a better shape, but he hasn't posted those
patches yet.

So the short answer is that yes, noMMU isn't working properly yet, and
patches are welcome.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] Buildroot and NOMMU
       [not found]     ` <38F83949ED76A946BE17B6F2F98F362E0DA60D@MX33.campus.intern>
@ 2013-08-06 10:22       ` Thomas Petazzoni
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2013-08-06 10:22 UTC (permalink / raw)
  To: buildroot

Dear Pl?ss Tobias TA.E.1001,

Please keep the Buildroot list in Cc.

On Tue, 6 Aug 2013 09:16:51 +0000, Pl?ss Tobias TA.E.1001 wrote:

> thank you for the information! I would like to help improve things
> concerning this subject, if I could do any things, let me know. I'm
> very interested in this, since I have some selfmade ARM boards where
> it would be really interesting to run Linux on; but, as they don't
> have an MMU, I need uClibc, BusyBox and of course Buildroot, all of
> them with NOMMU support.

Well, someone needs to look into those issues and find the solutions. I
can certainly cook some patches, but I don't have a hardware platform
to test things on. If you're willing to do some testing+debugging, then
we could try to work together on this.

But I'd like first to hear about the status of Gustavo's work, as I'd
prefer to avoid duplicating his work.

> When I searched the internet, I found various sites concerning
> uCLinux on ARM, even with uCLibc. Since it is uCLinux, it must be
> without MMU, but, however, I was not able to find *anything* about
> where these people have the NOMMU uClibc from :-) But of course it
> would be really nice if it was possible from within Buildroot, using
> only standard tools and no patches, to get a NOMMU build.

Most likely from uClinux-dist, which has been for a while the reference
Linux distribution for noMMU platforms. Unfortunately, it is no longer
that well maintained.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-08-06 10:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-04 14:38 [Buildroot] Buildroot and NOMMU Plüss Tobias TA.E.1001
2013-08-06  8:02 ` Plüss Tobias TA.E.1001
2013-08-06  8:59   ` Thomas Petazzoni
     [not found]     ` <38F83949ED76A946BE17B6F2F98F362E0DA60D@MX33.campus.intern>
2013-08-06 10:22       ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox