Commit Graph

140 Commits

Author SHA1 Message Date
Thomas Petazzoni
9226a9907c Warn the user about the usage of output/target as the root filesystem
A very common mistake done by our users is that they use
output/target/ directory as their root filesystem. Even though this is
loudly documented in our Buildroot manual, people don't read
documentation, so it is not sufficient.

This patch adds a text file named
output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM which explains why
output/target isn't appropriate to use as the root filesystem. The
process is:

 * At the beginning of the build, right after the skeleton has been
   copied, support/misc/target-dir-warning.txt is copied to
   output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM

 * In the filesystem images creation code, this file is removed before
   launching fakeroot, and restored right after that, so that this
   file is not present in the generated root filesystem images.

Note that the file has not been added to the default skeleton for two
reasons:

 * It would have annoying to have in our source tree a file named in
   capital letters inside system/skeleton/

 * The proposed way works even if the user uses a custom skeleton.

[Peter: fixed typo]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Juha Lumme <juha.lumme@gmail.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-17 17:12:49 +01:00
Arnout Vandecappelle
ff3391323a iso9660 fs: use cpio initrd instead of ext2
The ext2 initrd is pretty broken, because it requires an additional
root=/dev/ram0 command line parameter, and a /init to mount
devtmps that isn't there in out ext2 rootfs.  So just use a cpio
instead.

Note that there is no check if the kernel supports initramfs or the
selected compression method.

Also removed a bit of dead code in iso9660.mk.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-14 22:53:25 +01:00
Arnout Vandecappelle
7e61918f9d cpio/initramfs: clarify their use in the help text
Recent mails on the list show that it is not very clear how to create
an initial RAM fs with buildroot.  So make this more explicit in the
cpio and initramfs help texts.  Hopefully this will reduce the /init
debugging we have to do.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-07 11:48:13 +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
Peter Korsgaard
5a61fbd823 fs/skeleton: remove /etc/TZ
Defaulting to UTC (which is what uClibc will default to when /etc/TZ is
missing) seems more sensible than US Mountain Time Zone in the default
rootfs skeleton.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-24 09:16:50 +02:00
Waldemar Brodkorb
ccd7f14cfe use portable printf instead of echo -e, needed for MacOS X buildhost
echo -e is not a portable way to do this, better use printf.
Works with MacOS X.

Signed-off-by: Waldemar Brodkorb <mail@waldemar-brodkorb.de>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-06 13:05:26 +02:00
spdawson@gmail.com
fe63b5925a Add the www-data user group to the skeleton target filesystem
The www-data user is defined in fs/skeleton/etc/passwd, with gid 33. But
gid 33 is not present in the group file.

Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-26 15:22:15 +02:00
Maxime Ripard
ba4917f593 Fix systemd failure with media devices
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-20 17:03:17 +02:00
Thomas Petazzoni
4ef7ec585c Remove unused .fakeroot.* mechanism
There used to be a mechanism using which packages could leave a
.fakeroot.<something> file which could contain commands to be executed
within the fakeroot environment. Since this mechanism is no longer
used by any package, remove it from the common infrastructure.

The latest user was nfs-utils, which used this mechanism to do the
"make install" as root, since doing otherwise was not supported. But
since 16e7b8255c, nfs-utils has been
upgraded and converted to the package infrastructure, and this hack is
no longer necessary. Another past user was the ltp-testsuite package,
for the same reason, and since
a72a670489, the fakeroot hack is no
longer needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-19 16:09:30 +02:00
Maxime Ripard
552b4f9400 Fix systemd failure with lock files
Systemd introduced a new policy described here:
http://lists.freedesktop.org/archives/systemd-devel/2011-March/001823.html

Add the "lock" group to buildroot to allow systemd to set this in place
at boot time

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-19 15:46:05 +02:00
Maxime Ripard
b5fd0f2709 Change the /etc/mtab symlink to use an absolute path
As systemd checks if /etc/mtab is a symlink to /proc/mount or
/proc/self/mounts, we need to change it so that we can run systemd.

