From 972dcfcdbfe75dcfeb777150c136576cf1a71e99 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Fri, 9 Oct 2015 22:59:03 +0200 Subject: initial commit for Enea Linux 5.0 arm Signed-off-by: Tudor Florea --- meta/recipes-bsp/grub/grub-0.97/autohell.patch | 21 +++++ .../grub-0.97/grub-support-256byte-inode.patch | 101 +++++++++++++++++++++ .../grub-0.97/grub_fix_for_automake-1.12.patch | 74 +++++++++++++++ .../grub/grub-0.97/no-reorder-functions.patch | 31 +++++++ .../grub/grub-0.97/objcopy-absolute.patch | 40 ++++++++ 5 files changed, 267 insertions(+) create mode 100644 meta/recipes-bsp/grub/grub-0.97/autohell.patch create mode 100644 meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch create mode 100644 meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch create mode 100644 meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch create mode 100644 meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch (limited to 'meta/recipes-bsp/grub/grub-0.97') diff --git a/meta/recipes-bsp/grub/grub-0.97/autohell.patch b/meta/recipes-bsp/grub/grub-0.97/autohell.patch new file mode 100644 index 0000000000..d66207ae6c --- /dev/null +++ b/meta/recipes-bsp/grub/grub-0.97/autohell.patch @@ -0,0 +1,21 @@ +Upstream-Status: Inappropriate [configuration] + +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: grub-0.97/configure.ac +=================================================================== +--- grub-0.97.orig/configure.ac 2008-09-12 17:39:52.000000000 +0200 ++++ grub-0.97/configure.ac 2008-09-12 17:40:21.000000000 +0200 +@@ -60,8 +60,8 @@ AC_PROG_CC + _AM_DEPENDENCIES(CC) + + dnl Because recent automake complains about AS, set it here. +-CCAS="$CC" +-AC_SUBST(CCAS) ++AM_PROG_AS ++AC_SUBST(AS) + + AC_ARG_WITH(binutils, + [ --with-binutils=DIR search the directory DIR to find binutils]) diff --git a/meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch b/meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch new file mode 100644 index 0000000000..d225d13dce --- /dev/null +++ b/meta/recipes-bsp/grub/grub-0.97/grub-support-256byte-inode.patch @@ -0,0 +1,101 @@ +Upstream-Status: Inappropriate [No Longer Maintained] + +diff -Naur grub-0.97-800/stage2/fsys_ext2fs.c grub-0.97-810/stage2/fsys_ext2fs.c +--- grub-0.97-800/stage2/fsys_ext2fs.c 2008-07-21 00:40:21.668879475 -0600 ++++ grub-0.97-810/stage2/fsys_ext2fs.c 2008-07-21 01:01:11.063953773 -0600 +@@ -79,7 +79,52 @@ + __u32 s_rev_level; /* Revision level */ + __u16 s_def_resuid; /* Default uid for reserved blocks */ + __u16 s_def_resgid; /* Default gid for reserved blocks */ +- __u32 s_reserved[235]; /* Padding to the end of the block */ ++ /* ++ * These fields are for EXT2_DYNAMIC_REV superblocks only. ++ * ++ * Note: the difference between the compatible feature set and ++ * the incompatible feature set is that if there is a bit set ++ * in the incompatible feature set that the kernel doesn't ++ * know about, it should refuse to mount the filesystem. ++ * ++ * e2fsck's requirements are more strict; if it doesn't know ++ * about a feature in either the compatible or incompatible ++ * feature set, it must abort and not try to meddle with ++ * things it doesn't understand... ++ */ ++ __u32 s_first_ino; /* First non-reserved inode */ ++ __u16 s_inode_size; /* size of inode structure */ ++ __u16 s_block_group_nr; /* block group # of this superblock */ ++ __u32 s_feature_compat; /* compatible feature set */ ++ __u32 s_feature_incompat; /* incompatible feature set */ ++ __u32 s_feature_ro_compat; /* readonly-compatible feature set */ ++ __u8 s_uuid[16]; /* 128-bit uuid for volume */ ++ char s_volume_name[16]; /* volume name */ ++ char s_last_mounted[64]; /* directory where last mounted */ ++ __u32 s_algorithm_usage_bitmap; /* For compression */ ++ /* ++ * Performance hints. Directory preallocation should only ++ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. ++ */ ++ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ ++ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ ++ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */ ++ /* ++ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. ++ */ ++ __u8 s_journal_uuid[16]; /* uuid of journal superblock */ ++ __u32 s_journal_inum; /* inode number of journal file */ ++ __u32 s_journal_dev; /* device number of journal file */ ++ __u32 s_last_orphan; /* start of list of inodes to delete */ ++ __u32 s_hash_seed[4]; /* HTREE hash seed */ ++ __u8 s_def_hash_version; /* Default hash version to use */ ++ __u8 s_jnl_backup_type; /* Default type of journal backup */ ++ __u16 s_reserved_word_pad; ++ __u32 s_default_mount_opts; ++ __u32 s_first_meta_bg; /* First metablock group */ ++ __u32 s_mkfs_time; /* When the filesystem was created */ ++ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */ ++ __u32 s_reserved[172]; /* Padding to the end of the block */ + }; + + struct ext2_group_desc +@@ -218,6 +263,14 @@ + #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32)) + #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s))) + ++#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ ++#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ ++#define EXT2_GOOD_OLD_INODE_SIZE 128 ++#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ ++ EXT2_GOOD_OLD_INODE_SIZE : \ ++ (s)->s_inode_size) ++#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) ++ + /* linux/ext2_fs.h */ + #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) + /* kind of from ext2/super.c */ +@@ -553,7 +606,7 @@ + gdp = GROUP_DESC; + ino_blk = gdp[desc].bg_inode_table + + (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group)) +- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode))); ++ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK))); + #ifdef E2DEBUG + printf ("inode table fsblock=%d\n", ino_blk); + #endif /* E2DEBUG */ +@@ -565,13 +618,12 @@ + /* reset indirect blocks! */ + mapblock2 = mapblock1 = -1; + +- raw_inode = INODE + +- ((current_ino - 1) +- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1)); ++ raw_inode = (struct ext2_inode *)((char *)INODE + ++ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) * ++ EXT2_INODE_SIZE (SUPERBLOCK)); + #ifdef E2DEBUG + printf ("ipb=%d, sizeof(inode)=%d\n", +- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)), +- sizeof (struct ext2_inode)); ++ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK)); + printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode); + printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE); + for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode; diff --git a/meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch b/meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch new file mode 100644 index 0000000000..0cf7dc96d7 --- /dev/null +++ b/meta/recipes-bsp/grub/grub-0.97/grub_fix_for_automake-1.12.patch @@ -0,0 +1,74 @@ +Upstream-Status: Inappropriate + +Subject: [PATCH] grub: fix for automake-1.12 + +automake 1.12 has depricated automatic de-ANSI-fication support + +this patch avoids these kinds of errors: + +| stage1/Makefile.am:2: error: 'pkglibdir' is not a legitimate directory for 'DATA' +| stage2/Makefile.am:35: error: 'pkglibdir' is not a legitimate directory for 'DATA' +| stage2/Makefile.am:46: error: 'pkglibdir' is not a legitimate directory for 'DATA' +| autoreconf: automake failed with exit status: 1 +| ERROR: autoreconf execution failed. + +The upstream status is marked as 'Inappropriate' because this problem is not uncommon, +it has been there for a long time and no change in upstream. + +Signed-off-by: Chen Qi + +Index: grub-0.97/stage1/Makefile.am +=================================================================== +--- a/stage1/Makefile.am ++++ b/stage1/Makefile.am +@@ -1,7 +1,7 @@ +-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) +-nodist_pkglib_DATA = stage1 ++pkgdatadir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) ++nodist_pkgdata_DATA = stage1 + +-CLEANFILES = $(nodist_pkglib_DATA) ++CLEANFILES = $(nodist_pkgdata_DATA) + + # We can't use builtins or standard includes. + AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc +Index: grub-0.97/stage2/Makefile.am +=================================================================== +--- a/stage2/Makefile.am ++++ b/stage2/Makefile.am +@@ -27,12 +27,12 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ + -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 + + # Stage 2 and Stage 1.5's. +-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) ++pkgdatadir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) + + EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec + + if DISKLESS_SUPPORT +-pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ ++pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ + ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ + reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \ + nbgrub pxegrub +@@ -43,7 +43,7 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ + reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \ + xfs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec + else +-pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ ++pkgdata_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ + ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ + reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 + noinst_DATA = pre_stage2 start start_eltorito +@@ -105,7 +105,7 @@ else + BUILT_SOURCES = stage2_size.h + endif + +-CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES) ++CLEANFILES = $(pkgdata_DATA) $(noinst_DATA) $(BUILT_SOURCES) + + stage2_size.h: pre_stage2 + -rm -f stage2_size.h +-- +1.7.9.5 + diff --git a/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch b/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch new file mode 100644 index 0000000000..70037e47c7 --- /dev/null +++ b/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch @@ -0,0 +1,31 @@ +Upstream-Status: Inappropriate [disable feature] + +After the commit "tcmode-default: switch to gcc 4.6.0 for x86, x86-64 & arm", +we got bug 1099 (http://bugzilla.yoctoproject.org/show_bug.cgi?id=1099): + +Running "install --stage2=/ssd/boot/grub/stage2 /boot/grub/stage1(hd0) + /boot/grub/stage2 p /boot/grub/menu list" failed +Error 6: Mismatched or corrupt version of stage1/stage2 + +This turned out to be a gcc's bug. See +https://bugs.gentoo.org/show_bug.cgi?id=360513 +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39333 + +Upstream gcc seems uninterested in the bug, so at present we can disable the +option as a workaround. Thanks Ryan Hill for the investigation and the +workaround patch. + +Dexuan Cui +Wed Jun 29 20:21:39 CST 2011 + +--- grub-0.97/stage2/Makefile.am.orig ++++ grub-0.97/stage2/Makefile.am +@@ -79,7 +79,7 @@ + HERCULES_FLAGS = + endif + +-STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ ++STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-reorder-functions -fno-builtin -nostdinc \ + $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) + + STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 diff --git a/meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch b/meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch new file mode 100644 index 0000000000..bd8e0a89fc --- /dev/null +++ b/meta/recipes-bsp/grub/grub-0.97/objcopy-absolute.patch @@ -0,0 +1,40 @@ + +This patch is from ubuntu: + * objcopy-absolute.diff (update): Remove .note, .comment, and + .note.gnu.build-id sections from images (LP: #444703). + +Upstream-Status: Inappropriate [no longer maintained] + +Index: b/acinclude.m4 +=================================================================== +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -61,7 +61,7 @@ + else + AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr]) + fi +- if AC_TRY_COMMAND([${OBJCOPY-objcopy} -O binary conftest.exec conftest]); then : ++ if AC_TRY_COMMAND([${OBJCOPY-objcopy} --only-section=.text -O binary conftest.exec conftest]); then : + else + AC_MSG_ERROR([${OBJCOPY-objcopy} cannot create binary files]) + fi +Index: b/stage1/Makefile.am +=================================================================== +--- a/stage1/Makefile.am ++++ b/stage1/Makefile.am +@@ -12,4 +12,4 @@ + + SUFFIXES = .exec + .exec: +- $(OBJCOPY) -O binary $< $@ ++ $(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@ +Index: b/stage2/Makefile.am +=================================================================== +--- a/stage2/Makefile.am ++++ b/stage2/Makefile.am +@@ -293,4 +293,4 @@ + # General rule for making a raw binary. + SUFFIXES = .exec + .exec: +- $(OBJCOPY) -O binary $< $@ ++ $(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@ -- cgit v1.2.3-54-g00ecf