3 #@DESCRIPTION: OpenSlug Linux Distribution for the NSLU2
5 #----------------------------------------------------------------------------------
6 # STANDARD OpenSlug DEFINITIONS
7 #----------------------------------------------------------------------------------
8 DISTRO_NAME = "OpenSlug"
9 DISTRO_VERSION = "2.8-beta"
16 USE_NLS_glib-2.0 = "yes"
18 INHERIT += " package_ipk debian nslu2-jffs2-image"
20 # NOTE: to build new packages set OPENSLUG_EXTRA_BBFILES to the full path name to
21 # the .bb files for the packages to build - see openslug-packages.conf in this
23 OPENSLUG_EXTRA_BBFILES ?= ""
25 # pull in the frozen list of bbfiles - this sets BBFILES and this will override any
26 # setting in local.conf
27 include conf/distro/freeze.conf
29 #----------------------------------------------------------------------------------
31 # The following lines define where on the internet OpenSlug looks for packages
32 # when downloading new packages or updating existing packages. Additional feeds
33 # (such as a local feed) can be defined in local.conf
34 #----------------------------------------------------------------------------------
35 # Add to the user's feeds from local.conf (there may be none)
36 FEED_URIS_append_linux += "cross##http://ipkg.nslu2-linux.org/feeds/openslug/cross/${DISTRO_VERSION}"
37 FEED_URIS_append_linux += "native##http://ipkg.nslu2-linux.org/feeds/openslug/native/${DISTRO_VERSION}"
40 # Uncomment the following to get the unstable feeds
41 #FEED_URIS_append_linux += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/openslug/cross/unstable"
42 #FEED_URIS_append_linux += "unstable_native##http://ipkg.nslu2-linux.org/feeds/openslug/native/unstable"
44 #----------------------------------------------------------------------------------
45 # FIRMWARE CONFIGURATION
46 #----------------------------------------------------------------------------------
49 IMAGE_FSTYPES = "jffs2"
51 OPENSLUG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-openslug.txt')}"
52 EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x20000 -D ${OPENSLUG_DEVICE_TABLE}"
54 # CMDLINE* macros define the kernel command line. CMDLINE_DEBUG is provided
55 # to enable/disable debugging in the distro. Here noirqdebug is used to
56 # remove the messages about unhandled interrupts - people debugging interrupt
57 # issues in the kernel need to cancel this (set CMDLINE_DEBUG empty in local.conf)
58 CMDLINE_DEBUG = "noirqdebug"
62 # Filesystem support modules are listed in here for easy removal,
63 # as is the lrzsz serial package and other kernel modules which are
64 # not absolutely required for boot.
65 # NOTE: only jffs2 support is an absolute requirement of boot, even
66 # the ext2/ext3 support is optional!
67 OPENSLUG_EXT2_PROGS = "e2fsprogs-mke2fs e2fsprogs-fsck e2fsprogs-e2fsck"
68 OPENSLUG_REISER_PROGS = "reiserfsprogs"
70 # The standard firmware contents and additional packages built as requirements
71 # of the firmware are defined here in OPENSLUG_STANDARD_RDEPENDS and
72 # OPENSLUG_STANDARD_DEPENDS respectively.
73 OPENSLUG_STANDARD_DEPENDS = ""
74 OPENSLUG_STANDARD_RDEPENDS = ""
76 # Support for a variety of file systems is built in to the openslug
77 # image, programs to format disks with these file systems may be
78 # added or removed. By default ext2. ext3 and reiserfs supported
79 # is included by the following lines.
81 # These lines add support for formatting ext2 and ext3 file systems
82 # on a hard disk attached to the NSLU2. ext3 is the standard Linux
84 OPENSLUG_STANDARD_DEPENDS += "e2fsprogs"
85 OPENSLUG_STANDARD_RDEPENDS += "${OPENSLUG_EXT2_PROGS}"
87 # These lines add support for formatting reiserfs file systems on
89 OPENSLUG_STANDARD_DEPENDS += "reiserfsprogs"
90 OPENSLUG_STANDARD_RDEPENDS += "${OPENSLUG_REISER_PROGS}"
92 # These lines add a build of the 'upslug' program which may be
93 # used to download the final image to an NSLU2. The program can
94 # be found within the tmp/work/upslug-native* directory.
95 OPENSLUG_STANDARD_DEPENDS += "upslug-native"
97 # These lines add support for an X/Y/ZModem package called lrzsz
98 # (this is of use for people with modified NSLU2 hardware which
99 # supports a serial port.)
100 OPENSLUG_STANDARD_DEPENDS += "lrzsz"
101 OPENSLUG_STANDARD_RDEPENDS += "lrzsz"
103 # The 'standard' values are the defaults for the 'extra' packages added
104 # to the firmware image. None of these things are requirements to have
105 # a bootable, useable, system however they *are* expected to be present
106 # in OpenSlug - see osuclibc for a more minimal configuration and some
107 # more instructions about how to make a non-openslug image.
108 OPENSLUG_EXTRA_DEPENDS ?= "${OPENSLUG_STANDARD_DEPENDS}"
109 OPENSLUG_EXTRA_RDEPENDS ?= "${OPENSLUG_STANDARD_RDEPENDS}"
111 # Filesystem selection: set in local.conf to override. Adding entries
112 # here adds the module to the image. The module must be built as part
113 # of openslug-kernel (i.e. it must be specified as a module in the
114 # defconfig file). The NLS support charset modules must be given
115 # explicitly and must match the codepage/iocharset and NLS handling
116 # for the file systems which require them. The installed lanugage
117 # set is minimal but sufficient for any file system (since it uses
118 # utf8). See http://www.nslu2-linux.orgwiki/HowTo/MountFATFileSystems
119 # for more information on the language behaviour of the DOS file
122 # KERNEL LEVEL FILE SYSTEM SUPPORT
123 # --------------------------------
124 # NOTE: removing kernel-module-nfs from this list will prevent NFS
125 # boot (however you can do a simple flash file system boot - no
126 # attached disk - and install the nfs modules from ssh.)
127 OPENSLUG_EXTRA_FILESYSTEMS ?= "\
134 kernel-module-isofs \
136 kernel-module-reiserfs \
137 kernel-module-nls-cp437 \
138 kernel-module-nls-utf8 \
141 # This documents other file systems which are built but not installed
142 # by default in the flash image.
144 # kernel-module-msdos - mounts a FAT file system without long file names
145 # (use kernel-module-vfat, it shows the long names
148 OPENSLUG_EXTRA_INSTALL ?= "${OPENSLUG_EXTRA_RDEPENDS} ${OPENSLUG_EXTRA_FILESYSTEMS}"
150 #----------------------------------------------------------------------------------
151 # PACKAGE VERSION CONTROL
152 #----------------------------------------------------------------------------------
153 # Select the correct versions of the compiler tools (note that there
154 # is also some selection in machine/nslu2.conf)
155 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
156 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
157 PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
159 # Select the correct versions of the kernel and modules
160 PREFERRED_PROVIDER_virtual/kernel ?= "openslug-kernel"
161 PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
162 PREFERRED_VERSION_openslug-kernel ?= "2.6.12.2"
164 PREFERRED_VERSION_ixp4xx-csr ?= "1.4"
165 PREFERRED_VERSION_ixp425-eth ?= "1.1"
167 PREFERRED_VERSION_nslu2-linksys-firmware ?= "2.3r29"