Commit Graph

184 Commits

Author SHA1 Message Date
eric.le.bihan.dev@free.fr
0b90a82cda system: move init system option above /dev management.
The option to choose init system was below the one for /dev management.
As Systemd forces the use of udev, it is logical to swap them.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-11 01:28:10 +01:00
Thomas De Schampheleire
be084204eb Config.in files: add missing dependencies to toolchain option comments
When a package A depends on config option B and toolchain option C, then
the comment that is given when C is not fulfilled should also depend on B.
For example:

config BR2_PACKAGE_A
	depends on BR2_B
	depends on BR2_LARGEFILE
	depends on BR2_WCHAR

comment "A needs a toolchain w/ largefile, wchar"
	depends on !BR2_LARGEFILE || !BR2_WCHAR

This comment should actually be:

comment "A needs a toolchain w/ largefile, wchar"
	depends on BR2_B
	depends on !BR2_LARGEFILE || !BR2_WCHAR

or if possible (typically when B is a package config option declared in that
same Config.in file):

if BR2_B

comment "A needs a toolchain w/ largefile, wchar"
	depends on !BR2_LARGEFILE || !BR2_WCHAR

[other config options depending on B]

endif

Otherwise, the comment would be visible even though the other dependencies
are not met.

This patch adds such missing dependencies, and changes existing such
dependencies from
  depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
  depends on BR2_BASE_DEP
  depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
 (untested)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-10 23:59:57 +01:00
Abdul Hussain
01fb86332e device_table_dev.txt: Increase /dev/ttymxc count
Since debug uart on imx6 sabreauto board is ttymxc3.

Signed-off-by: Abdul Hussain <hussain.abdul@outlook.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-28 09:54:34 +01:00
Peter Sanford
9332e26125 skeleton: Update /etc/protocols from Debian Jessie
This update adds IP protocols created in the last 20 years.

Signed-off-by: Peter Sanford <psanford@nearbuysystems.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-27 08:27:38 +01:00
Thomas De Schampheleire
66bb10b7b0 Config.in files: unify comments of toolchain option dependencies
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-14 22:45:57 +02:00
Peter Korsgaard
7f1f9185e7 system: default to devtmpfs for /dev
As discussed on the list, devtmpfs is quite a bit nicer default than
the old static /dev, so change it.

Notice that you NEED to enable CONFIG_DEVTMPFS / CONFIG_DEVTMPFS_MOUNT
in the kernel configuration if you manually build a kernel outside
buildroot, otherwise the rootfs won't work.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-15 22:43:39 +02:00
Assaf Inbal
a68a51257e getty: add the ability to pass options to getty
Signed-off-by: Assaf Inbal <shmuelzon@gmail.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-15 22:17:53 +02:00
Assaf Inbal
ed6912e87d getty: Create specific getty config + cleanups
This commit introduces a specific BR2_TARGET_GENERIC_GETTY configuration flag.
This eliminates the need for checking if BR2_TARGET_GENERIC_GETTY_PORT is an
empty string or not. It also allows hiding various getty options when getty
isn't enabled.

Signed-off-by: Assaf Inbal <shmuelzon@gmail.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-15 22:15:59 +02:00
Thomas Petazzoni
b7c0041c31 kmod: does not support static builds
Since kmod 14, the support for building a static library has been
removed completely from kmod. Therefore, we mark kmod as
!BR2_PREFER_STATIC_LIB, as well as all its reverse dependencies, which
includes the option to use the "udev" /dev management method.

[Peter: show comment for udev when BR2_PREFER_STATIC_LIB is enabled]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-02 23:22:14 +02:00
Thomas De Schampheleire
59e0692095 host-mkpasswd: new package
Since the addition of root password setting support in buildroot, there have
been a few bug reports in this area ([1], [2]). In these cases, the system
mkpasswd did either not work, or did not provide the options we expect, like
-m <method>.

This patch adds a mkpasswd host package, based on the sources from whois. When
a non-empty root password is set, this package is used as a dependency.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

[1] http://lists.busybox.net/pipermail/buildroot/2013-July/075771.html
[2] http://lists.busybox.net/pipermail/buildroot/2013-July/075869.html

[Thomas P: use $(INSTALL) instead of install, put -lcrypt at the end
of build command line to allow gcc to find the crypt() function in
lcrypt.]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-10 19:49:32 +02:00
Danomi Manchego
3e56504d9f group file: define groups expected by udev
udev-182 requires several groups to be resolvable at udev startup,
including disk, cdrom, floppy, tape, audio, video, lp, tty, dialout,
and kmem.  Only some of these are in the default skeleton's group
file, So let's add the missing groups, and plugdev too.

