Commit Graph

114 Commits

Author SHA1 Message Date
Thomas Petazzoni
7266e7630d busybox: add support to link against libtirpc when available
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:16 +01:00
Thomas Petazzoni
8f579792f1 busybox: don't force FEATURE_NFS_MOUNT
Instead of making the Busybox configuration more complicated by trying
to adjust it depending on whether RPC is available or not (which gets
complicated when RPC support can be provided by libtirpc), simplify
things by letting the user enable FEATURE_NFS_MOUNT or not depending
on whether RPC support is available or not.

Our default configuration do not enable FEATURE_NFS_MOUNT, so users
will not face any build problems by default. Only if they explicitly
enable FEATURE_NFS_MOUNT will they have to make sure that the
toolchain has RPC support, or that libtirpc is enabled (support for
this added in a followup patch).

[Peter: remove from CONFIGURE_CMDS as well]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 01:11:02 +01:00
Danomi Manchego
3a887b7eb8 busybox: add license info
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-15 12:02:48 +02:00
Maxime Ripard
c92aacd330 Rework of the init system
Since we have now two uncompatible init systems, and we want only one of
them at the same time in use in the rootfs, we need to select a
particular init system. This patch also adds $(PKG)_INSTALL_INIT_SYSTEMD
and $(PKG)_INSTALL_INIT_SYSV hooks that are called when the matching
init systems are selected to install properly the init scripts of the
package.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-30 23:12:17 +02:00
Arnout Vandecappelle (Essensium/Mind)
e1502ebc0c all packages: rename XXXTARGETS to xxx-package
Also remove the redundant $(call ...).

