#@TYPE: Distribution #@NAME: UcSlugC #@DESCRIPTION: UcSlugC Linux Distribution for the NSLU2 #---------------------------------------------------------------------------------- # STANDARD UcSlugC DEFINITIONS #---------------------------------------------------------------------------------- DISTRO_NAME = "UcSlugC" DISTRO_VERSION = "1-beta" DISTRO_TYPE ?= "beta" TARGET_FPU = "soft" TARGET_OS = "linux-uclibc" USE_NLS ?= "no" USE_NLS_glib-2.0 = "yes" INHERIT += " package_ipk debian nslu2_flashimg" # The OVERRIDES are modified here so that 'openslug' overrides are picked up if # present (ucslugc overrides take precedence) OVERRIDES = "local:${MACHINE}:${DISTRO}:openslug:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}" # NOTE: to build new packages set UCSLUGC_EXTRA_BBFILES to the full path name to # the .bb files for the packages to build - see ucslugc-packages.conf in this # directory UCSLUGC_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 UcSlugC 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 += "cross##http://ipkg.nslu2-linux.org/feeds/ucslugc/cross/${DISTRO_VERSION}" FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/${DISTRO_VERSION}" # # Uncomment the following to get the unstable feeds #FEED_URIS_append += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/ucslugc/cross/unstable" #FEED_URIS_append += "unstable_native##http://ipkg.nslu2-linux.org/feeds/ucslugc/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" # IMAGE_PREPROCESS_COMMAND is run before making the image. In UcSlugC the # kernel image is removed from the root file system to recover the space used - # UcSlugC is assumed to boot from a separate kernel image in flash (not in the # root file system), if this is not the case the following must not be done! IMAGE_PREPROCESS_COMMAND = "rm ${IMAGE_ROOTFS}/boot/zImage*;" # EXTRA PACKAGES # -------------- # UcSlugC builds an openslug-image with no extra packages - to add packages to the # firmware copy this file (to make a new 'distro' configuration file) and change # the definition below to include the requirements. # NOTE: as built this system will *not* be able to boot off anything other than # the flash file system ('turnup' will not work). You need to add the filesystem # modules for your chosen root file system (and any others which will be used). # See openslug.conf for a more full-featured system! UCLIBC_EXTRA_RDEPENDS ?= "" UCLIBC_EXTRA_DEPENDS ?= "" #UCLIBC_EXTRA_BBFILES above may also need to be set OPENSLUG_EXTRA_INSTALL = "${UCLIBC_EXTRA_RDEPENDS}" OPENSLUG_EXTRA_DEPENDS = "${UCLIBC_EXTRA_DEPENDS}" #---------------------------------------------------------------------------------- # 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"