ucslugc: fix endinaness of le jffs2, add glibc to packages
[openembedded.git] / conf / distro / ucslugc.conf
1 #@TYPE: Distribution
2 #@NAME: UcSlugC
3 #@DESCRIPTION: UcSlugC Linux Distribution for the NSLU2
4
5 #----------------------------------------------------------------------------------
6 # STANDARD UcSlugC DEFINITIONS
7 #----------------------------------------------------------------------------------
8 DISTRO_NAME = "UcSlugC"
9 DISTRO_VERSION = "3-beta"
10 DISTRO_FEED = "unstable"
11 DISTRO_TYPE ?= "beta"
12
13 # Overridable settings
14 #DANGER: overriding any of these builds something very different from the base
15 # usclugc!
16 UCSLUGC_OS ?= "linux-uclibc"
17 UCSLUGC_INTERWORK ?= ":thumb-interwork"
18 UCSLUGC_INSTRUCTION_SET ?= ":thumb"
19 UCSLUGC_ARCH_TYPE ?= "b"
20
21 # Target OS - uclibc or glibc(linux)
22 TARGET_FPU = "soft"
23 TARGET_OS = "${UCSLUGC_OS}"
24
25 # Select thumb-interwork and thumb
26 ARM_INTERWORK = "${UCSLUGC_INTERWORK}"
27 ARM_INSTRUCTION_SET = "${UCSLUGC_INSTRUCTION_SET}"
28
29 USE_NLS ?= "no"
30 USE_NLS_glib-2.0 = "yes"
31
32 INHERIT += " package_ipk debian"
33
34 # The OVERRIDES are modified here so that 'openslug' overrides are picked up if
35 # present (ucslugc overrides take precedence).
36 NSLU2_BASE_DISTRO = ":openslug"
37
38 # The standard arch is big-endian - "b", set to "l" for a little-endian
39 # build
40 NSLU2_ARCH_TYPE = "${UCSLUGC_ARCH_TYPE}"
41 TARGET_ARCH = "${@['arm', 'armeb'][bb.data.getVar('UCSLUGC_ARCH_TYPE', d, 1) == 'b']}"
42
43 # We are building packages which are armvteb (big endian) for arm or thumbv5tb for
44 # thumb instructions.  The PACKAGE_ARCH should reflect this because generated code
45 # requires that instruction set support.
46 PACKAGE_ARCH = "${NSLU2_PACKAGE_ARCH}"
47
48 # NOTE: to build new packages set UCSLUGC_EXTRA_BBFILES to the full path name to
49 # the .bb files for the packages to build - see ucslugc-packages.conf in this
50 # directory
51 UCSLUGC_EXTRA_BBFILES ?= ""
52
53 # pull in the frozen list of bbfiles - this sets BBFILES and this will override any
54 # setting in local.conf
55 include conf/distro/freeze.conf
56
57 #----------------------------------------------------------------------------------
58 # FEEDS
59 #  The following lines define where on the internet UcSlugC looks for packages
60 #  when downloading new packages or updating existing packages.  Additional feeds
61 #  (such as a local feed) can be defined in local.conf
62 #----------------------------------------------------------------------------------
63 # Add to the user's feeds from local.conf (there may be none)
64 #
65 #NOTE: at present there is no released feed for ucslugc, therefore this feed
66 # is set to the 'unstable' version.  In released images DISTRO_FEED will typically
67 # be DISTRO_VERSION.
68 FEED_URIS_append += "cross##http://ipkg.nslu2-linux.org/feeds/ucslugc/cross/${DISTRO_FEED}"
69 FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/${DISTRO_FEED}"
70
71 #
72 # Uncomment the following to get the unstable feeds in a released version.
73 #FEED_URIS_append += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/ucslugc/cross/unstable"
74 #FEED_URIS_append += "unstable_native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/unstable"
75
76 #----------------------------------------------------------------------------------
77 # FIRMWARE CONFIGURATION
78 #----------------------------------------------------------------------------------
79 # IMAGE BUILD OPTIONS
80 # -------------------
81 IMAGE_FSTYPES = "jffs2"
82 IMAGE_SEX = "${@['little-endian', 'big-endian'][bb.data.getVar('UCSLUGC_ARCH_TYPE', d, 1) == 'b']}"
83
84 OPENSLUG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-openslug.txt')}"
85 EXTRA_IMAGECMD_jffs2 = "--pad --${IMAGE_SEX} --eraseblock=0x20000 -D ${OPENSLUG_DEVICE_TABLE}"
86
87 # CMDLINE* macros define the kernel command line.  CMDLINE_DEBUG is provided
88 # to enable/disable debugging in the distro.  Here noirqdebug is used to
89 # remove the messages about unhandled interrupts - people debugging interrupt
90 # issues in the kernel need to cancel this (set CMDLINE_DEBUG empty in local.conf)
91 CMDLINE_DEBUG = "noirqdebug"
92
93 # IMAGE_PREPROCESS_COMMAND is run before making the image.  In UcSlugC the
94 # kernel image is removed from the root file system to recover the space used -
95 # UcSlugC is assumed to boot from a separate kernel image in flash (not in the
96 # root file system), if this is not the case the following must not be done!
97 IMAGE_PREPROCESS_COMMAND = "rm ${IMAGE_ROOTFS}/boot/zImage*;"
98
99 # Building a full image.  If you add the following extra commands will be
100 # appended to the openslug-image build by classes/nslu2-jffs2-image.bbclass
101 # (note that you can, instead, simply add 'inherit nslu2-jffs2-image' to
102 # openslug-image.bb).  If you do this you will need to find a source for the
103 # LinkSys software to be placed in the full image - 'RedBoot' (the boot loader),
104 # 'Trailer' (just a bunch of bytes to flag the image as valid) and 'SysConf'
105 # (actually just a block of unset data - you could modify this to pre-configure
106 # the SysConf partition of the image).  If you own an NSLU2 then this data is
107 # already in the flash of the NSLU2 and you can download it (including new
108 # versions) from the LinkSys web site - the bbclass will output information
109 # about where to put the downloaded data.
110 #
111 #NOTE: you do not actually need the boot loader in normal use because it is
112 # *not* overwritten by a standard upslug upgrade, so you can make an image with
113 # just non-LinkSys software which can be flashed into the NSLU2.
114
115 #INHERIT += " nslu2-jffs2-image"
116
117 # EXTRA PACKAGES
118 # --------------
119 # UcSlugC builds an openslug-image with no extra packages - to add packages to the
120 # firmware copy this file (to make a new 'distro' configuration file) and change
121 # the definition below to include the requirements.
122 # NOTE: as built this system will *not* be able to boot off anything other than
123 # the flash file system ('turnup' will not work).  You need to add the filesystem
124 # modules for your chosen root file system (and any others which will be used).
125 # See openslug.conf for a more full-featured system!
126 UCSLUGC_EXTRA_RDEPENDS ?= ""
127 UCSLUGC_EXTRA_DEPENDS ?= ""
128 #USLUGC_EXTRA_BBFILES above may also need to be set
129
130 # These depends define native utilities - they do not get put in the flash.
131 # upslug2 (in tmp/work/upslug2-native-*) is the program to write the NSLU2 flash
132 # Override this as desired - it makes no difference to the final image.
133 UCSLUGC_NATIVE_DEPENDS ?= "upslug2-native"
134
135 OPENSLUG_EXTRA_INSTALL = "${UCSLUGC_EXTRA_RDEPENDS}"
136 OPENSLUG_EXTRA_DEPENDS = "${UCSLUGC_EXTRA_DEPENDS} ${UCSLUGC_NATIVE_DEPENDS}"
137
138 #----------------------------------------------------------------------------------
139 # PACKAGE VERSION CONTROL
140 #----------------------------------------------------------------------------------
141 # Select the correct versions of the compiler tools (note that there
142 # is also some selection in machine/nslu2.conf)
143 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
144 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
145 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
146
147 # compiler/binary/library versions (unslung uses different ones so these
148 # cannot be in nslu2.conf)
149 PREFERRED_VERSION_binutils ?= "2.16"
150 PREFERRED_VERSION_binutils-cross ?= "2.16"
151 PREFERRED_VERSION_gcc-cross-initial ?= "3.4.4"
152 PREFERRED_VERSION_gcc-cross ?= "3.4.4"
153 PREFERRED_VERSION_gcc ?= "3.4.4"
154 PREFERRED_VERSION_glibc ?= "2.3.5+cvs20050627"
155
156 # Select the correct versions of the kernel and modules
157 PREFERRED_PROVIDER_virtual/kernel ?= "openslug-kernel"
158 PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
159 PREFERRED_VERSION_openslug-kernel ?= "2.6.14-rc3"
160
161 PREFERRED_PROVIDER_virtual/ixp-eth ?= "ixp425-eth"
162 PREFERRED_VERSION_ixp4xx-csr ?= "1.4"
163 PREFERRED_VERSION_ixp425-eth ?= "1.1"
164 PREFERRED_VERSION_ixp-osal ?= "2.0"
165 PREFERRED_VERSION_ixp400-eth ?= "1.4"
166
167 # Select the smallest provider of x11 libraries
168 PREFERRED_PROVIDER_x11 ?= "diet-x11"
169 CVSDATE_diet-x11 ?= "20051005"
170
171 PREFERRED_VERSION_samba ?= "3.0.14a"