#
-# Open TurboStation distribution - based on openprotium
+# FooNAS distribution - a NAS-centric distribution
+# based on openprotium
#
-DISTRO_NAME = "openturbostation"
+
+DISTRO_NAME = "foonas"
+
+# This is only changed for a release
DISTRO_VERSION = ".dev-snapshot-${SRCDATE}"
DISTRO_TYPE = "alpha"
+# These should be merged once the bogofeed change has been committed.
+FEED_URIS = "foonas-packages##http://ipkg.kynisk.com/foonas/${MACHINE}/cross/1.0-dev/packages"
+FEED_URIS += "foonas-kernel##http://ipkg.kynisk.com/foonas/{MACHINE}/cross/1.0-dev/kernel"
#
# Naming schemes
# Packaging and output format
#
INHERIT += "package_ipk"
-IMAGE_BASENAME = "openturbostation"
+IMAGE_BASENAME = "foonas"
IMAGE_FSTYPES = "jffs2"
-FEED_URIS = "openturbostation-packages##http://ipkg.kynisk.com/opents/cross/1.0-dev/packages"
-FEED_URIS += "openturbostation-kernel##http://ipkg.kynisk.com/opents/cross/1.0-dev/kernel"
-# For protium on the turbostation
#
# binutils and compilers
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}libc-for-gcc:glibc-intermediate"
PREFERRED_PROVIDER_virtual/libx11 = "libx11"
+PREFERRED_PROVIDER_virtual/libiconv = "glibc"
+PREFERRED_PROVIDER_virtual/libintl = "glibc"
+
+PREFERRED_PROVIDER_virtual/db = "db"
+PREFERRED_PROVIDER_virtual/db-native = "db-native"
PREFERRED_VERSION_binutils = "2.16"
PREFERRED_VERSION_binutils-cross = "2.16"
PREFERRED_VERSION_gcc = "4.1.2"
-PREFERRED_VERSION_gcc-cross = "4.1.2"
-PREFERRED_VERSION_gcc-cross-initial = "4.1.2"
+PREFERRED_VERSION_gcc-cross = "4.1.1"
+PREFERRED_VERSION_gcc-cross-initial = "4.1.1"
PREFERRED_VERSION_glibc = "2.5"
PREFERRED_VERSION_glibc-intermediate = "2.5"
PREFERRED_VERSION_glibc-initial = "2.3.2"
+GLIBC_ADDONS = "nptl"
+GLIBC_EXTRA_OECONF = "--with-tls"
#
-# Target OS & FPU system
+# Target OS
#
USE_NLS ?= "no"
TARGET_OS = "linux"
HOTPLUG = "udev"
-PREFERRED_PROVIDER_virtual/libiconv = "glibc"
-PREFERRED_PROVIDER_virtual/libintl = "glibc"
-
-#
-# Bootstrap & Init
-#
-#PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap"
require conf/distro/include/sane-srcdates.inc
-#
-#
-# Ensure consistency across all SlugOS builds for the provider of a
-# relational database - use the latest version of the SleepyCat
-# Berkeley database
-PREFERRED_PROVIDER_virtual/db = "db"
-PREFERRED_PROVIDER_virtual/db-native = "db-native"
CMDLINE_DEBUG = "noirqdebug"
# We want udev support in the image
udevdir = "/dev"
-TURBOSTATION_SUPPORT ?= "diffutils cpio findutils uboot-utils udev"
+TURBOSTATION_SUPPORT ?= "cpio uboot-utils udev"
BOOTSTRAP_EXTRA_RDEPENDS = "udev mdadm"
-ROOT_FLASH_SIZE = 12
-# Hardware stuff
+# Hardware stuff used in image generation
ERASEBLOCK_SIZE = "0x20000"
+JFFS2_ROOTFS_SIZE = "0xC80000"
+KERNEL_IMAGE_SIZE = "0x280000"
require conf/machine/include/tune-ppc603e.conf
-DESCRIPTION = "Turbostation initial boot and config"
+DESCRIPTION = "FooNAS initial boot and config"
SECTION = "base"
PRIORITY = "required"
LICENSE = "GPL"
DEPENDS = "base-files devio"
RDEPENDS = "busybox devio"
-PR = "r71"
+PR = "r0"
SRC_URI = "file://boot/flash \
file://boot/disk \
set +ex
}
-# If the package is installed on an NSLU2 $D will be empty, in that
-# case it is normal to run 'start' and 'stop', but because the conf
-# files installed don't actually start or stop anything this is
-# unnecessary, so the package postfoo handling is simplified here.
-#NB: do not use '08' (etc) for the first argument after start/stop,
+# NB: do not use '08' (etc) for the first argument after start/stop,
# the value is interpreted as an octal number if there is a leading
# zero.
-pkg_postinst_openturbostation-init() {
+pkg_postinst_foonas-init() {
opt=
test -n "$D" && opt="-r $D"
update-rc.d $opt hwclock.sh start 8 S . start 45 0 6 .
update-rc.d $opt rmrecovery start 99 1 2 3 4 5 .
}
-pkg_postrm_openturbostation-init() {
+pkg_postrm_foonas-init() {
opt=
test -n "$D" && opt="-r $D"
for s in ${INITSCRIPTS}
-DESCRIPTION = "Turbostation image"
-HOMEPAGE = "http://www.kynisk.com/opents"
-LICENSE = "MIT"
+DESCRIPTION = "Foonas image"
+LICENSE = "GPL"
PR = "r0"
DEPENDS = "${MACHINE_TASK_PROVIDER}"
EXTRA_IMAGECMD_jffs2 = "--big-endian --eraseblock=${ERASEBLOCK_SIZE} -D ${SLUGOS_DEVICE_TABLE}"
IMAGE_LINGUAS = ""
-# Setting USE_DEVFS prevents *any* entries being created initially
-# in /dev
-#USE_DEVFS = "1"
-
# This is passed to the image command to build the correct /dev
# directory (because only the image program can make actual
# dev entries!)
IMAGE_PREPROCESS_COMMAND += "sed -i -es,^VERBOSE=no,VERBOSE=very, ${IMAGE_ROOTFS}/etc/default/rcS;"
# Always just make a new flash image.
-PACK_IMAGE = 'turbostation_pack_image;'
+PACK_IMAGE = '${MACHINE}_pack_image;'
IMAGE_POSTPROCESS_COMMAND += "${PACK_IMAGE}"
PACK_IMAGE_DEPENDS = ""
#EXTRA_IMAGEDEPENDS += "${PACK_IMAGE_DEPENDS}"
-# This hack removes '${MACHINE}' from the end of the arch.conf for ipk,
-# preventing _mach.ipk (with no byte sex) taking precedence over everything
-# else.
-# but we want 'storcenter' in there so kernel modules work correctly.
-#
-#ROOTFS_POSTPROCESS_COMMAND += "sed -i '$d' '${IMAGE_ROOTFS}/etc/ipkg/arch.conf';"
-
# These depends define native utilities - they do not get put in the flash and
# are not required to build the image.
IMAGE_TOOLS = ""
#EXTRA_IMAGEDEPENDS += "${IMAGE_TOOLS}"
-OPENTURBOSTATION_KERNEL = ""
-# CONFIG:
-# SLUGOS_EXTRA_RDEPENDS: set in conf, things to add to the image
-# SLUGOS_SUPPORT: set to here, see below, added to the image.
-# SLUGOS_KERNEL: set here, kernel modules added to the image
-#
-# Do not override the last two unless you really know what you
-# are doing - there is more information below.
-
-# diff, cpio and find are required for reflash and turnup ram.
-# Removing these probably leaves the system bootable, but standard
-# openslug and ucslugc stuff won't work, so only take these out in
-# very non-standard turnkey slugos builds.
-#
-# udev is the default way of handling devices, there is no guarantee
-# that the static device table is completely correct (it is just
-# known to be sufficient for boot.)
-# we'ere still on 2.6.12 devfs....
-#OPENPROTIUM_SUPPORT ?= "diffutils cpio findutils udev"
-#
-OPENTURBOSTATION_SUPPORT ?= "diffutils cpio findutils uboot-utils udev"
-
-# kernel-module-af-packet must be in the image for DHCP to work
-# kernel-module-netconsole is here because it is small and is
-# highly useful on minimal systems (which really don't have anywhere
-# other than the network to output error messages!)
+FOONAS_SUPPORT += "diffutils cpio findutils uboot-utils udev"
# this gets /lib/modules made....
+FOONAS_KERNEL = "kernel-module-ext3 kernel-module-minix \
+ kernel-module-usb-storage"
RDEPENDS = " \
base-files base-passwd netbase \
- busybox initscripts-openturbostation openturbostation-init \
+ busybox initscripts foonas-init \
update-modules sysvinit tinylogin \
module-init-tools-depmod modutils-initscripts \
ipkg-collateral ipkg ipkg-link \
mdadm \
hdparm \
mtd-utils \
- xfsprogs \
udev \
- ${OPENTURBOSTATION_SUPPORT} \
- ${OPENTURBOSTATION_KERNEL} "
+ ${FOONAS_SUPPORT} \
+ ${FOONAS_KERNEL} "
PACKAGE_INSTALL = "${RDEPENDS}"
inherit image
+# At this point you have to make a ${MACHINE}_pack_image for your machine.
+
turbostation_pack_image() {
# find latest kernel
KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/uImage* | tail -1`
kernel base-files base-passwd netbase \
busybox initscripts-openprotium openprotium-init \
update-modules sysvinit tinylogin \
- module-init-tools modutils-initscripts \
+ module-init-tools-depmod modutils-initscripts \
ipkg-collateral ipkg ipkg-link \
libgcc1 \
portmap \
mdadm \
hdparm \
mtd-utils \
- sccd \
- util-linux-mount \
- util-linux-umount \
- util-linux-swaponoff \
- util-linux-losetup \
${OPENPROTIUM_SUPPORT} \
${OPENPROTIUM_KERNEL} "
# ${SLUGOS_EXTRA_RDEPENDS}"
DEPENDS = "uboot-utils"
PR = "r6"
-# notes on iom def kernel:
-#
-# can probably remove :
-# BLK_DEV_RAM ?
-# MD_RAID5
-# QUOTA
-# QFMT_V2
-# DNOTIFY?
-# MSDOS_FS, VFAT_FS, NTFS_FS?
-#
-# USB_GADGET? - USB_GADGET_NET2280, USB_ETH, USB_ETH_RNDIS
-#
-#
-# should add:
-# EXT3_FS
-# PACKET_MMAP ?
-# i2c_chardev?
-# usb audio:
-# USB_EMI62?
-# USB_EMI26?
-
COMPATIBLE_MACHINE = "turbostation"
+RDEPENDS_kernel-module-zd1211rw += "zd1211-firmware"
+
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
file://001_r1000.diff;patch=1 \
file://linux-2.6.16_arch_ppc_platforms_sandpoint.h;patch=1 \
-DESCRIPTION = "Packages that are compatible with Openturbostation"
+DESCRIPTION = "Packages that are compatible with FooNAS"
LICENSE = "MIT"
PR = "r1"
CONFLICTS = "db3"
-PROVIDES += "${OPENTURBOSTATION_IMAGENAME}-packages"
+PROVIDES += "${FOONAS_IMAGENAME}-packages"
EXCLUDE_FROM_WORLD = "1"
INHIBIT_DEFAULT_DEPS = "1"
ALLOW_EMPTY = "1"
-OPENTURBOSTATION_PACKAGES = "\
+FOONAS_PACKAGES = "\
alsa-lib \
alsa-utils \
apache2 \
vlan \
watchdog \
wget \
+ wireless-tools \
zip \
zlib \
"
-OPENTURBOSTATION_EXTRA_PACKAGES ?= ""
+FOONAS_EXTRA_PACKAGES ?= ""
# The package-index at the end causes regeneration of the Packages.gz and
# other control files.
-# openprotium-native \
DEPENDS = "\
- openturbostation-image \
- ${OPENTURBOSTATION_PACKAGES} \
- ${OPENTURBOSTATION_EXTRA_PACKAGES} \
+ foonas-image \
+ ${FOONAS_PACKAGES} \
+ ${FOONAS_EXTRA_PACKAGES} \
package-index \
"