summaryrefslogtreecommitdiffstats
path: root/meta-initramfs/recipes-devtools
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
commit1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch)
treea21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-initramfs/recipes-devtools
downloadmeta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-initramfs/recipes-devtools')
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut_git.bb42
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb40
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch15
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch14
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch14
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch22
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch144
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch25
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb12
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-utils.inc60
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb14
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc.inc52
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb24
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch53
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch8
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch19
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch28
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch20
-rw-r--r--meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.0.bb49
19 files changed, 655 insertions, 0 deletions
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
new file mode 100644
index 000000000..ea55a4dfb
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
@@ -0,0 +1,42 @@
1SUMMARY = "Initramfs generator using udev"
2DESCRIPTION = "Dracut is an event driven initramfs infrastructure. dracut (the tool) is used to create an initramfs image by copying tools and files from an installed system and combining it with the dracut framework, usually found in /usr/lib/dracut/modules.d."
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6
7PE = "1"
8PV = "038"
9
10# v038 tag
11SRCREV = "267a109a81715c8957f14659593deb7b6255d40e"
12SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git"
13
14S = "${WORKDIR}/git"
15
16do_configure() {
17 ./configure --prefix=${prefix} \
18 --libdir=${libdir} \
19 --datadir=${datadir} \
20 --sysconfdir=${sysconfdir} \
21 --sbindir=${sbindir} \
22 --disable-documentation \
23 --bindir=${bindir} \
24 --includedir=${includedir} \
25 --localstatedir=${localstatedir} \
26}
27
28do_install() {
29 oe_runmake install DESTDIR=${D}
30}
31
32FILES_${PN} += "${datadir}/bash-completion \
33 ${libdir}/kernel \
34 "
35
36# 'getopt' is in the util-linux main package
37RDEPENDS_${PN} = "systemd findutils cpio util-linux-blkid util-linux bash ldd"
38# This could be optimized a bit, but let's avoid non-booting systems :)
39RRECOMMENDS_${PN} = " \
40 kernel-modules \
41 coreutils \
42 "
diff --git a/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
new file mode 100644
index 000000000..2f4afce06
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
@@ -0,0 +1,40 @@
1SUMMARY = "The klcc crosscompiler for klibc"
2
3require klibc.inc
4DEPENDS = "klibc"
5
6FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
7
8SRC_URI += "file://use-env-for-perl.patch"
9
10# disable task already run in klibc recipe
11do_configure[noexec] = "1"
12
13do_compile() {
14 oe_runmake 'INSTALLDIR=${STAGING_DIR_TARGET}${libdir}/klibc' klcc
15}
16
17do_install() {
18 install -d ${D}${bindir_crossscripts}/
19 install -m 0755 klcc/klcc ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
20 # Insert an unencoded path as a comment to trigger the sstate renaming functions
21 sed -i '2i #${STAGING_DIR_TARGET}' ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
22}
23
24SYSROOT_PREPROCESS_FUNCS += "klcc_sysroot_preprocess"
25
26klcc_sysroot_preprocess () {
27 sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
28}
29
30deltask do_package
31deltask do_packagedata
32deltask do_package_write_ipk
33deltask do_package_write_rpm
34deltask do_package_write_deb
35deltask do_package_write_tar
36
37SSTATE_SCAN_FILES = "*"
38EXTRA_STAGING_FIXMES = "MANGLEDSTAGINGDIRTARGET MANGLEDSTAGINGDIR"
39MANGLEDSTAGINGDIR = "${@d.getVar("STAGING_DIR", True).replace("/", "\\\\/").replace("-", "\\\\-")}"
40MANGLEDSTAGINGDIRTARGET = "${@d.getVar("STAGING_DIR_TARGET", True).replace("/", "\\\\/").replace("-", "\\\\-")}"
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
new file mode 100644
index 000000000..6bb384bb0
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
@@ -0,0 +1,15 @@
1Status: not applicable upstream, in OE/Yocto we use $(FIX_V4BX)
2which is "" in case of armv5 or thumbs.
3
4Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
5
6--- a/usr/klibc/arch/arm/MCONFIG 2013-01-09 01:12:02.000000000 +0100
7+++ b/usr/klibc/arch/arm/MCONFIG 2013-01-08 23:45:59.000000000 +0100
8@@ -29,6 +29,7 @@
9 KLIBCSHAREDFLAGS = -Ttext 0x01800200
10 ifeq ($(CONFIG_AEABI),y)
11 KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
12+KLIBCLDFLAGS += $(FIX_ARMV4_EABI_BX)
13 else
14 KLIBCREQFLAGS += -mabi=apcs-gnu -mno-thumb-interwork
15 endif
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch
new file mode 100644
index 000000000..9bc4835dc
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch
@@ -0,0 +1,14 @@
1diff --git a/klcc/klcc.in b/klcc/klcc.in
2index 43d0984..61e9385 100644
3--- a/klcc/klcc.in
4+++ b/klcc/klcc.in
5@@ -204,6 +204,9 @@ while ( defined($a = shift(@ARGV)) ) {
6 # Libraries
7 push(@libs, $a);
8 push(@libs, shift(@ARGV)) if ( $2 eq '' );
9+ } elsif ( $a =~ /^--([sysroot=])(.*)$/ ) {
10+ # Override gcc encoded sysroot
11+ push(@ccopt, $a);
12 } else {
13 die "$0: unknown option: $a\n";
14 }
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
new file mode 100644
index 000000000..316c80a92
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
@@ -0,0 +1,14 @@
1Patch was imported from the OpenEmbedded git server
2(git://git.openembedded.org/openembedded)
3as of commit id b6764cf32ec93547531130dca364fb95e1c495f4
4Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
5
6diff -Nur klibc-1.5/defconfig klibc-1.5p/defconfig
7--- klibc-1.5/defconfig 2007-03-04 02:52:10.000000000 +0100
8+++ klibc-1.5p/defconfig 2008-02-08 19:24:22.337127756 +0100
9@@ -5,4 +5,4 @@
10 CONFIG_REGPARM=y
11 # ARM options
12 # CONFIG_KLIBC_THUMB is not set
13-# CONFIG_AEABI is not set
14+CONFIG_AEABI=y
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
new file mode 100644
index 000000000..204306475
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
@@ -0,0 +1,22 @@
1commit 43adf69062254fb4f8d4d11fb5fe36a60ae25d5a
2Author: Ben Hutchings <ben@decadent.org.uk>
3Date: Sun Mar 14 18:41:56 2010 +0000
4
5 Taken from debian "Fix klibc Debian specific build trouble"
6 Adapted for klibc_2.0.2
7
8Index: klibc-2.0~rc2/scripts/Kbuild.install
9===================================================================
10--- klibc-2.0~rc2.orig/scripts/Kbuild.install 2012-02-11 18:50:21.000000000 +0000
11+++ klibc-2.0~rc2/scripts/Kbuild.install 2012-02-11 19:04:52.000000000 +0000
12@@ -95,7 +95,9 @@
13 $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
14 $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
15 $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
16- $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
17+ $(Q)for x in ../../../include/asm ../../../include/asm-generic ../../../include/linux ../../../include/mtd; do \
18+ ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
19+ done
20 $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
21 $(Q)chmod -R a+rX $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
22 $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
new file mode 100644
index 000000000..400864bb2
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
@@ -0,0 +1,144 @@
1Patch was imported from the OpenEmbedded git server
2(git://git.openembedded.org/openembedded)
3as of commit id eefb99a313bbcc8f34c8b32bf0c5aa2dd2580735
4Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
5
6Minor edits following upstream changes
7Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
8
9Index: klibc-1.5.24/scripts/Kbuild.install
10===================================================================
11--- a/scripts/Kbuild.install 2011-07-27 15:50:53.000000000 +0200
12+++ b/scripts/Kbuild.install 2011-08-01 00:03:03.000000000 +0200
13@@ -88,13 +88,10 @@
14 header:
15 $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
16 $(Q)mkdir -p $(INSTALLROOT)$(bindir)
17- $(Q)mkdir -p $(INSTALLROOT)$(mandir)/man1
18- $(Q)mkdir -p $(INSTALLROOT)$(SHLIBDIR)
19 $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)
20 $(Q)-rm -rf $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
21 $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
22 $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
23- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
24 $(Q)for x in ../../../include/asm ../../../include/asm-generic ../../../include/linux ../../../include/mtd; do \
25 ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
26 done
27@@ -103,7 +100,6 @@
28 done
29 $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
30 $(Q)chmod -R a+rX $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
31- $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
32 $(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir)
33
34 footer: header
35
36Index: klibc-1.5.24/usr/dash/Kbuild
37===================================================================
38--- a/usr/dash/Kbuild 2011-07-27 15:50:53.000000000 +0200
39+++ b/usr/dash/Kbuild 2011-08-01 00:07:56.000000000 +0200
40@@ -92,5 +92,3 @@
41 $(obj)/syntax.h: $(obj)/syntax.c
42 $(Q):
43
44-# Targets to install
45-install-y := sh.shared
46
47Index: klibc-1.5.24/usr/gzip/Kbuild
48===================================================================
49--- a/usr/gzip/Kbuild 2011-07-27 15:50:53.000000000 +0200
50+++ b/usr/gzip/Kbuild 2011-08-01 00:06:39.000000000 +0200
51@@ -21,5 +21,3 @@
52 # Cleaning
53 targets := gzip gzip.g gunzip zcat
54
55-# Targets to install
56-install-y := gzip gunzip zcat
57
58Index: klibc-1.5.24/usr/kinit/fstype/Kbuild
59===================================================================
60--- a/usr/kinit/fstype/Kbuild 2011-07-27 15:50:53.000000000 +0200
61+++ b/usr/kinit/fstype/Kbuild 2011-08-01 00:09:12.000000000 +0200
62@@ -21,5 +21,3 @@
63 # Cleaning
64 clean-dirs := static shared
65
66-# install binary
67-install-y := $(shared-y)
68
69Index: klibc-1.5.24/usr/kinit/ipconfig/Kbuild
70===================================================================
71--- a/usr/kinit/ipconfig/Kbuild 2011-07-27 15:50:53.000000000 +0200
72+++ b/usr/kinit/ipconfig/Kbuild 2011-08-01 00:10:52.000000000 +0200
73@@ -27,5 +27,3 @@
74 # Cleaning
75 clean-dirs := static shared
76
77-# install binary
78-install-y := $(shared-y)
79
80Index: klibc-1.5.24/usr/kinit/Kbuild
81===================================================================
82--- a/usr/kinit/Kbuild 2011-07-27 15:50:53.000000000 +0200
83+++ b/usr/kinit/Kbuild 2011-08-01 00:20:18.000000000 +0200
84@@ -33,5 +33,3 @@
85 subdir- := fstype ipconfig nfsmount resume run-init
86
87
88-# install binary
89-install-y := kinit kinit.shared
90
91Index: klibc-1.5.24/usr/kinit/nfsmount/Kbuild
92===================================================================
93--- a/usr/kinit/nfsmount/Kbuild 2011-07-27 15:50:53.000000000 +0200
94+++ b/usr/kinit/nfsmount/Kbuild 2011-08-01 00:12:52.000000000 +0200
95@@ -23,5 +23,3 @@
96
97 clean-dirs := static shared
98
99-# Install binary
100-install-y := $(shared-y)
101
102Index: klibc-1.5.24/usr/kinit/resume/Kbuild
103===================================================================
104--- a/usr/kinit/resume/Kbuild 2011-07-27 15:50:53.000000000 +0200
105+++ b/usr/kinit/resume/Kbuild 2011-08-01 00:13:51.000000000 +0200
106@@ -26,5 +26,3 @@
107 # Cleaning
108 clean-dirs := static shared
109
110-# install binary
111-install-y := $(shared-y)
112
113Index: klibc-1.5.24/usr/kinit/run-init/Kbuild
114===================================================================
115--- a/usr/kinit/run-init/Kbuild 2011-07-27 15:50:53.000000000 +0200
116+++ b/usr/kinit/run-init/Kbuild 2011-08-01 00:14:41.000000000 +0200
117@@ -25,5 +25,3 @@
118 # Cleaning
119 clean-dirs := static shared
120
121-# install binary
122-install-y := $(shared-y)
123
124Index: klibc-1.5.24/usr/klibc/Kbuild
125===================================================================
126--- a/usr/klibc/Kbuild 2011-07-27 15:50:53.000000000 +0200
127+++ b/usr/klibc/Kbuild 2011-08-01 00:18:11.000000000 +0200
128@@ -177,5 +177,3 @@
129 $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib))
130 $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
131 $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib
132- $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
133- $(INSTALLROOT)$(SHLIBDIR)
134
135Index: klibc-1.5.24/usr/utils/Kbuild
136===================================================================
137--- a/usr/utils/Kbuild 2011-07-27 15:50:53.000000000 +0200
138+++ b/usr/utils/Kbuild 2011-08-01 00:19:13.000000000 +0200
139@@ -72,5 +72,3 @@
140 # Clean deletes the static and shared dir
141 clean-dirs := static shared
142
143-# install only install the shared binaries
144-install-y := $(shared-y) shared/reboot shared/poweroff
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch
new file mode 100644
index 000000000..eac128cc0
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch
@@ -0,0 +1,25 @@
1Patch was imported from the OpenEmbedded git server
2(git://git.openembedded.org/openembedded)
3as of commit id 676cbb54d42c89a4832871064cfcb7ee2ad372ee
4
5klcc-cross: Add patch to use /usr/bin/env perl
6Certain configurations (such as autobuilders) may build in very
7deep paths (that are longer than the #! mechanism allows) which
8makes it unsafe to use the direct path for perl. In our case we know
9that /usr/bin/env perl will always return ours (if it has been built).
10
11Signed-off-by: Tom Rini <tom_rini@mentor.com>
12
13Index: klibc-1.5.20/klcc/makeklcc.pl
14===================================================================
15--- a/klcc/makeklcc.pl
16+++ b/klcc/makeklcc.pl
17@@ -26,7 +26,7 @@ sub pathsearch($) {
18 return undef;
19 }
20
21-print "#!${perlpath}\n";
22+print "#!/usr/bin/env perl\n";
23
24 open(KLIBCCONF, "< $klibcconf\0")
25 or die "$0: cannot open $klibcconf: $!\n";
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb b/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
new file mode 100644
index 000000000..c835fd647
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
@@ -0,0 +1,12 @@
1SUMMARY = "klibc utils for initramfs statically compiled"
2
3FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
4
5PACKAGES = "${PN}"
6FILES_${PN} = ""
7
8KLIBC_UTILS_VARIANT = "static"
9KLIBC_UTILS_PKGNAME = "klibc-static-utils"
10
11require klibc-utils.inc
12require klibc.inc
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc b/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
new file mode 100644
index 000000000..9014f5267
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
@@ -0,0 +1,60 @@
1do_install() {
2 install -d ${D}${base_bindir}
3 install -d ${D}${base_sbindir}
4 # debian packages kinit + kinit.shared but only sh.shared
5 if [ "${KLIBC_UTILS_VARIANT}" = "shared" ]; then
6 install -m 755 usr/kinit/kinit ${D}${base_bindir}/kinit
7 install -m 755 usr/kinit/kinit.shared ${D}${base_bindir}/kinit.shared
8 install -m 755 usr/dash/sh.shared ${D}${base_bindir}/sh.shared
9 else
10 install -m 755 usr/dash/sh ${D}${base_bindir}/sh
11 install -m 755 usr/kinit/kinit ${D}${base_bindir}/kinit
12 fi
13 install -m 755 usr/gzip/gzip ${D}${base_bindir}
14 install -m 755 usr/kinit/fstype/${KLIBC_UTILS_VARIANT}/fstype ${D}${base_bindir}
15 install -m 755 usr/kinit/ipconfig/${KLIBC_UTILS_VARIANT}/ipconfig ${D}${base_bindir}
16 install -m 755 usr/kinit/nfsmount/${KLIBC_UTILS_VARIANT}/nfsmount ${D}${base_bindir}
17 install -m 755 usr/kinit/resume/${KLIBC_UTILS_VARIANT}/resume ${D}${base_bindir}
18 install -m 755 usr/kinit/run-init/${KLIBC_UTILS_VARIANT}/run-init ${D}${base_bindir}
19 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/cat ${D}${base_bindir}
20 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/chroot ${D}${base_bindir}
21 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/cpio ${D}${base_bindir}
22 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/dd ${D}${base_bindir}
23 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/dmesg ${D}${base_bindir}
24 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/false ${D}${base_bindir}
25 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/halt ${D}${base_bindir}
26 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/kill ${D}${base_bindir}
27 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/ln ${D}${base_bindir}
28 # losetup goes in ${base_sbindir}
29 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/losetup ${D}${base_sbindir}
30 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/ls ${D}${base_bindir}
31 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/minips ${D}${base_bindir}
32 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mkdir ${D}${base_bindir}
33 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mkfifo ${D}${base_bindir}
34 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mknod ${D}${base_bindir}
35 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mount ${D}${base_bindir}
36 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mv ${D}${base_bindir}
37 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/nuke ${D}${base_bindir}
38 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/pivot_root ${D}${base_bindir}
39 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/poweroff ${D}${base_bindir}
40 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/readlink ${D}${base_bindir}
41 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/reboot ${D}${base_bindir}
42 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/sleep ${D}${base_bindir}
43 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/sync ${D}${base_bindir}
44 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/true ${D}${base_bindir}
45 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/umount ${D}${base_bindir}
46 install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/uname ${D}${base_bindir}
47 ln -s gzip ${D}${base_bindir}/gunzip
48 ln -s gzip ${D}${base_bindir}/zcat
49}
50
51EXTRA_KLIBC_DEPS = "${@base_conditional('KLIBC_UTILS_VARIANT', 'shared', '${THIS_LIBKLIBC}', '', d)}"
52
53PACKAGES_DYNAMIC += "^${KLIBC_UTILS_PKGNAME}-.*"
54
55python populate_packages_prepend () {
56 base_bin_dir = d.expand('${base_bindir}')
57 do_split_packages(d, base_bin_dir, '(.*)', '${KLIBC_UTILS_PKGNAME}-%s', 'Klibc util for %s', extra_depends='${EXTRA_KLIBC_DEPS}', allow_links=True, allow_dirs=True)
58 base_sbin_dir = d.expand('${base_sbindir}')
59 do_split_packages(d, base_sbin_dir, '(.*)', '${KLIBC_UTILS_PKGNAME}-%s', 'Klibc util for %s', extra_depends='${EXTRA_KLIBC_DEPS}', allow_dirs=True)
60}
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb b/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb
new file mode 100644
index 000000000..06e71cb7b
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb
@@ -0,0 +1,14 @@
1SUMMARY = "klibc utils for initramfs"
2
3FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
4
5PACKAGES = "${PN}"
6FILES_${PN} = ""
7
8KLIBC_UTILS_VARIANT = "shared"
9KLIBC_UTILS_PKGNAME = "klibc-utils"
10
11require klibc-utils.inc
12require klibc.inc
13
14DEPENDS = "klibc"
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc
new file mode 100644
index 000000000..f3e9972a4
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -0,0 +1,52 @@
1DESCRIPTION = "klibc is intended to be a minimalistic libc subset for \
2use with initramfs. It is deliberately written for small size, \
3minimal entaglement, and portability, not speed."
4SECTION = "libs"
5LICENSE = "BSD-3-Clause & GPL-2.0 & MIT & Zlib"
6LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8b"
7DEPENDS = "linux-libc-headers perl-native"
8SRCREV = "7763dd33e5b8eed4b9e3c583c02c10176fd550d3"
9
10SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git"
11SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch \
12 file://armv4-fix-v4bx.patch \
13 "
14SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch \
15 file://armv4-fix-v4bx.patch \
16 "
17SRC_URI += "file://klibc-linux-libc-dev.patch \
18 file://staging.patch \
19 file://klcc-consider-sysroot.patch \
20 "
21
22S = "${WORKDIR}/git"
23
24EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
25 'CROSS_COMPILE=${TARGET_PREFIX}' \
26 'KLIBCKERNELSRC=${STAGING_DIR_TARGET}${exec_prefix}' \
27 'prefix=${exec_prefix}' \
28 'INSTALLROOT=${D}' \
29 'SHLIBDIR=${libdir}' \
30 "
31
32export FIX_ARMV4_EABI_BX = "${FIX_V4BX}"
33
34do_configure () {
35 ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux
36}
37
38INHIBIT_PACKAGE_STRIP = "1"
39INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
40KLIBC_ARCH = "${TARGET_ARCH}"
41KLIBC_ARCH_aarch64 = "arm64"
42KLIBC_ARCH_armeb = "arm"
43KLIBC_ARCH_mipsel = "mips"
44KLIBC_ARCH_x86 = "i386"
45KLIBC_ARCH_x86-64 = "x86_64"
46KLIBC_ARCH_i486 = "i386"
47KLIBC_ARCH_i586 = "i386"
48KLIBC_ARCH_i686 = "i386"
49KLIBC_ARCH_pentium = "i386"
50KLIBC_ARCH_powerpc = "ppc"
51KLIBC_ARCH_powerpc64 = "ppc64"
52THIS_LIBKLIBC = "libklibc (= ${PV})"
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb b/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb
new file mode 100644
index 000000000..bc80f382f
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb
@@ -0,0 +1,24 @@
1SUMMARY = "klibc, a small C library for use with initramfs"
2
3do_install() {
4 oe_runmake install
5 # the crosscompiler is packaged by klcc-cross
6 # remove klcc
7 rm ${D}${bindir}/klcc
8 # remove now empty dir
9 rmdir ${D}${bindir}
10 install -d ${D}${libdir}
11 install -m 755 usr/klibc/klibc-*.so ${D}${libdir}
12 (cd ${D}${libdir}; ln -s klibc-*.so klibc.so)
13}
14
15PACKAGES = "libklibc libklibc-staticdev libklibc-dev"
16
17FILES_libklibc = "${libdir}/klibc-*.so"
18FILES_libklibc-staticdev = "${libdir}/klibc/lib/libc.a"
19FILES_libklibc-dev = "${libdir}/klibc.so \
20 ${libdir}/klibc/lib/* \
21 ${libdir}/klibc/include/* \
22 "
23
24require klibc.inc
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch
new file mode 100644
index 000000000..b7dad878b
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch
@@ -0,0 +1,53 @@
1--- a/Makefile 2012-05-01 19:46:47.000000000 +0200
2+++ b/Makefile 2012-05-01 19:48:01.000000000 +0200
3@@ -16,27 +16,13 @@
4
5 TESTS = tests
6
7-MTD_BINS = \
8- ftl_format flash_erase nanddump doc_loadbios \
9- ftl_check mkfs.jffs2 flash_lock flash_unlock \
10- flash_otp_info flash_otp_dump mtd_debug flashcp nandwrite nandtest \
11- jffs2dump \
12- nftldump nftl_format docfdisk \
13- rfddump rfdformat \
14- serve_image recv_image \
15- sumtool jffs2reader
16 UBI_BINS = \
17 ubiupdatevol ubimkvol ubirmvol ubicrc32 ubinfo ubiattach \
18 ubidetach ubinize ubiformat ubirename mtdinfo ubirsvol
19
20-BINS = $(MTD_BINS)
21-BINS += mkfs.ubifs/mkfs.ubifs
22-BINS += $(addprefix ubi-utils/,$(UBI_BINS))
23-SCRIPTS = flash_eraseall
24+BINS = $(addprefix ubi-utils/,$(UBI_BINS))
25
26 TARGETS = $(BINS)
27-TARGETS += lib/libmtd.a
28-TARGETS += ubi-utils/libubi.a
29
30 OBJDEPS = $(BUILDDIR)/include/version.h
31
32@@ -58,12 +44,9 @@
33 rm -f $(BUILDDIR)/include/version.h
34 $(MAKE) -C $(TESTS) clean
35
36-install:: $(addprefix $(BUILDDIR)/,${BINS}) ${SCRIPTS}
37+install:: $(addprefix $(BUILDDIR)/,${BINS})
38 mkdir -p ${DESTDIR}/${SBINDIR}
39 install -m 0755 $^ ${DESTDIR}/${SBINDIR}/
40- mkdir -p ${DESTDIR}/${MANDIR}/man1
41- install -m 0644 mkfs.jffs2.1 ${DESTDIR}/${MANDIR}/man1/
42- -gzip -9f ${DESTDIR}/${MANDIR}/man1/*.1
43
44 tests::
45 $(MAKE) -C $(TESTS)
46@@ -88,7 +71,6 @@
47 LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
48 LDLIBS_jffs2reader = -lz $(LZOLDLIBS)
49
50-$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v))))
51
52 #
53 # Common libmtd
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch
new file mode 100644
index 000000000..0a48416c0
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch
@@ -0,0 +1,8 @@
1--- a/common.mk 2012-04-29 18:15:30.000000000 +0200
2+++ b/common.mk 2012-04-29 00:51:53.000000000 +0200
3@@ -1,4 +1,4 @@
4-CC := $(CROSS)gcc
5+CC := $(CROSS)klcc
6 AR := $(CROSS)ar
7 RANLIB := $(CROSS)ranlib
8
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch
new file mode 100644
index 000000000..45f2439c8
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch
@@ -0,0 +1,19 @@
1--- a/ubi-utils/libiniparser.c 2012-05-29 23:46:08.000000000 +0200
2+++ b/ubi-utils/libiniparser.c 2012-05-29 23:45:01.000000000 +0200
3@@ -327,6 +327,8 @@
4 the notfound value is returned.
5 */
6 /*--------------------------------------------------------------------------*/
7+/* Floating-point is not supported in klibc */
8+/*
9 double iniparser_getdouble(dictionary * d, char * key, double notfound)
10 {
11 char * str ;
12@@ -335,6 +337,7 @@
13 if (str==INI_INVALID_KEY) return notfound ;
14 return atof(str);
15 }
16+*/
17
18 /*-------------------------------------------------------------------------*/
19 /**
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch
new file mode 100644
index 000000000..b52e20789
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch
@@ -0,0 +1,28 @@
1--- a/ubi-utils/libubi.c 2012-05-01 01:57:51.000000000 +0200
2+++ b/ubi-utils/libubi.c 2012-05-01 01:55:14.000000000 +0200
3@@ -686,7 +706,7 @@
4 * success and %-1 in case of failure. @r->ubi_num contains newly created UBI
5 * device number.
6 */
7-static int do_attach(const char *node, const struct ubi_attach_req *r)
8+static int do_attach(const char *node, struct ubi_attach_req *r)
9 {
10 int fd, ret;
11
12@@ -1346,13 +1346,13 @@
13
14 int ubi_set_property(int fd, uint8_t property, uint64_t value)
15 {
16- struct ubi_set_prop_req r;
17+ struct ubi_set_vol_prop_req r;
18
19- memset(&r, 0, sizeof(struct ubi_set_prop_req));
20+ memset(&r, 0, sizeof(struct ubi_set_vol_prop_req));
21 r.property = property;
22 r.value = value;
23
24- return ioctl(fd, UBI_IOCSETPROP, &r);
25+ return ioctl(fd, UBI_IOCSETVOLPROP, &r);
26 }
27
28 int ubi_leb_unmap(int fd, int lnum)
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch
new file mode 100644
index 000000000..d21ed577b
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch
@@ -0,0 +1,20 @@
1--- a/ubi-utils/ubiformat.c 2012-05-03 01:14:39.000000000 +0200
2+++ b/ubi-utils/ubiformat.c 2012-05-20 23:11:57.000000000 +0200
3@@ -246,7 +246,7 @@
4
5 while (1) {
6 normsg_cont("continue? (yes/no) ");
7- if (scanf("%3s", buf) == EOF) {
8+ if (fgets(buf,4,stdin) == NULL) {
9 sys_errmsg("scanf returned unexpected EOF, assume \"yes\"");
10 return 1;
11 }
12@@ -262,7 +262,7 @@
13 char buf[4];
14
15 while (1) {
16- if (scanf("%3s", buf) == EOF) {
17+ if (fgets(buf,4,stdin) == NULL) {
18 sys_errmsg("scanf returned unexpected EOF, assume \"no\"");
19 return 0;
20 }
diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.0.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.0.bb
new file mode 100644
index 000000000..134dd80f0
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.0.bb
@@ -0,0 +1,49 @@
1SUMMARY = "UBI utils statically compiled against klibc"
2DESCRIPTION = "Small sized tools from mtd-utils for use with initramfs."
3SECTION = "base"
4DEPENDS = "zlib lzo e2fsprogs util-linux"
5HOMEPAGE = "http://www.linux-mtd.infradead.org/"
6LICENSE = "GPLv2+"
7LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
8 file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
9
10
11inherit klibc
12
13SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=ca39eb1d98e736109c64ff9c1aa2a6ecca222d8f \
14 file://Makefile.patch \
15 file://common.mk.patch \
16 file://libubi.c.patch \
17 file://libiniparser.c.patch \
18 file://ubiformat.c.patch \
19"
20
21S = "${WORKDIR}/git/"
22
23EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}include -DWITHOUT_XATTR' 'BUILDDIR=${S}'"
24
25do_install () {
26
27 install -d ${D}${sbindir}
28 oe_runmake DESTDIR="${D}" install
29
30}
31
32PACKAGES = "ubi-utils-klibc-dbg"
33
34PACKAGES =+ "ubinfo-klibc ubiattach-klibc ubidetach-klibc mtdinfo-klibc ubiupdatevol-klibc \
35 ubimkvol-klibc ubirename-klibc ubirmvol-klibc ubirsvol-klibc \
36 ubinize-klibc ubiformat-klibc ubicrc32-klibc"
37
38FILES_ubinfo-klibc = "${sbindir}/ubinfo"
39FILES_ubiattach-klibc = "${sbindir}/ubiattach"
40FILES_ubidetach-klibc = "${sbindir}/ubidetach"
41FILES_mtdinfo-klibc = "${sbindir}/mtdinfo"
42FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol"
43FILES_ubimkvol-klibc = "${sbindir}/ubimkvol"
44FILES_ubirename-klibc = "${sbindir}/ubirename"
45FILES_ubirmvol-klibc = "${sbindir}/ubirmvol"
46FILES_ubirsvol-klibc = "${sbindir}/ubirsvol"
47FILES_ubinize-klibc = "${sbindir}/ubinize"
48FILES_ubiformat-klibc = "${sbindir}/ubiformat"
49FILES_ubicrc32-klibc = "${sbindir}/ubicrc32"