diff options
-rw-r--r-- | classes/lsppchd-image.bbclass | 1 | ||||
-rw-r--r-- | classes/lsppchg-image.bbclass | 1 | ||||
-rw-r--r-- | classes/n2100-image.bbclass | 36 | ||||
-rw-r--r-- | classes/turbostation-image.bbclass | 35 | ||||
-rw-r--r-- | conf/distro/foonas.conf | 78 | ||||
-rw-r--r-- | conf/distro/include/foonas.inc | 60 | ||||
-rw-r--r-- | packages/images/foonas-image.bb | 78 |
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 |