diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-11-03 08:27:58 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2012-11-04 12:51:08 +0100 |
commit | 6c3e3ad4197714ea39fcd49d572a1713f803d835 (patch) | |
tree | 88a5c4db6a9703cc07607b8a0a6f8d14a002a36e /system/system.mk | |
parent | ef1e76ae433e744d2cebf23f1c6d3b6446790270 (diff) | |
download | buildroot-novena-6c3e3ad4197714ea39fcd49d572a1713f803d835.tar.gz buildroot-novena-6c3e3ad4197714ea39fcd49d572a1713f803d835.zip |
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>
Diffstat (limited to 'system/system.mk')
-rw-r--r-- | system/system.mk | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/system/system.mk b/system/system.mk new file mode 100644 index 000000000..4185202b7 --- /dev/null +++ b/system/system.mk @@ -0,0 +1,53 @@ +TARGET_GENERIC_HOSTNAME:=$(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME)) +TARGET_GENERIC_ISSUE:=$(call qstrip,$(BR2_TARGET_GENERIC_ISSUE)) +TARGET_GENERIC_GETTY:=$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)) +TARGET_GENERIC_GETTY_BAUDRATE:=$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE)) + +target-generic-hostname: + mkdir -p $(TARGET_DIR)/etc + echo "$(TARGET_GENERIC_HOSTNAME)" > $(TARGET_DIR)/etc/hostname + $(SED) '$$a \127.0.1.1\t$(TARGET_GENERIC_HOSTNAME)' \ + -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts + +target-generic-issue: + mkdir -p $(TARGET_DIR)/etc + echo "$(TARGET_GENERIC_ISSUE)" > $(TARGET_DIR)/etc/issue + +target-generic-getty-busybox: + $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(TARGET_GENERIC_GETTY)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY) $(TARGET_GENERIC_GETTY_BAUDRATE) vt100 #~' \ + $(TARGET_DIR)/etc/inittab + +# In sysvinit inittab, the "id" must not be longer than 4 bytes, so we +# skip the "tty" part and keep only the remaining. +target-generic-getty-sysvinit: + $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(TARGET_GENERIC_GETTY) | tail -c+4)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY) $(TARGET_GENERIC_GETTY_BAUDRATE) vt100 #~' \ + $(TARGET_DIR)/etc/inittab + +# Find commented line, if any, and remove leading '#'s +target-generic-do-remount-rw: + $(SED) '/^#.*# REMOUNT_ROOTFS_RW$$/s~^#\+~~' $(TARGET_DIR)/etc/inittab + +# Find uncommented line, if any, and add a leading '#' +target-generic-dont-remount-rw: + $(SED) '/^[^#].*# REMOUNT_ROOTFS_RW$$/s~^~#~' $(TARGET_DIR)/etc/inittab + +ifneq ($(TARGET_GENERIC_HOSTNAME),) +TARGETS += target-generic-hostname +endif + +ifneq ($(TARGET_GENERIC_ISSUE),) +TARGETS += target-generic-issue +endif + +ifeq ($(BR2_ROOTFS_SKELETON_DEFAULT),y) +ifeq ($(BR2_PACKAGE_SYSVINIT),y) +TARGETS += target-generic-getty-sysvinit +else +TARGETS += target-generic-getty-busybox +endif +ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y) +TARGETS += target-generic-do-remount-rw +else +TARGETS += target-generic-dont-remount-rw +endif +endif |