summaryrefslogtreecommitdiffstats
path: root/conf/distro/minimal.conf
blob: 9c623dc9b5dc62d7b0b0faee5ba005256c6f9d25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#############################################################################
#@TYPE: Distribution
#@NAME: Minimal
#@DESCRIPTION: Embedded Linux Distribution Configuration
#
#@COMMENT: This distribution configuration can serve as a starting point for
#@COMMENT: the integration of new target platforms, machines, or distributions.
#############################################################################

#############################################################################
# NAME and VERSION
#############################################################################
DISTRO_NAME ?= "minimal"
DISTRO_VERSION = "dev-snapshot-${SRCDATE}"
#DISTRO_TYPE = "release"
DISTRO_TYPE ?= "debug"

# Ensure some form of release config, so error out if someone thinks he knows better
DISTRO_CHECK := "${@bb.data.getVar('DISTRO_VERSION',d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION')}"

#############################################################################
# FEATURE SELECTION
#############################################################################
# Use bluetooth 4.0
DISTRO_BLUETOOTH_MANAGER            = "bluez4"
PREFERRED_PROVIDER_bluez-utils-dbus = "bluez4"
PREFERRED_PROVIDER_bluez-libs       = "bluez4"
PREFERRED_PROVIDER_bluez-utils      = "bluez4"

# We want images supporting the following features (for task-base)
DISTRO_FEATURES = "ipv4 ipv6 nfs smbfs wifi ppp alsa ext2 vfat pcmcia usbgadget usbhost pci"
# Following features are for ARM and E500 based machines
DISTRO_FEATURES += "eabi"

# The following feature enables the MIPS ABI PLT extensions
# This feature needs GCC 4.4 binutils 2.19 or glibc/eglibc 2.9
# or higher

DISTRO_FEATURES += "mplt"
DISTRO_FEATURES += ' ${@["", "thumb-interwork"][bb.data.getVar('THUMB_INTERWORK', d, 1) == "yes"]}'

#############################################################################
# LIBRARY NAMES
#############################################################################
# libfoo -> libfoo0-2 (etc)
INHERIT += "debian"

#############################################################################
# PACKAGING & FEEDS
#############################################################################
# Chose the packaging system
INHERIT += "package_ipk"
IMAGE_FSTYPES ?= "tar.gz jffs2"
PREFERRED_PKG_FORMAT ?= "ipk"

# Put links to sources in deploy/sources to make it easier for people to be GPL compliant
INHERIT += "src_distribute_local"
SRC_DIST_LOCAL ?= "symlink"

# If we're using an .ipk based rootfs, we want to have opkg installed so postinst script can run
IPKG_VARIANT = "opkg"

#############################################################################
# IMAGES
#############################################################################
# Name the generated images in a sane way
IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${LIBC}-${PREFERRED_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
CACHE = "${TMPDIR}/cache/${LIBC}/${MACHINE}"
DEPLOY_DIR ?= "${TMPDIR}/deploy/${LIBC}"
DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
SPLASH ?= '${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)}'
PREFERRED_PROVIDER_virtual/psplash = "psplash"

# increase inode/block ratio for ext2 filesystem
EXTRA_IMAGECMD_ext2 = "-i 8192"

#############################################################################
# KERNEL
#############################################################################
KERNEL = "kernel26"
MACHINE_KERNEL_VERSION = "2.6"

#############################################################################
# Ensure MACHINE_CLASS is in OVERRIDES
#############################################################################
MACHINE_CLASS ?= ""
MACHINE_OVERRIDES += "${MACHINE_CLASS}"

#############################################################################
# TOOLCHAIN
#############################################################################
LIBC ?= "eglibc"
require conf/distro/include/sane-toolchain.inc
require conf/distro/include/arm-thumb.inc

#############################################################################
# QA
#############################################################################

#run QA tests on builds and packages and log them  
INHERIT += "insane"
QA_LOG = "1"

#run QA tests on recipes
INHERIT += "recipe_sanity"

#make devshell available as task
INHERIT += "devshell"

#############################################################################
# PREFERRED VERSIONS
#############################################################################
require conf/distro/include/preferred-e-versions.inc
require conf/distro/include/preferred-opie-versions-1.2.5.inc

PREFERRED_PROVIDER_opkg ?= "opkg"
PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg"
PREFERRED_QT_VERSION ?= "4.7.1"
PREFERRED_VERSION_qt4-tools-native = "${PREFERRED_QT_VERSION}"
PREFERRED_VERSION_qt4-tools-sdk = "${PREFERRED_QT_VERSION}"
PREFERRED_VERSION_qt4-embedded = "${PREFERRED_QT_VERSION}"
PREFERRED_VERSION_qt4-embedded-gles = "${PREFERRED_QT_VERSION}"
PREFERRED_VERSION_qt4-x11-free = "${PREFERRED_QT_VERSION}"
PREFERRED_VERSION_qt4-x11-free-gles = "${PREFERRED_QT_VERSION}"
PREFERRED_VERSION_perl = "5.10.1"
PREFERRED_VERSION_perl-native = "5.10.1"
#############################################################################
# CONTENTS
#############################################################################

# Ship extra debug utils in the rootfs when doing a debug build
DISTRO_EXTRA_APPS ?= ""
DISTRO_EXTRA_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "task-cli-tools-debug",d)}'

# Additional content I (only valid if you include task-base)
# distro-feed-configs: configuration files for the online feeds
# util-linux-ng-mount util-linux-ng-umount: busybox mount is broken
# angstrom-libc-fixup-hack: fixes an obscure bug with libc.so symlink
DISTRO_EXTRA_RDEPENDS += "\
  distro-feed-configs \
  util-linux-ng-mount util-linux-ng-umount \
  angstrom-libc-fixup-hack \
  ${DISTRO_EXTRA_APPS} \
"

# Additional content II (can be masked with BAD_RECOMMENDATIONS)
DISTRO_EXTRA_RRECOMMENDS += " \
    kernel-module-vfat \
    kernel-module-ext2 \
    kernel-module-ext3 \
    kernel-module-af-packet \
    avahi-daemon \
    avahi-autoipd \
    openssh-sftp-server \
"