http://cgit.freedesktop.org/systemd/tree/src/main.c#n1082

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-19 17:08:13 +01:00
Luca Ceresoli
1a994d58af Remove stray $ character from a bunch of init scripts
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-15 22:11:25 +01:00
Phil Edworthy
790fcac794 sh: Add additional ttySCs
There are a couple of Renesas SH devices with 8 serial ports used.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-11 22:00:51 +01:00
Yegor Yefremov
8c3e2cbb53 Introduce /run directory
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 23:03:13 +01:00
Maxime Ripard
2444085bdc Add support for package-declared devices
Add a way for packages to declare files they need instead of relying
only on device tables, which creates files no matter if the package is
indeed enabled, as we can see for busybox.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-01 22:55:49 +01:00
Maxime Ripard
a0aa54eb0d Rework of shutdown policy in inittab
This commit follows commit ad501b66. Start up of the busybox logging
daemons were moved to an init script but the shutdown were still
performed in inittab. This commit moves the shutdown policy to an
rcK script that calls the stop function of all the init scripts in
a reversed order.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-11 18:33:03 +01:00
Jean-Christophe PLAGNIOL-VILLARD
60033b8f88 Add ttyGS0 to securetty
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-10 16:12:34 +01:00
Peter Korsgaard
fe83751e8f fs/skeleton: make /var/lib/misc a symlink to /tmp
Similar to the other symlinks, so you can use E.G. dnsmasq with a read
only rootfs.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-06 10:00:46 +01:00
Thomas De Schampheleire
2c8502e821 /etc/profile: read in /etc/profile.d/*.sh files
For custom projects, it is more maintainable to add custom profile settings
in a separate file, than directly in /etc/profile.

This patch modifies /etc/profile to read in *.sh files from /etc/profile.d/,
a technique commonly used in Linux distributions.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-28 14:59:27 +02:00
Phil Edworthy
939f0074ec sh: Add ttySC* to securetty
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-28 13:33:51 +02:00
Maxime Ripard
ccd96a3559 Cleanup cramfs package declaration.
Cramfs still passes the device table to mkcramfs, which is irrelevant
now with fakeroot, remove this behaviour and the associated patch.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-27 15:42:24 +02:00
Gustavo Zacarias
6f5df8bcfe securetty: update to add ttySC for sh4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-26 11:11:03 +02:00
Arnout Vandecappelle (Essensium/Mind)
13a3afc536 fs/initramfs: refactor with fs/cpio
An initramfs is in fact the same as a cpio archive, but embedded in
the kernel.  So instead of duplicating the cpio infrastructure,
we can simply build images/rootfs.cpio and link that into the
kernel.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-27 22:46:00 +02:00
Arnout Vandecappelle (Essensium/Mind)
3fac21ef8d cpio: fix boot with dynamic /dev
Devtmpfs doesn't get automounted by the kernel when an initramfs is used.
Since cpio archives are used almost exclusively as an initramfs, the same
fix should be applied to it as for the initramfs.

Cfr. commit 424888e474 and
10a130f91e.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-27 22:36:26 +02:00
Thomas Petazzoni
10a130f91e initramfs/init: make sure that 0, 1, 2 fds are available
As the kernel doesn't automatically mount devtmpfs when an initramfs
is used, commit 424888e474 has
introduced a small wrapper script that mounts devtmpfs before starting
the real init.

Unfortunately, the problem is that in this case, the init process runs
without any 0, 1 and 2 file descriptors, so none of the
messages/errors printed by the various initialization scripts can be
seen. This is due to the fact the init process relies on 0, 1 and 2
being opened by the kernel before init is started. However, as
/dev/console isn't present on the filesystem at the time the kernel
tries to open the console to create the 0, 1 and 2 file descriptors,
the kernel fails on this and prints the famous "Warning: unable to
open an initial console".

The proposed workaround is to actually open 0, 1 and 2 to /dev/console
in the wrapper script, right after mounting the devtmpfs filesystem,
and before starting the real init. The "Warning" from the kernel is
still shown, but at least the messages from the init scripts are
visible.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-04 21:52:21 +02:00
Peter Korsgaard
3612ecf4a8 iso9660: fix build after linux package change
linux26 target is no more.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-27 23:26:36 +02:00
Peter Korsgaard
9dc7b73f3b System config: split static-dev device table setting into seperate option
As discussed here:

http://lists.busybox.net/pipermail/buildroot/2011-May/043251.html

Add BR2_ROOTFS_STATIC_DEVICE_TABLE for the extra device table file(s)
to create device nodes in /dev, rather than complicated logic in
BR2_ROOTFS_DEVICE_TABLE, making it complicated to move between static
and dynamic modes.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-25 00:09:33 +02:00
Peter Korsgaard
424888e474 initramfs: fix boot with dynamic /dev
Devtmpfs (which is used by devtmpfs/mdev/udev options) doesn't get
automounted by the kernel when an initramfs is used, causing boot
failures when a dynamic /dev is used.

Fix it by adding a pre-init script to mount devtmpfs before running init.

Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-20 16:30:14 +02:00
Phil Edworthy
d5247aa842 sh: Fix Buildroot sh targets to match gnuconfig targets
sh2eb and sh2a_nofpueb gnuconfig targets are no longer supported
in Buildroot. This patch replaces these Buildroot targets with sh2
and sh2a respectively, and adds sh4a targets as these are widely
used.

To build for devices without an fpu, the relevant toolchain flags
will have to be specified.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-18 23:26:12 +02:00
Peter Korsgaard
b7876e797d iso9660: fix build after af52661d (linux: rename LINUX26 to LINUX)
iso9660 used LINUX26_IMAGE_PATH, which got renamed. Adjust to match
the new name.

Reported-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-18 15:34:26 +02:00
Luca Ceresoli
36b4b852ee fs/skeleton: allow rootfs not to be remounted read-write
[Peter: prefix option with TARGET_GENERIC_]
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-10 22:44:24 +02:00
Peter Korsgaard
348e07c88d skeleton: inittab: remove /var/log/messages log on tty3
Hardcodes policy, is not critical, and people might not have tty3
(E.G. virtual consoles) available.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-04 21:44:28 +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
22fde22e35 Create and mount /dev/shm
The /dev/shm directory is neither created nor mounted as tmpfs as boot
time. This will cause troubles when using named semaphores on the
system.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-03 21:20:49 +02:00
Peter Korsgaard
e23a4bc752 Move rootfs content options under system configuration
Instead of the current mix between system config and filesystem menus.

At the same time rename 'Target filesystem options' menu to
'Filesystem images' as it now only contains options about image formats.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-12 23:40:05 +02:00
Peter Korsgaard
7d9d09db67 target/generic: only show getty port option if default skeleton is used
The special marker in etc/inittab might not be present with a custom
skeleton. At the same time make the option always active, remove the
hardcoded tty1/tty2 gettys and reword the option description slightly.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-12 17:21:06 +02:00
Thomas Petazzoni
4e005c47e5 Allow several device tables and split in two parts our device table
This allows to have a device table for all directories/files and
another device table for the device files themselves. Both are needed
for static /dev, but only the first one is needed when
devtmpfs/mdev/udev are used.

We take this opportunity to move the documentation of the device table
format in a common location, package/makedevs/README.

[Peter: simplify code slightly, fix indentation]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-09 16:52:22 +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
cffe3b1895 fs/skeleton: add ftp user/group
Needed by E.G. proftpd for the default (anonymous ftp) config.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-22 14:08:28 +02:00
Gustavo Zacarias
194ac2d549 squashfs: re-add legacy lzma support
Readd legacy LZMA support since older patched kernels might be using it.
Introduce an XZ target filesystem option for the new format.

[Peter: add a seperate xz target for squashfs-target as well]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-05 15:04:03 +01:00
Peter Korsgaard
313c3d0f39 squashfs: bump version
The EXTRA_CFLAGS patch is now upstream, but we need a fix for !gzip builds
instead.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-03 11:50:24 +01:00
ANDY KENNEDY
a7da53bd2c fs/skeleton: mount /proc before remounting rw
inittab ordering causes mount to fail on remount,rw.  inittab
changed to mount /proc first.

Signed-off-by: Andy Kennedy <Andy.Kennedy@AdTran.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-21 23:30:46 +01:00
Peter Korsgaard
921f75e260 fs/jffs2: remove BR2_JFFS2_TARGET_SREC option
This kind of custom image conversion is better handled outside BR.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-14 11:20:38 +01:00
Peter Korsgaard
acd062778f fs/ext2: remove redundant BR2_TARGET_ROOTFS_EXT2_SQUASH option
The generic fs handling does a chmod -R 0:0 $(TARGET_DIR), so there's no
need for a specific option to enforce this when making an ext2fs image.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-14 11:15:28 +01:00
Peter Korsgaard
f12b1771a1 fs/tar: enable by default
This way we'll get something in images/ by default, and hopefully people
will be less likely to try to use target/ directly.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-14 11:03:49 +01:00
Peter Korsgaard
319815a5d5 fs/ext2: don't enable by default
It's pretty uncommon to use ext2fs on embedded systems, so don't enable
it by default.

Adjust defconfigs to match.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-14 10:12:23 +01:00
Julien Boibessot
f2bf06fd78 ubifs: Add UBI image generation support.
UBI images are generated from UBIFS one (with ubinize tool) and are used by
bootloaders (eg U-Boot) to write UBIFS images directly on bare NAND FLASH
(see http://www.linux-mtd.infradead.org/faq/ubi.html).

[Peter: tweak help text]
Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
Signed-off-by: Nicolas Colombain <nicolas.colombain@armadeus.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-11 22:39:05 +01:00
Gustavo Zacarias
8497c46a57 target skeleton: add audio group
Add audio group to the target skeleton.
Some multimedia applications based on alsa-lib need it.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-11 16:46:00 +01:00
H Hartley Sweeten
aaa291d40b etc/securetty: Add ttyAM for ep93xx
Allow root login on the Cirrus ep93xx ARM AMBA serial ports.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-11 00:03:58 +01:00
Peter Korsgaard
eeea3ea6a8 genext2fs.sh: improve number of blocks calculation
Closes #2929

Instead of just adding a fixed amount to the blocks used, try to
estimate the real space needed according to the filesystem structure
(bitmaps, inodes, blocks).

The side effect of this is that we no longer significantly overestimate
the size needed for small file systems.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-30 23:10:21 +01:00
Guillaume Gardet
f3931ca1a1 etc/securetty: Add ttyO0 to ttyO3 for omap
Recent kernels (2.6.37*) use a different name for OMAP serial ports.
They are no longer called ttySx but ttyOx.

Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-30 22:03:22 +01:00
Yegor Yefremov
32a8c0119f Add network scripting folders to fs/skeleton
Those folders are currently created using makedevs according to the
specifications in device_table.txt. However, as makedevs is no longer
executed when dynamic device creation methods are selected (devtmpfs,
udev, mdev), those folders must be created differently. We choose to
put them directly into the default filesystem skeleton.

Signed-off-by: Yegor Yefremov <yegor_sub1@visionsystems.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-16 15:16:31 +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
094b293803 fs: add extra deps to ROOTFS_*_DEPENDENCIES variables
Instead of explicitly adding it both places it is used.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-19 15:05:20 +01:00
Peter Korsgaard
0a0cb991b7 fs: rename make targets to match package/ convention
Use rootfs-* rather than *-root, to match the convention used under
package/ and which fits with the ROOTFS_*_ variables.

This will also help with the host dependencies.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-19 15:04:49 +01:00
Mike Frysinger
dde5b6830c initramfs: fix init symlink creation
The -e test will dereference the symlink, so if there is no /bin/init,
we will constantly try to create the symlink.  So rather than error on
subsequent runs when the link exists, use the force flag to ln.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-17 21:20:45 +01:00
Thomas Petazzoni
2e869a7c05 Remove INITRAMFS_TARGET variable
This used to be needed when the filesystem code was rewritten, but not
the Linux compilation code. Now that the Linux compilation code has
been rewritten, the mechanism to ensure that initramfs gets built
*before* the kernel so that it can be integrated is different, and
this INITRAMFS_TARGET variable is no longer used.

See f507921d39 for details.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-04 19:26:27 +01:00
Peter Korsgaard
c4eb25ff3d Merge branch 'for-2010.11/remove-deprecated-arch' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-09-30 14:41:38 +02:00
Peter Korsgaard
ed4ca35a1a squashfs: add lzma support
And try to select a sane default compression algorithm.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-20 22:05:39 +02:00
Peter Korsgaard
785fef108e squashfs: bump 4.x, add lzo support
We'll need libattr/xz packages in BR to enable support for those.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-20 16:21:20 +02:00
Peter Korsgaard
c106fdbd10 fs/skeleton: remove ancient .bashrc
It contains a bunch of semi-random aliases confusing users, and sets
a bunch of environment variables which are already provided by bash by
default.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-16 09:56:16 +02:00
Peter Korsgaard
3975e30b99 fs/squashfs: fix image file permissions
Set image file permissions to 0644 like it was before the fs rework,
instead of the rather unhelpful 0700 (E.G. when image is used for tftp).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-31 21:53:40 +02:00
Thomas Petazzoni
97d8618c6c Remove code specific to removed architectures
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-08-31 20:28:21 +02:00
Yegor Yefremov
31aa331d34 Add JFFS2 SREC format description
Add JFFS2 SREC format description

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-30 23:37:20 +02:00
Simon Pasch
c4cdcc3680 initramfs: Don't overwrite $(TARGET_DIR)/init if it exists
Closes #2443

Allow use of custom init scripts.

Signed-off-by: Simon Pasch <fpasch@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-29 23:34:03 +02:00
Stanislav Bogatyrev
62b4c67b09 fs/squashfs: fix endianness typo for squashfs3
Signed-off-by: Stanislav Bogatyrev <bogatyrev_stanislav@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-27 17:00:39 +02:00
Dmytro Milinevskyy
2b3a43f4e3 fs: add option to define path to custom rootfs skeleton
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:15:55 +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
Peter Korsgaard
9280cafe30 ubifs: fix lzo typo
Closes #2155

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-01 15:35:00 +02:00
Thomas Petazzoni
c2a44f158e initramfs: update help text
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-26 07:44:16 +02:00
Thomas Petazzoni
93e8014709 initramfs: only show the option when a Linux kernel is being built
Closes #2119

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-26 07:43:20 +02:00
Thomas Petazzoni
f507921d39 linux: add support for initramfs
In Buildroot, the kernel is built and installed *before* the root
filesystems are built. This allows the root filesystem to correctly
contain the kernel modules that have been installed.

However, in the initramfs case, the root filesystem is part of the
kernel. Therefore, the kernel should be built *after* the root
filesystem (which, in the initramfs case simply builds a text file
listing all files/directories/devices/symlinks that should be part of
the initramfs). However, this isn't possible as the initramfs text
file would lack all kernel modules.

So, the solution choosen here is to keep the normal order: kernel is
built before the root filesystem is generated, and to add a little
quirk to retrigger a kernel compilation after the root filesystem
generation.

To do so, we add a ROOTFS_$(FSTYPE)_POST_TARGETS variable to the
fs/common.mk infrastructure. This allows individual filesystems to set
a target name that we should depend on *after* generating the root
filesystem itself (contrary to normal ROOTFS_$(FSTYPE)_DEPENDENCIES,
on which we depend *before* generating the root filesystem).

The initramfs code in fs/initramfs/initramfs.mk uses this to add a
dependency on 'linux26-rebuild-with-initramfs'.

In linux/linux.mk, we do various things :

 * If BR2_TARGET_ROOTFS_INITRAMFS is enabled (i.e if initramfs is
   enabled as a root filesystem type), then we create an empty
   rootfs.initramfs file (remember that at this point, the root
   filesystem hasn't been generated) and we adjust the kernel
   configuration to include an initramfs. Of course, in the initial
   kernel build, this initramfs will be empty.

 * In the linux26-rebuild-with-initramfs target, we retrigger a
   compilation of the kernel image, after removing the initramfs in
   the kernel sources to make sure it gets properly rebuilt (we've
   experienced cases were modifying the rootfs.initramfs file wouldn't
   retrigger the generation of the initramfs at the kernel level).

This is fairly quirky, but initramfs really is a special case, so in
one way or another, we need a little quirk to solve its specialness.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:28 +02:00
Thomas Petazzoni
c7ee5853a0 iso9660: take into account the linux changes
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:26 +02:00
Thomas Petazzoni
3754c51560 jffs2: let makedevs create device files
The common filesystem infrastructure in fs/common.mk uses a smart
combination of makedevs and fakeroot to create the device files in the
target filesystem images without being root. This technique is applied
to all filesystem formats that rely on this common infrastructure, and
JFFS2 is one of them.

Therefore, using the -D option of mkfs.jffs2, which allows to specify
a device table, is redundant with the usage of makedevs. And it is
worst than redundant: for some reason, -D does not create all device
files with the correct major and minor numbers, as reported in
bug #1771.

For coherence, we just remove the usage of mkfs.jffs2 -D option, and
rely on makedevs/fakeroot to create the device files.

This commit fixes bug #1771.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-05 21:23:28 +02:00
Peter Korsgaard
aacfa18033 Merge branch 'graph-dependencies' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-05-27 14:11:26 +02:00
Peter Korsgaard
e74bcb6f9a fs/squashfs: squashfs3 needs to set big/little endian
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-26 22:47:32 +02:00
Thomas Petazzoni
949db6ac05 Add a <fs>-root-show-depends target
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-05-21 15:07:34 +02:00
Will Wagner
4ddb427ef9 initramfs: fix init symlink
When initramfs was ported to the new fs structure the init symlink
macro was defined, but forgot to add it to PRE_GEN_HOOKS

Signed-off-by: Will Wagner <will_wagner@carallon.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-20 16:54:50 +02:00
Will Wagner
102ca91d74 Repair initramfs dependancies after move to fs
The restructure for building root filesystems changed the target name
for the initramfs file, to build the file the trget is now
initramfs-root but the generated file is rootfs.initramfs

Signed-off-by: Will Wagner <will_wagner@carallon.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-20 00:02:36 +02:00
Thomas Petazzoni
81cd9d45ff makedevs: convert to a more normal way of building packages
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-19 22:46:39 +02:00
Peter Korsgaard
fb951b9342 fs/ext2: fix blocks/inodes calculation
With the ROOTFS_TARGET conversion, EXT2_OPTS gets evaluated very early
(before TARGET_DIR is populated with files), so the calculated
blocks/inodes numbers are wrong.

Fix it by moving the calculation to a shell script wrapper around
genext2fs, so it only gets executed just before genext2fs runs.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-19 14:33:14 +02:00
Peter Korsgaard
7b7e1bc3fb fs/ext2: fix typo
BR2_TARGET_ROOTFS_EXT2_RESBLKS is an int, so test against 0 rather than
the empty string - Otherwise the test is always true and a -m option
without arguments is added to the argument list, causing genext2fs to
get confused.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-19 11:03:45 +02:00
Thomas Petazzoni
d25c560ab2 cramfs/jffs2: use the new ROOTFS_DEVICE_TABLE variable
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-17 04:36:23 +02:00
Thomas Petazzoni
64ec20e6c0 fs: change the way the device table is configured
Until now, the location of the device table was specified by a
variable in board Makefiles. Unfortunately, this variable is not
accessible from fs/common.mk, since the target/ code is included
*after* fs/common.mk.

Anyway, the general idea is to move away from these boards Makefile,
and provide configuration option for things like the device table
location.

Therefore, this patch adds a BR2_ROOTFS_DEVICE_TABLE option which
allows to specify which device table should be used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-17 04:36:23 +02:00
Peter Korsgaard
376549b755 iso9660: menu.lst fixup after move to fs
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-15 13:51:33 +02:00
Will Wagner
a7e276bc3d initramfs: trivial fix following move to fs
Signed-off-by: Will Wagner <will_wagner@carallon.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-15 13:50:37 +02:00
Thomas Petazzoni
b8cee9fb43 Add version selection for the SquashFS root filesystem
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-09 12:21:05 +02:00
Thomas Petazzoni
0b79c5022d fs/*/Config.in: remove useless configuration comments
The dependency on gzip, bzip2 and lzma are properly handled
automatically. No need to tell the user about this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-09 11:04:36 +02:00
Thomas Petazzoni
3474716bff Coherent naming for .mk files in fs/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-09 11:04:36 +02:00
Thomas Petazzoni
0585241505 Move all filesystem generation code to fs/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-09 11:04:36 +02:00