summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/lsppchd-image.bbclass1
-rw-r--r--classes/lsppchg-image.bbclass1
-rw-r--r--classes/n2100-image.bbclass36
-rw-r--r--classes/turbostation-image.bbclass35
-rw-r--r--conf/distro/foonas.conf78
-rw-r--r--conf/distro/include/foonas.inc60
-rw-r--r--packages/images/foonas-image.bb78
7 files changed, 139 insertions, 150 deletions
diff --git a/classes/lsppchd-image.bbclass b/classes/lsppchd-image.bbclass
new file mode 100644
index 0000000000..da280551d4
--- /dev/null
+++ b/classes/lsppchd-image.bbclass
@@ -0,0 +1 @@
+IMAGE_POSTPROCESS_COMMAND += ""
diff --git a/classes/lsppchg-image.bbclass b/classes/lsppchg-image.bbclass
new file mode 100644
index 0000000000..da280551d4
--- /dev/null
+++ b/classes/lsppchg-image.bbclass
@@ -0,0 +1 @@
+IMAGE_POSTPROCESS_COMMAND += ""
diff --git a/classes/n2100-image.bbclass b/classes/n2100-image.bbclass
new file mode 100644
index 0000000000..811b1d37b7
--- /dev/null
+++ b/classes/n2100-image.bbclass
@@ -0,0 +1,36 @@
+DEPENDS += "openssl-native"
+EXTRA_IMAGECMD = "--little-endian"
+ERASEBLOCK_SIZE = "0x20000"
+IMAGE_FSTYPES = "jffs2"
+IMAGE_POSTPROCESS_COMMAND += '${MACHINE}_pack_image;'
+
+n2100_pack_image() {
+ # find latest kernel
+ KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/zImage* | tail -1`
+ if [ -z "$KERNEL" ]; then
+ oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux to create one."
+ exit 1
+ fi
+ ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2
+ OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img
+ PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz
+ HEX_MAX_KERN_SIZE=1C0000
+ DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc `
+ HEX_MAX_ROOT_SIZE=DC0000
+ DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc `
+ KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'`
+ if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then
+ oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE."
+ exit 1
+ fi
+ ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'`
+ if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then
+ oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE."
+ exit 1
+ fi
+ PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc `
+ dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null
+ cat $KERNEL $PADFILE $ROOTFS > $OUTPUT
+ rm -f $PADFILE
+ ls -l $OUTPUT
+}
diff --git a/classes/turbostation-image.bbclass b/classes/turbostation-image.bbclass
new file mode 100644
index 0000000000..d82e3996d5
--- /dev/null
+++ b/classes/turbostation-image.bbclass
@@ -0,0 +1,35 @@
+EXTRA_IMAGECMD = "--big-endian"
+ERASEBLOCK_SIZE = "0x20000"
+IMAGE_FSTYPES = "jffs2"
+IMAGE_POSTPROCESS_COMMAND += '${MACHINE}_pack_image;'
+
+turbostation_pack_image() {
+ # find latest kernel
+ KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/uImage* | tail -1`
+ if [ -z "$KERNEL" ]; then
+ oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux-turbostation to create one."
+ exit 1
+ fi
+ ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2
+ OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img
+ PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz
+ HEX_MAX_KERN_SIZE=200000
+ DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc `
+ HEX_MAX_ROOT_SIZE=D00000
+ DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc `
+ KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'`
+ if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then
+ oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE."
+ exit 1
+ fi
+ ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'`
+ if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then
+ oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE."
+ exit 1
+ fi
+ PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc `
+ dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null
+ cat $KERNEL $PADFILE $ROOTFS > $OUTPUT
+ rm -f $PADFILE
+ ls -l $OUTPUT
+}
diff --git a/conf/distro/foonas.conf b/conf/distro/foonas.conf
index 75cfc926df..b43090202d 100644
--- a/conf/distro/foonas.conf
+++ b/conf/distro/foonas.conf
@@ -12,23 +12,19 @@ DISTRO_TYPE = "alpha"
FEED_URIS = "foonas-packages##http://ipkg.foonas.org/${MACHINE}/cross/1.0-dev/packages"
FEED_URIS += "foonas-kernel##http://ipkg.foonas.org/${MACHINE}/cross/1.0-dev/kernel"
+TARGET_OS = "linux"
+HOTPLUG = "udev"
# Various defines for Thecus N2100
FOONAS_KERNEL_n2100 = "kernel-module-ext2 kernel-module-usb-storage"
FOONAS_SUPPORT_n2100 += "fis"
BOOTSTRAP_EXTRA_RDEPENDS_n2100 = "udev mdadm"
-EXTRA_IMAGECMD_n2100 = "--little-endian"
-ERASEBLOCK_SIZE_n2100 = "0x20000"
-IMAGE_FSTYPES_n2100 = "jffs2"
# Various defines for QNAP Turbostation
FOONAS_KERNEL_turbostation = "kernel-module-ext3 kernel-module-minix \
kernel-module-usb-storage"
FOONAS_SUPPORT_turbostation += "uboot-utils"
BOOTSTRAP_EXTRA_RDEPENDS_turbostation = "udev mdadm"
-EXTRA_IMAGECMD_turbostation = "--big-endian"
-ERASEBLOCK_SIZE_turbostation = "0x20000"
-IMAGE_FSTYPES_turbostation = "jffs2"
# Various defines for Linkstations
FOONAS_KERNEL_lsppchg = "kernel-module-dm-mod kernel-module-raid1 \
@@ -52,73 +48,5 @@ INHERIT += "debian"
INHERIT += "package_ipk"
IMAGE_BASENAME = "foonas"
-#
-# binutils and compilers
-#
-
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-foonas-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_PROVIDER_virtual/powerpc-foonas-linux-libc-for-gcc = "glibc-intermediate"
-
-# not used yet
-#PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc-intermediate"
-#PREFERRED_PROVIDER_virtual/armeb-foonas-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
-#PREFERRED_PROVIDER_virtual/mipsel-foonas-linux-libc-for-gcc = "glibc-intermediate"
-
-TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}"
-
-#mess with compiler flags to use -Os instead of -O2
-#Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
-# perl has some problems, see http://bugs.openembedded.org/show_bug.cgi?id=1616
-
-FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os"
-FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1"
-
-BUILD_OPTIMIZATION = "-Os"
-BUILD_OPTIMIZATION_pn-perl = "-O1"
-
-CXXFLAGS += "-fvisibility-inlines-hidden"
-
-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"
-#conflict between this and the last below.
-#PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
-# Select 2.6 versions of the depmod support
-PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
-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.17.50.0.12"
-PREFERRED_VERSION_binutils-cross = "2.17.50.0.12"
-
-PREFERRED_VERSION_gcc = "4.1.1"
-PREFERRED_VERSION_gcc-cross = "4.1.1"
-PREFERRED_VERSION_gcc-cross-sdk ?= "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.5"
-GLIBC_EXTRA_OECONF = "--with-tls"
-
-PREFERRED_VERSION_linux-libc-headers ?= "2.6.18"
-GLIBC_ADDONS ?= "ports,nptl,libidn"
-
-
-#
-# Target OS
-#
-
-TARGET_OS = "linux"
-HOTPLUG = "udev"
require conf/distro/include/sane-srcdates.inc
-
-CMDLINE_DEBUG = "noirqdebug"
+require conf/distro/include/foonas.inc
diff --git a/conf/distro/include/foonas.inc b/conf/distro/include/foonas.inc
new file mode 100644
index 0000000000..189b932716
--- /dev/null
+++ b/conf/distro/include/foonas.inc
@@ -0,0 +1,60 @@
+#
+# binutils and compilers
+#
+
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/arm-foonas-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/powerpc-foonas-linux-libc-for-gcc = "glibc-intermediate"
+
+# not used yet
+#PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc-intermediate"
+#PREFERRED_PROVIDER_virtual/armeb-foonas-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
+#PREFERRED_PROVIDER_virtual/mipsel-foonas-linux-libc-for-gcc = "glibc-intermediate"
+
+TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}"
+
+#mess with compiler flags to use -Os instead of -O2
+#Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
+# perl has some problems, see http://bugs.openembedded.org/show_bug.cgi?id=1616
+
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os"
+FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1"
+
+BUILD_OPTIMIZATION = "-Os"
+BUILD_OPTIMIZATION_pn-perl = "-O1"
+
+CXXFLAGS += "-fvisibility-inlines-hidden"
+
+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"
+#conflict between this and the last below.
+#PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
+# Select 2.6 versions of the depmod support
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
+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.17.50.0.12"
+PREFERRED_VERSION_binutils-cross = "2.17.50.0.12"
+
+PREFERRED_VERSION_gcc = "4.1.1"
+PREFERRED_VERSION_gcc-cross = "4.1.1"
+PREFERRED_VERSION_gcc-cross-sdk ?= "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.5"
+GLIBC_EXTRA_OECONF = "--with-tls"
+
+PREFERRED_VERSION_linux-libc-headers ?= "2.6.18"
+GLIBC_ADDONS ?= "ports,nptl,libidn"
+
diff --git a/packages/images/foonas-image.bb b/packages/images/foonas-image.bb
index 3d2c621438..db5ff198fc 100644
--- a/packages/images/foonas-image.bb
+++ b/packages/images/foonas-image.bb
@@ -5,12 +5,7 @@ PR = "r0"
inherit image
DEPENDS = "${MACHINE_TASK_PROVIDER} makedevs-native mtd-utils-native"
-DEPENDS_n2100 += "openssl-native"
-
-IMAGE_POSTPROCESS_COMMAND += "${PACK_IMAGE}"
-PACK_IMAGE_DEPENDS = ""
-PACK_IMAGE = '${MACHINE}_pack_image;'
IMAGE_PREPROCESS_COMMAND += "sed -i -es,^id:5:initdefault:,id:3:initdefault:, ${IMAGE_ROOTFS}/etc/inittab;"
IMAGE_PREPROCESS_COMMAND += "sed -i -es,^root::0,root:BTMzOOAQfESg6:0, ${IMAGE_ROOTFS}/etc/passwd;"
IMAGE_PREPROCESS_COMMAND += "sed -i -es,^VERBOSE=no,VERBOSE=very, ${IMAGE_ROOTFS}/etc/default/rcS;"
@@ -25,78 +20,11 @@ RDEPENDS = " \
module-init-tools-depmod modutils-initscripts \
ipkg-collateral ipkg ipkg-link \
libgcc1 diffutils cpio findutils\
- portmap \
- dropbear \
- e2fsprogs-blkid \
- mdadm \
- hdparm \
- mtd-utils \
- udev \
+ portmap dropbear e2fsprogs-blkid \
+ mdadm hdparm mtd-utils udev \
${FOONAS_SUPPORT} \
${FOONAS_KERNEL} "
PACKAGE_INSTALL = "${RDEPENDS}"
-# 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`
- if [ -z "$KERNEL" ]; then
- oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux-turbostation to create one."
- exit 1
- fi
- ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2
- OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img
- PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz
- HEX_MAX_KERN_SIZE=200000
- DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc `
- HEX_MAX_ROOT_SIZE=D00000
- DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc `
- KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'`
- if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then
- oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE."
- exit 1
- fi
- ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'`
- if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then
- oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE."
- exit 1
- fi
- PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc `
- dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null
- cat $KERNEL $PADFILE $ROOTFS > $OUTPUT
- rm -f $PADFILE
- ls -l $OUTPUT
-}
-
-n2100_pack_image() {
- # find latest kernel
- KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/zImage* | tail -1`
- if [ -z "$KERNEL" ]; then
- oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux to create one."
- exit 1
- fi
- ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2
- OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img
- PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz
- HEX_MAX_KERN_SIZE=1C0000
- DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc `
- HEX_MAX_ROOT_SIZE=DC0000
- DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc `
- KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'`
- if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then
- oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE."
- exit 1
- fi
- ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'`
- if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then
- oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE."
- exit 1
- fi
- PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc `
- dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null
- cat $KERNEL $PADFILE $ROOTFS > $OUTPUT
- rm -f $PADFILE
- ls -l $OUTPUT
-} \ No newline at end of file
+inherit n2100-image turbostation-image lsppchg-image lsppchd-image \ No newline at end of file