[Buildroot] problem to configure to make helloworld program and helloworld module be compiled and added to the tartget with a local external source
thomas.petazzoni at free-electrons.com
Tue Nov 19 14:29:23 UTC 2013
Dear Nils Koehler,
On Tue, 19 Nov 2013 15:01:30 +0100, Nils Koehler wrote:
> It is compiling and I can see that the compiled code is updated and present
> in the directory /buildroot-2013.08/Build/helloworld-1.0/
There is no such thing as a /Build/ directory in Buildroot. Maybe
you're talking about output/build/helloworld-1.0/, right?
Please be *precise* in the paths you give. Even a single character
difference... makes a complete difference.
> So far so fine, but it is missing in the /buildroot-2013.08/target/bin/
Are you talking about output/target/bin/ instead?
> What may be the problem right now?
> This is my actual .mk file:
> HELLOWORLD_VERSION = 1.0
> HELLOWORLD_SITE = /home/koehler/Desktop/Kernel/helloworld-1.0/
> HELLOWORLD_SITE_METHOD = local
> HELLOWORLD_LICENSE = GPLv3+
> HELLOWORLD_INSTALL_TARGET = YES
This last line is not needed, that's the default;
> define HELLOWORLD_BUILD_CMDS
> $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
> define HELLOWORLD_INSTALL_TARGET_CMDS
> $(INSTALL) -D -m 0755 $(@D)/helloworld $(TARGET_DIR)/bin
It should be:
$(INSTALL) -D -m 0755 $(@D)/helloworld $(TARGET_DIR)/bin/helloworld
If it still doesn't work, please post the file named "build.log" after
make helloworld-rebuild 2>&1 | tee build.log
> define HELLOWORLD_PERMISSIONS
> /bin/helloworld f 4755 0 0 - - - - -
Unless your binary needs to be setuid root, this part is not needed.
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
More information about the buildroot