This avoids getting these logs in /var/logs/messages:

Jan  1 00:00:08 buildroot daemon.err udevd[37]: specified group 'dialout' unknown
Jan  1 00:00:08 buildroot daemon.err udevd[37]: specified group 'kmem' unknown
Jan  1 00:00:08 buildroot daemon.err udevd[37]: specified group 'video' unknown
Jan  1 00:00:08 buildroot daemon.err udevd[37]: specified group 'lp' unknown
Jan  1 00:00:08 buildroot daemon.err udevd[37]: specified group 'floppy' unknown
Jan  1 00:00:08 buildroot daemon.err udevd[37]: specified group 'cdrom' unknown
Jan  1 00:00:08 buildroot daemon.err udevd[37]: specified group 'tape' unknown

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-01 08:06:22 +02:00
Jerzy Grzegorek
e0d9d33cc2 fix white spaces
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-20 21:13:57 +02:00
Yann E. MORIN
f1f97b3a05 system: add option to pass extra args to post-build and post-image scripts
It can be useful to have different configuration use the same post-build
and/or post-image scripts as they share a common infrastructure, but yet
have minor differentiation.

This option allows passing zero or more additional arguments to each
post-build or post-image script.

The same set of extra arguments are passed to all scripts, it is not
possible to pass different arguments to each script.

[Peter: fix help text, post-image gets called with the images dir]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-10 08:52:21 +02:00
Yann E. MORIN
2f2bf6a800 system/permissions: make /root group+others non-writable
Upon logging, dropbear whines if /root is group- or others-writable, and
key-based authentication is attempted, reverting to password-based
authentication:
    dropbear[149]: /root must be owned by user or root, and not writable by others
    dropbear[149]: Password auth succeeded for 'root' from 192.168.127.35:41566

On my system, /root was 770. Changing to 700 fixed the issue.

Having /root 700 is a good idea, anyway.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-23 21:51:57 +02:00
Peter Korsgaard
9dab397a4f system/skeleton: remove /etc/hostname
We already provide BR2_TARGET_GENERIC_HOSTNAME to set /etc/hostname,
so a default /etc/hostname file isn't needed.

More importantly, if the user has explictly set BR2_TARGET_GENERIC_HOSTNAME
to the empty string, we would still end up with a /etc/hostname containing
'buildroot' which is unlikely to be what the user wanted.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-19 20:27:01 +02:00
Yann E. MORIN
03bc3c3bdc system/device-table: do not set /home/default stgid
Currently, /home/default is mode 2755 which means it is setgid.
Since /home/default is not group-writable, it is useless.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-30 15:50:21 +02:00
Tzu-Jung Lee
d67b3a54af skeleton: add default login port to /etc/securetty
We ran into a "Login incorrect" problem when running the same rootfs
image across platforms with different loging ports ttyS0/1/2/3.

Simply assignning "console" to BR2_TARGET_GENERIC_GETTY_PORT, which in
turn modifies the /etc/inittab, is not enough because the "console" device
was missing in the /etc/securetty.

While current securetty has enumerated a lot of ttys, this patch should save
some efforts to enumerate more.

[Peter: guard with single quotes]
Signed-off-by: Tzu-Jung Lee <tjlee@ambarella.com>
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-26 23:00:30 +02:00
Thomas Petazzoni
beea18a4d8 system: remove trailing tabs in Config.in file
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-29 22:56:57 +02:00
Soren Brinkmann
2c4ff68e08 system/securetty: Add ttyPS[0-1]
Adding ttyPS0 and ttyPS1 to securetty for Zynq.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 23:32:11 +02:00
Thomas Petazzoni
c482eed74c Adjust prompt for the post-build scripts option
Since the post-image config option uses the plural for "Custom
scripts", do the same for the post-build config option, for
consistency.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-08 22:06:50 +01:00
Thomas Petazzoni
9fa32ba0b7 Add a post-image script mechanism
Just like we have a post-build script mechanism that gets executed
after the build of all packages but before the creation of the
filesystem images, let's introduce a post-image script mechanism, that
gets executed once all filesystem images have been generated.

This can for example be used to call a tool building a firmware image
from different images generated by Buildroot, or automatically extract
the tarball root filesystem image into some location exported by NFS,
or any other custom action.