This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS))/$(eval $(generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS))/$(eval $(autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS))/$(eval $(cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:23:05 +02:00
Fabio Porcedda
07639ff186 busybox: add watchdog daemon startup script
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-06 22:43:52 +02:00
Maxime Ripard
c7746857d1 Convert busybox to the device declaration method
Busybox used to declare and create files even if the package was not
enabled through the device table. Remove the entries for busybox in the
device table and move them to the package declaration.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-01 23:04:49 +01:00
Peter Korsgaard
468f1cac8a busybox: remove old unused quirk handling
The definition of these variables were removed back in June
(7d814728 / f1e4aac4).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-23 23:36:32 +01:00
Thomas De Schampheleire
96474df156 busybox: rename busybox-update to busybox-update-config
The original name busybox-update is confusing as it only updates a
configuration file.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-11 20:14:22 +01:00
Philippe Pepiot
9d7c922c5c busybox: Fix syntax error when installing S10mdev
Signed-off-by: Philippe Pepiot <phil@philpep.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-26 23:17:42 +02:00
Peter Korsgaard
6161049aed busybox: only install S01logging / S10mdev if not present in fs skeleton
To allow custom syslogd / mdev configutations.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-18 15:04:23 +02:00
Thomas Petazzoni
0849e8193e package: remove useless arguments from GENTARGETS
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
GENTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.

[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-29 23:09:58 +02:00
Benoit Mauduit
80eeabc55d busybox: Add busybox-xconfig and busybox-gconfig rules
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-24 23:57:16 +02:00
Luca Ceresoli
fc71f7e6f2 busybox: provide /etc/mdev.conf if mdev is used
Without an mdev.conf file installed, mdev generates some /dev entries in
an incorrect or non-standard way. Some examples:
 1. /dev/null has permissions 660, but it should be accessible to normal
    users;
 2. alsa devices get created in /dev, not /dev/snd as is more common,
    and as the default value of BR2_PACKAGE_ALSA_LIB_DEVDIR suggests;
 3. event<N> files are created in /dev, not /dev/input.

This mdev.conf is a selection from the examples provided in the busybox
sources with minor tweaks.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-11 13:41:25 +02:00
Peter Korsgaard
abf7af17e9 busybox: only install S01logging if syslogd applet is enabled
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-04 21:03:37 +02:00
Maxime Ripard
ad501b6634 Rework the logging daemons startup
The logging mechanism startup being in inittab, it isn't easy to
overcharge the default policy. With this patch, the startup of the
syslog daemon is moved to an init.d script, that can easily be
overwritten.

[Peter: use install -D]
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-04 20:57:10 +02:00
Maxime Ripard
7d814728ae Remove obsolete code in busybox.mk
Remove this quirk since the tested code is no longer present in busybox
since 1.10.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-04 10:18:21 +02:00
Maxime Ripard
f1e4aac40e busybox: remove quirk for old unsupported versions
This code is no longer useful, since the oldest version supported by
Builroot is 1.16.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-04 08:13:48 +02:00
Thomas Petazzoni
85e54a6b77 busybox: adjust configuration for non-MMU targets
The swaponoff applet doesn't build (and doesn't make sense) on non-MMU
platforms.

The ash shell cannot build on non-MMU platforms (because it uses
fork()), so select the hush shell instead.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-12 21:52:52 +02:00
Thomas Petazzoni
837a85e70c busybox: tune config according to BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-12 21:52:19 +02:00
Yegor Yefremov
726b15f64a Create menu entry to select device creation method
Four methods for the creation of device files in /dev are now
proposed:

 - static method uses device table as before
 - devtmpfs method enables this feature in kernel
 - mdev method adds mdev starting script to the file system
    and selects mdev itself for installation
 - udev method selects udev for installation

All dynamic methods are based on devtmpfs, so one doesn't need to care
about /dev folder.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-09 14:20:03 +02:00
Peter Korsgaard
2c97608387 busybox: ensure source gets downloaded/extracted/patched before -menuconfig
Closes #3511

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-28 21:33:26 +02:00
Kim Jae-hui
0705e448a4 busybox: fix busybox-menuconfig after 69df644f5
Closes #3109

Pass the correct -C <dir> option to make menuconfig.

Signed-off-by: Kim Jae-hui <twinkle.j4k@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-18 09:23:40 +01:00
Mike Frysinger
ca2b65a651 busybox: let buildroot handle stripping
For some ABI's (like FLAT), we cannot strip busybox as the file format
does not support it and strip will abort with errors like 'File format
not recognized'.  Since the toplevel already takes care of stripping
things, simply disable the busybox step.

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-11 10:50:13 +01:00
Mike Frysinger
69df644f5c busybox: unify duplicated build steps
This does set a few more vars in some steps that weren't set before, but
they should be harmless in the contexts in question.  And the resulting
save in duplication is nice.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-11 10:49:47 +01:00
Peter Korsgaard
c482c5ab6f busybox: get rid of BR2_PACKAGE_BUSYBOX_FULLINSTALL
As discussed on IRC, this only needs to be disabled for very specific
configurations, and it can nowadays be done with a custom busybox
.config (CONFIG_INSTALL_APPLET_DONT), so get rid of the option.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-21 20:25:29 +01:00
Lionel Landwerlin
274e34af3b busybox: move udhcp script from skeleton to package
Since udhcpc is part of busybox, it seems logical to move the udhcpc
script from skeleton to busybox.

[Peter: only install if not available in skeleton]
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 00:29:23 +01:00
Peter Korsgaard
ebf21166b7 uClibc: remove old 0.9.28 support
Not supported upstream and needs complicated workaround for the NPTL stuff.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 17:02:29 +02:00
Gustavo Zacarias
d8a41bb536 busybox: fix cflags
Pass CFLAGS as env rather than opt to allow the build system to tweak them.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-22 18:13:00 +02:00
Dmytro Milinevskyy
d9119c0bc5 move default skeleton to fs/ and drop busybox skeleton
[Peter: fixup patch, adjust for busybox.mk changes]
Signed-off-by: Dmytro Milinevskyy <milinevskyy@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-18 23:08:55 +02:00
Gustavo Zacarias
3169aae85e busybox: add 1.17.0, convert to gentargets, drop 1.12, deprecate 1.13 and 1.15
Closes #2167

[Peter: fix CONFIG_ID workaround for old uClibcs]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-12 13:32:38 +02:00
Thomas Petazzoni
a1c8fa41f6 Update all packages to quote $(TARGET_CC)
Now that TARGET_CC contains several space-separated words, it must be
used quoted everywhere.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:20:21 +02:00
Grant Edwards
532e1fb5d3 busybox: pass EXTRA_LDFLAGS for external toolchains
Closes #1321

[Peter: Rework patch to make it apply to git]
Signed-off-by: Grant Edwards <grant.b.edwards@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-01 20:57:28 +02:00
Thomas Petazzoni
55098e5048 busybox: make sure architecture flags are used at link time
When compiling Busybox, according to readelf -A, all object files were
properly compiled according to the select architecture (-march=armv4t
for example), but the final busybox binary could be of a different
architecture (ARMv5t even if ARMv4t was selected).

This patch changes the way we configure/compile Busybox so that our
CFLAGS aren't anymore passed through the make EXTRA_CFLAGS variable,
but through the .config CONFIG_EXTRA_CFLAGS variable. Unfortunately,
those variables don't have exactly the same semantic for the Busybox
build system.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-17 02:10:58 +02:00
Thomas Petazzoni
7a0263525f Remove BR2_PREFER_IMA
This option is barely used, no-one is maintaining it or extending
it. So let's remove it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-11 05:59:59 +02:00
Peter Korsgaard
3ef9b6969c busybox: respect BR2_PREFER_STATIC_LIB
Build static version if requested in BR config.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-05 13:29:01 +02:00
Peter Korsgaard
57922bfbf3 busybox: look at kernel headers for include files as well
E.G. for flash_* applets.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-11-28 14:25:13 +01:00
Thomas Petazzoni
397fe5cc0b Remove the "project" feature
The "project" feature was designed to allow to several projects to be
built inside the same Buildroot source tree and allowing the toolchain
and non-configurable packages to be shared between the different
projects on the same architecture. While being interesting in theory,
this feature adds a level of complexity to Buildroot, both from an
user perspective and from a developer perspective, while one of the
main Buildroot strengh is to be simple. Moreover, this feature is only
seldomly used by our users.

From a user-level perspective, this for example allows to remove the
project_build_ARCH directory, which was very confusing. The
autotools-stamps directory is also removed, since these stamps are
back at their normal location.

Description of the changes involved :

 * project/, directory removed

 * Makefile

    - Don't include project/Makefile.in and project/project.mk anymore

    - Grab a copy of the contents of project/Makefile.in at the
      location it was imported, but remove the definition related to
      PROJECT_BUILD_DIR. The TARGET_DIR is now in
      $(BUILD_DIR)/target_dir

    - Remove the creation/removal of the $(PROJECT_BUILD_DIR) and
      $(PROJECT_BUILD_DIR)/autotools-stamps directories

    - Don't make world depends on target-host-info. This target was
      defined by project/project.mk to customize /etc/issue,
      /etc/hostname and create /etc/br-version depending on the
      project definitions. We can of course imagine re-adding such a
      feature later.

    - Replace PROJECT_BUILD_DIR by BUILD_DIR everywhere

    - Remove the update, log and lognr.$(PROJECT) target, they were
      specific to the project feature.

 * package/Makefile.autotools.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

    - Move the INSTALL_TARGET and HOOK_POST_INSTALL stamps to the same
      directory as the other stamps (i.e, in the package directory).

 * package/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

 * package/at/at.mk,
   package/busybox/busybox.mk,
   package/busybox/initramfs.mk,
   package/customize/customize.mk,
   package/linux-fusion/linux-fusion.mk,
   package/ltp-testsuite/ltp-testsuite.mk,
   package/nfs-utils/nfs-utils.mk,
   target/cpio/cpioroot.mk,
   target/cramfs/cramfs.mk,
   target/device/Atmel/DataFlashBoot/DataflashBoot.mk,
   target/device/Atmel/Makefile.in,
   target/device/Atmel/at91bootstrap/at91bootstrap.mk,
   target/device/KwikByte/Makefile.in,
   target/ext2/ext2root.mk,
   target/initramfs/initramfs.mk,
   target/iso9660/iso9660.mk,
   target/jffs2/jffs2root.mk,
   target/linux/Makefile.in,
   target/romfs/romfs.mk,
   target/squashfs/squashfsroot.mk,
   target/tar/tarroot.mk,
   target/ubifs/ubifsroot.mk

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

 * target/device/Config.in

    - Do not include project/Config.in anymore

 * target/linux/Makefile.in.advanced

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Store the stamps file in $(STAMP_DIR) instead of
      $(PROJECT_BUILD_DIR)/autotools-stamps

 * target/u-boot/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Remove $(PROJECT) from the U-Boot target binary name

    - Remove the insertion in the configuration of the project name as
      the hostname

    - The u-boot-autoscript target now generates
      $(U_BOOT_AUTOSCRIPT).img instead of
      $(U_BOOT_AUTOSCRIPT).$(PROJECT)

 * toolchain/gcc/gcc-uclibc-3.x.mk
   toolchain/gcc/gcc-uclibc-4.x.mk

    - Move the stamps files to $(STAMP_DIR)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:28:25 +02:00
Thomas Petazzoni
3c35d55ea9 packages: use qstrip
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:17 +02:00
Will Newton
422ce6536b package: Remove unnecessary dependencies on uclibc.
A C library will have been built by the toolchain makefiles, so there is no
need for packages to explicitly depend on uclibc.

Signed-off-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-03 20:22:38 +02:00
Peter Korsgaard
4ae691ecb9 busybox: also enable ipv6 support in ifupdown if ipv6 support is enabled
Reported by: Chris Smith <chris.smith@tandberg.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-24 23:27:53 +02:00
Peter Korsgaard
ab5208886e busybox: autodetect nfs mount support based on BR2_INET_RPC setting
Override nfs mount support based on BR2_INET_RPC setting, so BR will DTRT.
This way you will automatically get NFS support in busybox if available in
the toolchain, and the build won't break if the defconfig enables it but
the user has it disabled in the toolchain.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-06-22 15:28:36 +02:00
Peter Korsgaard
8843ded099 busybox: fix brown paper bag typo introduced in a7ed91a
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-05-26 22:49:06 +02:00
Peter Korsgaard
a7ed91a957 busybox: additional 1.14.0 fixes
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-05-19 12:01:57 +02:00
Peter Korsgaard
55b03d6115 busybox: remove ancient versions 2009-04-15 13:42:08 +00:00
Peter Korsgaard
c19a51f993 busybox: add 1.14.x 2009-04-15 13:42:03 +00:00
Peter Korsgaard
6e7f92310a busybox: rebuild if .config changed
As reported on irc - Fixes busybox-menuconfig
2009-01-29 11:29:49 +00:00
Peter Korsgaard
85d756d5cc busybox: remove unused handling of ancient versions no longer in BR 2009-01-29 11:27:20 +00:00
Peter Korsgaard
4a7bfd2775 package/: convert to DOWNLOAD helper 2009-01-16 11:42:52 +00:00
Peter Korsgaard
82569c48fe busybox: fixup id applet on 1.13.0 for old uclibc versions
The id applet in 1.13.0 only compiles with uclibc < 0.9.30 if the
busybox internal passwd/grp functions are used.

Therefore, automatically enable CONFIG_USE_BB_PWD_GRP if that situation
is detected and warn the user.
2008-11-21 14:36:48 +00:00