diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-01-06 09:53:25 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-01-06 09:53:25 +0100 |
commit | 2288ec26df8e47d9b699e46eecd05eb3570f03a0 (patch) | |
tree | 1d204b70e027fd737f6aae1b7308ae959f5bd0b9 /mk | |
parent | 45e7808c41c2e66266f738aa5eff70ce18cc04ac (diff) | |
parent | 667bc9e981847a1d117a2fc7110948075a268bdd (diff) |
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'mk')
-rw-r--r-- | mk/build.mk | 6 | ||||
-rw-r--r-- | mk/image.mk | 60 | ||||
-rw-r--r-- | mk/kernel-build.mk | 5 | ||||
-rw-r--r-- | mk/kernel-ver.mk | 2 | ||||
-rw-r--r-- | mk/pkg-bottom.mk | 2 | ||||
-rw-r--r-- | mk/qemu.mk | 34 | ||||
-rw-r--r-- | mk/rootfs.mk | 3 | ||||
-rw-r--r-- | mk/vars.mk | 3 |
8 files changed, 104 insertions, 11 deletions
diff --git a/mk/build.mk b/mk/build.mk index 0b3d2cc73..f20b4e59e 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -36,6 +36,7 @@ DEFCONFIG= ADK_DEBUG=n \ ADK_PACKAGE_URLGRABBER=n \ ADK_PACKAGE_PERL=n \ ADK_PACKAGE_LIBSSP=n \ + ADK_PACKAGE_OPENAFS=n \ ADK_PKG_XORG=n \ ADK_PKG_MPDBOX=n \ ADK_PKG_DEVELOPMENT=n \ @@ -99,7 +100,7 @@ POSTCONFIG= -@\ touch .rebuild.busybox;\ rebuild=1;\ fi; \ - for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE;do \ + for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE ADK_TARGET_QEMU_MICROBLAZE_MODEL;do \ if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \ touch .rebuild.base-files;\ rebuild=1;\ @@ -572,8 +573,9 @@ release: $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \ rm .config; \ ) 2>&1 | tee $(TOPDIR)/bin/$(SYSTEM)_$(ARCH)_$$libc/build.log; \ - if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; break;fi \ + if [ -f .exit ];then echo "Bulk build failed!"; break;fi \ done + if [ -f .exit ];then rm .exit;exit 1;fi # build all target architecture, target systems and libc combinations bulk: diff --git a/mk/image.mk b/mk/image.mk index 2273b4af7..79d6102c6 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -119,14 +119,18 @@ ifeq ($(ADK_HARDWARE_QEMU),y) TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_FS}-kernel INITRAMFS= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS} ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img +ROOTFSJFFS2= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-jffs2.img ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz +ROOTFSISO= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso else TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_FS}-kernel INITRAMFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS} ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img +ROOTFSJFFS2= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-jffs2.img ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz +ROOTFSISO= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso endif ${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package @@ -159,43 +163,89 @@ ${BIN_DIR}/${INITRAMFS}: ${BIN_DIR}/${INITRAMFS}_list ${BUILD_DIR}/root.squashfs: ${TARGET_DIR} ${STAGING_HOST_DIR}/bin/mksquashfs ${TARGET_DIR} \ - ${BUILD_DIR}/root.squashfs \ + ${BUILD_DIR}/root.squashfs -comp xz \ -nopad -noappend -root-owned $(MAKE_TRACE) +${BIN_DIR}/${ROOTFSJFFS2}: ${TARGET_DIR} + ${STAGING_HOST_DIR}/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -r ${TARGET_DIR} \ + --pad=$(ADK_TARGET_MTD_SIZE) -o ${BIN_DIR}/${ROOTFSJFFS2} $(MAKE_TRACE) + createinitramfs: ${BIN_DIR}/${INITRAMFS}_list ${SED} 's/.*CONFIG_(BLK_DEV_INITRD|INITRAMFS_SOURCE|INITRAMFS_COMPRESSION).*//' \ ${LINUX_DIR}/.config ( \ echo "CONFIG_BLK_DEV_INITRD=y"; \ echo 'CONFIG_INITRAMFS_SOURCE="${BIN_DIR}/${INITRAMFS}_list"'; \ - echo 'CONFIG_INITRAMFS_COMPRESSION_NONE is not set' >> ${LINUX_DIR}/.config; \ + echo '# CONFIG_INITRAMFS_COMPRESSION_NONE is not set' >> ${LINUX_DIR}/.config; \ + echo 'CONFIG_INITRAMFS_ROOT_UID=0' >> ${LINUX_DIR}/.config; \ + echo 'CONFIG_INITRAMFS_ROOT_GID=0' >> ${LINUX_DIR}/.config; \ ) >> ${LINUX_DIR}/.config ifeq ($(ADK_KERNEL_COMP_XZ),y) + echo "CONFIG_RD_BZIP2=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_GZIP=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config echo "CONFIG_RD_XZ=y" >> ${LINUX_DIR}/.config echo "CONFIG_INITRAMFS_COMPRESSION_XZ=y" >> ${LINUX_DIR}/.config + echo "CONFIG_XZ_DEC_X86=n" >> ${LINUX_DIR}/.config + echo "CONFIG_XZ_DEC_POWERPC=n" >> ${LINUX_DIR}/.config + echo "CONFIG_XZ_DEC_IA64=n" >> ${LINUX_DIR}/.config + echo "CONFIG_XZ_DEC_ARM=n" >> ${LINUX_DIR}/.config + echo "CONFIG_XZ_DEC_ARMTHUMB=n" >> ${LINUX_DIR}/.config + echo "CONFIG_XZ_DEC_SPARC=n" >> ${LINUX_DIR}/.config + echo "CONFIG_XZ_DEC_TEST=n" >> ${LINUX_DIR}/.config endif ifeq ($(ADK_KERNEL_COMP_LZMA),y) + echo "CONFIG_RD_XZ=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_BZIP2=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_GZIP=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config echo "CONFIG_RD_LZMA=y" >> ${LINUX_DIR}/.config echo "CONFIG_INITRAMFS_COMPRESSION_LZMA=y" >> ${LINUX_DIR}/.config endif ifeq ($(ADK_KERNEL_COMP_LZO),y) + echo "CONFIG_RD_XZ=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_BZIP2=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_GZIP=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config echo "CONFIG_RD_LZO=y" >> ${LINUX_DIR}/.config echo "CONFIG_INITRAMFS_COMPRESSION_LZO=y" >> ${LINUX_DIR}/.config endif ifeq ($(ADK_KERNEL_COMP_GZIP),y) + echo "CONFIG_RD_XZ=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_BZIP2=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config echo "CONFIG_RD_GZIP=y" >> ${LINUX_DIR}/.config echo "CONFIG_INITRAMFS_COMPRESSION_GZIP=y" >> ${LINUX_DIR}/.config endif ifeq ($(ADK_KERNEL_COMP_BZIP2),y) + echo "CONFIG_RD_XZ=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_GZIP=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config + echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config echo "CONFIG_RD_BZIP2=y" >> ${LINUX_DIR}/.config echo "CONFIG_INITRAMFS_COMPRESSION_BZIP2=y" >> ${LINUX_DIR}/.config endif @-rm $(LINUX_DIR)/usr/initramfs_data.cpio* 2>/dev/null - echo N | \ - $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \ - ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} oldconfig $(MAKE_TRACE) $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \ ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE) +${BIN_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package + mkdir -p ${TARGET_DIR}/boot/syslinux + cp ${STAGING_HOST_DIR}/usr/share/syslinux/{isolinux.bin,ldlinux.c32} \ + ${TARGET_DIR}/boot/syslinux + echo 'DEFAULT /boot/kernel root=/dev/sr0 init=/init' > \ + ${TARGET_DIR}/boot/syslinux/isolinux.cfg + ${TOOLS_DIR}/mkisofs -R -uid 0 -gid 0 -o $@ \ + -b boot/syslinux/isolinux.bin \ + -c boot/syslinux/boot.cat -no-emul-boot \ + -boot-load-size 4 -boot-info-table ${TARGET_DIR} + imageclean: rm -f $(BIN_DIR)/$(ADK_TARGET_SYSTEM)-* ${BUILD_DIR}/$(ADK_TARGET_SYSTEM)-* diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk index 59a68eb88..8fe0799a0 100644 --- a/mk/kernel-build.mk +++ b/mk/kernel-build.mk @@ -35,8 +35,13 @@ $(LINUX_DIR)/.prepared: $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PK $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(TOPDIR)/mk/modules.mk $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-configure -for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done +ifeq ($(ADK_USE_KERNEL_MINICONFIG),y) + $(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/mini.config + ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE) +else $(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/.config echo N | ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} oldconfig $(MAKE_TRACE) +endif ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} prepare scripts $(MAKE_TRACE) touch -c $(LINUX_DIR)/.config diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk index 0cfc73006..e4c368af5 100644 --- a/mk/kernel-ver.mk +++ b/mk/kernel-ver.mk @@ -2,7 +2,7 @@ ifeq ($(ADK_KERNEL_VERSION_TOOLCHAIN),y) KERNEL_VERSION:= 3.11.10 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= edbf88eb7f7d34dbd5d3887726790755 +KERNEL_MD5SUM:= 59f352d3f4e2cdf6755f79e09fa09176 endif ifeq ($(ADK_KERNEL_VERSION_3_11_10),y) KERNEL_VERSION:= 3.11.10 diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk index 0358c0382..dd8e81c41 100644 --- a/mk/pkg-bottom.mk +++ b/mk/pkg-bottom.mk @@ -180,7 +180,7 @@ ifneq (,$(filter dev,${PKG_OPTS})) done endif @-cd ${WRKINST}; \ - if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" ];then \ + if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" -a "${PKG_NAME}" != "pam" ];then \ find lib \( -name lib\*.so\* -o -name lib\*.a \) \ -exec echo 'WARNING: ${PKG_NAME} installs files in /lib -' \ ' fix this!' >&2 \; -quit 2>/dev/null; fi;\ diff --git a/mk/qemu.mk b/mk/qemu.mk new file mode 100644 index 000000000..f6151eeda --- /dev/null +++ b/mk/qemu.mk @@ -0,0 +1,34 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +ifeq ($(CPU_ARCH),arm) +QEMU:= qemu-arm +endif +ifeq ($(CPU_ARCH),mipsel) +QEMU:= qemu-mipsel +endif +ifeq ($(CPU_ARCH),mips64el) +QEMU:= qemu-mipsel +endif +ifeq ($(CPU_ARCH),mips) +QEMU:= qemu-mips +endif +ifeq ($(CPU_ARCH),mips64) +QEMU:= qemu-mips +endif +ifeq ($(CPU_ARCH),ppc) +QEMU:= qemu-ppc +endif +ifeq ($(CPU_ARCH),i486) +QEMU:= qemu-i386 +endif +ifeq ($(CPU_ARCH),i586) +QEMU:= qemu-i386 +endif +ifeq ($(CPU_ARCH),i686) +QEMU:= qemu-i386 +endif +ifeq ($(CPU_ARCH),x86_64) +QEMU:= qemu-x86_64 +endif + diff --git a/mk/rootfs.mk b/mk/rootfs.mk index 283c87aa7..3bbe31f25 100644 --- a/mk/rootfs.mk +++ b/mk/rootfs.mk @@ -9,6 +9,7 @@ endif endef ifeq ($(ADK_HARDWARE_QEMU),y) +MTDDEV:= root=/dev/mtdblock0 ifeq ($(ADK_TARGET_ROOTFS_ARCHIVE),y) ROOTFS:= root=/dev/sda1 endif @@ -50,7 +51,9 @@ $(eval $(call rootfs_template,initramfs,INITRAMFS)) $(eval $(call rootfs_template,initramfs-piggyback,INITRAMFS_PIGGYBACK)) $(eval $(call rootfs_template,squashfs,SQUASHFS,$(ROOTFS))) $(eval $(call rootfs_template,yaffs,YAFFS,$(MTDDEV) panic=3)) +$(eval $(call rootfs_template,jffs2,JFFS2,$(MTDDEV) rootfstype=jffs2)) $(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp init=/init)) $(eval $(call rootfs_template,encrypted,ENCRYPTED)) +$(eval $(call rootfs_template,iso,ISO)) export ADK_TARGET_FS diff --git a/mk/vars.mk b/mk/vars.mk index 9f4f8f0b9..0525f5129 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -160,8 +160,7 @@ HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${CC_FOR_BUILD}' \ CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \ CXX_FOR_BUILD='${CXX_FOR_BUILD}' \ CFLAGS_FOR_BUILD='${CFLAGS_FOR_BUILD}' \ - LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}' \ - QEMU='$(QEMU)' + LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}' PKG_SUFFIX:= $(strip $(subst ",, $(ADK_PACKAGE_SUFFIX))) |