#@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 'upslug2' program which may be # used to download the final image to an NSLU2. The program can # be found within the staging//bin directory. It must # be run as root but may be safely installed setuid root. OPENSLUG_STANDARD_DEPENDS += "upslug2-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" # This adds udev support in the root fs. OPENSLUG_STANDARD_DEPENDS += "udev" OPENSLUG_STANDARD_RDEPENDS += "udev" # 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" # compiler/binary/library versions (unslung uses different ones so these # cannot be in nslu2.conf) PREFERRED_VERSION_binutils ?= "2.16" PREFERRED_VERSION_binutils-cross ?= "2.16" PREFERRED_VERSION_gcc-cross-initial ?= "3.4.4" PREFERRED_VERSION_gcc-cross ?= "3.4.4" PREFERRED_VERSION_gcc ?= "3.4.4" PREFERRED_VERSION_glibc ?= "2.3.5+cvs20050627" # Select the smallest provider of x11 libraries PREFERRED_PROVIDER_x11 ?= "diet-x11" CVSDATE_diet-x11 ?= "20051005" # 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.14-rc3" PREFERRED_PROVIDER_virtual/ixp-eth ?= "ixp425-eth" PREFERRED_VERSION_ixp4xx-csr ?= "1.4" PREFERRED_VERSION_ixp425-eth ?= "1.1" PREFERRED_VERSION_ixp-osal ?= "2.0" PREFERRED_VERSION_ixp400-eth ?= "1.4" PREFERRED_VERSION_nslu2-linksys-firmware ?= "2.3r29"