summaryrefslogtreecommitdiff
path: root/conf/distro/openslug.conf
blob: 5c57e878c2484c1f9770f6a2b178ae3fa7b61d7b (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
156
157
158
159
160
161
162
163
164
165
166
167
#@TYPE: Distribution
#@NAME: OpenSlug
#@DESCRIPTION: OpenSlug Linux Distribution for the NSLU2

#----------------------------------------------------------------------------------
# STANDARD OpenSlug DEFINITIONS
#----------------------------------------------------------------------------------
DISTRO_NAME = "OpenSlug"
DISTRO_VERSION = "2.8-beta"
DISTRO_TYPE ?= "beta"

TARGET_FPU = "soft"
TARGET_OS = "linux"

USE_NLS ?= "no"
USE_NLS_glib-2.0 = "yes"

INHERIT += " package_ipk debian nslu2-jffs2-image"

# NOTE: to build new packages set OPENSLUG_EXTRA_BBFILES to the full path name to
# the .bb files for the packages to build - see openslug-packages.conf in this
# directory
OPENSLUG_EXTRA_BBFILES ?= ""

# pull in the frozen list of bbfiles - this sets BBFILES and this will override any
# setting in local.conf
include conf/distro/freeze.conf

#----------------------------------------------------------------------------------
# FEEDS
#  The following lines define where on the internet OpenSlug looks for packages
#  when downloading new packages or updating existing packages.  Additional feeds
#  (such as a local feed) can be defined in local.conf
#----------------------------------------------------------------------------------
# Add to the user's feeds from local.conf (there may be none)
FEED_URIS_append_linux += "cross##http://ipkg.nslu2-linux.org/feeds/openslug/cross/${DISTRO_VERSION}"
FEED_URIS_append_linux += "native##http://ipkg.nslu2-linux.org/feeds/openslug/native/${DISTRO_VERSION}"

#
# Uncomment the following to get the unstable feeds
#FEED_URIS_append_linux += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/openslug/cross/unstable"
#FEED_URIS_append_linux += "unstable_native##http://ipkg.nslu2-linux.org/feeds/openslug/native/unstable"

#----------------------------------------------------------------------------------
# FIRMWARE CONFIGURATION
#----------------------------------------------------------------------------------
# IMAGE BUILD OPTIONS
# -------------------
IMAGE_FSTYPES = "jffs2"

OPENSLUG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-openslug.txt')}"
EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x20000 -D ${OPENSLUG_DEVICE_TABLE}"

# CMDLINE* macros define the kernel command line.  CMDLINE_DEBUG is provided
# to enable/disable debugging in the distro.  Here noirqdebug is used to
# remove the messages about unhandled interrupts - people debugging interrupt
# issues in the kernel need to cancel this (set CMDLINE_DEBUG empty in local.conf)
CMDLINE_DEBUG = "noirqdebug"

# EXTRA PACKAGES
# --------------
# Filesystem support modules are listed in here for easy removal,
# as is the lrzsz serial package and other kernel modules which are
# not absolutely required for boot.
# NOTE: only jffs2 support is an absolute requirement of boot, even
# the ext2/ext3 support is optional!
OPENSLUG_EXT2_PROGS =  "e2fsprogs-mke2fs e2fsprogs-fsck e2fsprogs-e2fsck"
OPENSLUG_REISER_PROGS = "reiserfsprogs"

# The standard firmware contents and additional packages built as requirements
# of the firmware are defined here in OPENSLUG_STANDARD_RDEPENDS and
# OPENSLUG_STANDARD_DEPENDS respectively.
OPENSLUG_STANDARD_DEPENDS = ""
OPENSLUG_STANDARD_RDEPENDS = ""

# Support for a variety of file systems is built in to the openslug
# image, programs to format disks with these file systems may be
# added or removed.  By default ext2. ext3 and reiserfs supported
# is included by the following lines.
# 
# These lines add support for formatting ext2 and ext3 file systems
# on a hard disk attached to the NSLU2.  ext3 is the standard Linux
# file system.
OPENSLUG_STANDARD_DEPENDS += "e2fsprogs"
OPENSLUG_STANDARD_RDEPENDS += "${OPENSLUG_EXT2_PROGS}"

# These lines add support for formatting reiserfs file systems on
# a hard disk.
OPENSLUG_STANDARD_DEPENDS += "reiserfsprogs"
OPENSLUG_STANDARD_RDEPENDS += "${OPENSLUG_REISER_PROGS}"

# These lines add a build of the 'upslug' program which may be
# used to download the final image to an NSLU2.  The program can
# be found within the tmp/work/upslug-native* directory.
OPENSLUG_STANDARD_DEPENDS += "upslug-native"

# These lines add support for an X/Y/ZModem package called lrzsz
# (this is of use for people with modified NSLU2 hardware which
# supports a serial port.)
OPENSLUG_STANDARD_DEPENDS += "lrzsz"
OPENSLUG_STANDARD_RDEPENDS += "lrzsz"

# The 'standard' values are the defaults for the 'extra' packages added
# to the firmware image.  None of these things are requirements to have
# a bootable, useable, system however they *are* expected to be present
# in OpenSlug - see osuclibc for a more minimal configuration and some
# more instructions about how to make a non-openslug image.
OPENSLUG_EXTRA_DEPENDS  ?= "${OPENSLUG_STANDARD_DEPENDS}"
OPENSLUG_EXTRA_RDEPENDS ?= "${OPENSLUG_STANDARD_RDEPENDS}"

# Filesystem selection: set in local.conf to override.  Adding entries
# here adds the module to the image.  The module must be built as part
# of openslug-kernel (i.e. it must be specified as a module in the
# defconfig file).  The NLS support charset modules must be given
# explicitly and must match the codepage/iocharset and NLS handling
# for the file systems which require them.  The installed lanugage
# set is minimal but sufficient for any file system (since it uses
# utf8).  See http://www.nslu2-linux.orgwiki/HowTo/MountFATFileSystems
# for more information on the language behaviour of the DOS file
# systems.
#
# KERNEL LEVEL FILE SYSTEM SUPPORT
# --------------------------------
# NOTE: removing kernel-module-nfs from this list will prevent NFS
# boot (however you can do a simple flash file system boot - no
# attached disk - and install the nfs modules from ssh.)
OPENSLUG_EXTRA_FILESYSTEMS ?= "\
kernel-module-ext2 \
kernel-module-jbd \
kernel-module-ext3 \
kernel-module-nfs \
kernel-module-vfat \
kernel-module-ntfs \
kernel-module-isofs \
kernel-module-udf \
kernel-module-reiserfs \
kernel-module-nls-cp437 \
kernel-module-nls-utf8 \
"

# This documents other file systems which are built but not installed
# by default in the flash image.
#
# kernel-module-msdos - mounts a FAT file system without long file names
#                       (use kernel-module-vfat, it shows the long names
#                       if present.)

OPENSLUG_EXTRA_INSTALL ?= "${OPENSLUG_EXTRA_RDEPENDS} ${OPENSLUG_EXTRA_FILESYSTEMS}"

#----------------------------------------------------------------------------------
# PACKAGE VERSION CONTROL
#----------------------------------------------------------------------------------
# Select the correct versions of the compiler tools (note that there
# is also some selection in machine/nslu2.conf)
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"

# Select the correct versions of the kernel and modules
PREFERRED_PROVIDER_virtual/kernel ?= "openslug-kernel"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
PREFERRED_VERSION_openslug-kernel ?= "2.6.12.2"

PREFERRED_VERSION_ixp4xx-csr ?= "1.4"
PREFERRED_VERSION_ixp425-eth ?= "1.1"

PREFERRED_VERSION_nslu2-linksys-firmware ?= "2.3r29"