[Peter: fix image script check]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-08 21:46:13 +01:00
Arnout Vandecappelle (Essensium/Mind)
7f86089292 target/generic: add filesystem overlay option
The filesystem overlay is a tree that is copied over the target fs
after building everything - which is currently usually done in the
post-build script.

[Peter: don't ignore missing directories]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-05 21:35:33 +01:00
Peter Korsgaard
4b2a40b6d7 system: simplify BR2_ROOTFS_SKELETON_DEFAULT handling
No functional change.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-06 21:52:18 +01:00
Yann E. MORIN
72defc45dd target: add different methods to encode passwords
Passwords can be encoded in different ways (from the weakest
to the strongest): des, md5, sha-256, sha-512

Add a choice entry to select the method, defaulting to 'md5'.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-06 21:52:18 +01:00
Yann E. MORIN
b98b191b5c system: set root password only for default skeleton
In case one is using a custom skeleton, the root pasword might already be
set in this case, and should not be overriden.

Just ask for (and set) the root password only for the default skeleton.

Reported-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-06 21:46:47 +01:00
Peter Korsgaard
2bb2e62a4b system: TARGET_GENERIC_GETTY: allow it to be disabled
For some systems, you don't want to run any getty, so allow the option
to be disabled when the empty string is used.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-04 21:39:05 +01:00
Yann E. MORIN
a45871bfc6 target: add option to set the root password
Add an option in the menuconfig to specify a root password.

If set to empty, no root password is created; otherwise, the password is
encrypted using MD5 (MD5 is not the default for crypt(3), DES-56 is, but
MD5 is widely available, not-so-strong, but not-so-weak either).

Add a check for 'mkpasswd' as a new dependency.

[Peter: fix typo/capitilization and simplify logic]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-30 18:00:16 +01:00
Richard Braun
a0df7e1f0b system: add option to configure TERM variable
This option is useful for cases where the terminal isn't a bare serial
vt100, but e.g. a linux tty with more features.

Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-16 01:01:14 +01:00
Stephan Hoffmann
4c52ff1acf skeleton: add /etc/nsswitch.conf
Toolchain Linaro 2012_09 and possibly other glibc based ones
rely on the existence of nsswitch.conf. If it's missing names
from /etc/hosts are not resolved and thus "localhost" is not
known.

Signed-off-by: Stephan Hoffmann <sho@relinux.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 16:32:16 -08:00
Simon Dawson
e2af182225 Add /var/www to device table
The /var/www directory is listed in /etc/passwd in the skeleton target
filesystem as the home directory of the www-data user (uid 33).

In the final target filesystem, /var/www should be owned by www-data. This
is important for the lighttpd package, for example.

Signed-off-by: Simon Dawson <spdawson@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 11:48:52 -08:00
Thomas Petazzoni
3845a93b30 dbus: uses fork(), requires MMU
In order to solve
http://autobuild.buildroot.org/results/34f6843137efda20626af72714c110280ec577d7/build-end.log,
this patch makes the D-Bus package as well as all the packages that
select the D-Bus package 'depends on BR2_USE_MMU'.

In addition, for the specific case of gvfs, the missing
BR2_TOOLCHAIN_HAS_THREADS dependency is added (threads are required by
D-Bus, so they are also required by gvfs which selects D-Bus).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-17 23:49:26 +01:00
Philippe Reynes
dbf4978e6b Allow to run severals post build scripts instead of only one
Using severals post build scripts is usefull to share
script between severals boards/projects.

[Peter: fix trailing spaces in Config.in]
Signed-off-by: Philippe Reynes <philippe.reynes@sagemcom.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-17 17:23:59 +01:00
Peter Korsgaard
9d8dd5ee62 system: fixup default device table locations after system/ got added
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 13:00:25 +01:00
Thomas Petazzoni
6c3e3ad419 New top-level directory: system
This directory groups the following elements:
 * the default root filesystem skeleton
 * the default device tables
 * the Config.in options for system configuration (UART port for
   getty, system hostname, etc.)
 * the make rules to apply the system configuration options

Even though the skeleton and device tables could have lived in fs/, it
would have been strange to have the UART, system hostname and other
related options into fs/. A new system/ directory makes more sense.

As a consequence, this patch also removes target/Makefile.in, which
has become useless in the process.

[Peter: fixup TARGET_SKELETON settings / documentation to match]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 12:51:08 +01:00