summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Beisert <j.beisert@pengutronix.de>2006-08-10 12:16:01 +0000
committerJuergen Beisert <j.beisert@pengutronix.de>2006-08-10 12:16:01 +0000
commit4849aea03012d4661894b4bd1b4450fd16834a38 (patch)
treea3ae7d638801d434f4b7ad61f0bfdaeb63358b13
parent43657aff25d9388574a7fafa008ca3b4783f2a97 (diff)
downloadptxdist-4849aea03012d4661894b4bd1b4450fd16834a38.tar.gz
ptxdist-4849aea03012d4661894b4bd1b4450fd16834a38.tar.xz
* adding mkelfImage
- generates bootable kernel images to be used with LinuxBIOS as a BIOS replacement for x86 targets git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@5995 33e552b5-05e3-0310-8538-816dae2090ed
-rw-r--r--patches/mkelfImage-2.7/generic/convert_params.diff30
-rw-r--r--rules/host-mkelfImage.in15
-rw-r--r--rules/host-mkelfImage.make109
-rw-r--r--rules/hosttools.in1
4 files changed, 155 insertions, 0 deletions
diff --git a/patches/mkelfImage-2.7/generic/convert_params.diff b/patches/mkelfImage-2.7/generic/convert_params.diff
new file mode 100644
index 000000000..a673ac826
--- /dev/null
+++ b/patches/mkelfImage-2.7/generic/convert_params.diff
@@ -0,0 +1,30 @@
+--- mkelfImage-2.7-orig/linux-i386/convert_params.c 2006-03-28 01:44:59.000000000 +0200
++++ mkelfImage-2.7/linux-i386/convert_params.c 2006-05-30 22:28:39.000000000 +0200
+@@ -962,22 +962,22 @@
+ return head;
+ }
+ };
+- return 0;
++ return (void*)-1;
+ }
+
+ static int find_lb_table(struct param_info *info)
+ {
+ struct lb_header *head;
+- head = 0;
+- if (!head) {
++ head = (void*)-1;
++ if (head == (void*)-1) {
+ /* First try at address 0 */
+ head = __find_lb_table((void *)0x00000, (void *)0x1000);
+ }
+- if (!head) {
++ if (head == (void*)-1) {
+ /* Then try at address 0xf0000 */
+ head = __find_lb_table((void *)0xf0000, (void *)0x100000);
+ }
+- if (head) {
++ if (head != (void*)-1) {
+ info->has_linuxbios = 1;
+ info->lb_table = head;
+ return 1;
diff --git a/rules/host-mkelfImage.in b/rules/host-mkelfImage.in
new file mode 100644
index 000000000..3c7a14d98
--- /dev/null
+++ b/rules/host-mkelfImage.in
@@ -0,0 +1,15 @@
+config HOST_MKELFIMAGE
+ bool
+ select HOST_FAKEROOT
+ prompt "mkelfImage: make etherboot image for LinuxBIOS"
+ help
+ With mkelfImage you can create elf images from kernel
+ files to be downloaded by Etherboot for LinuxBIOS.
+ Tagged images are data files, which contain the
+ necessary files for booting up (kernel+root for
+ linux, kernel+minifs for dos, ...) bundled together
+ with a special format.
+
+ These tagged images are downloaded and understood
+ by Etherboot and can handle LinuxBIOS restrictions
+
diff --git a/rules/host-mkelfImage.make b/rules/host-mkelfImage.make
new file mode 100644
index 000000000..16868255f
--- /dev/null
+++ b/rules/host-mkelfImage.make
@@ -0,0 +1,109 @@
+# -*-makefile-*-
+# $Id$
+#
+# Copyright (C) 2006 by Juergen Beisert
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+
+#
+HOST_PACKAGES-$(PTXCONF_HOST_MKELFIMAGE) += host-mkelfImage
+
+#
+# Paths and names
+#
+HOST_MKELFIMAGE_VERSION := 2.7
+HOST_MKELFIMAGE := mkelfImage-$(HOST_MKELFIMAGE_VERSION)
+HOST_MKELFIMAGE_SUFFIX := tar.gz
+HOST_MKELFIMAGE_URL := ftp://ftp.lnxi.com/pub/mkelfImage/$(HOST_MKELFIMAGE).$(HOST_MKELFIMAGE_SUFFIX)
+HOST_MKELFIMAGE_SOURCE := $(SRCDIR)/$(HOST_MKELFIMAGE).$(HOST_MKELFIMAGE_SUFFIX)
+HOST_MKELFIMAGE_DIR := $(HOST_BUILDDIR)/$(HOST_MKELFIMAGE)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+host-mkelfImage_get: $(STATEDIR)/host-mkelfImage.get
+
+$(STATEDIR)/host-mkelfImage.get: $(host-mkelfImage_get_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+$(HOST_MKELFIMAGE_SOURCE):
+ @$(call targetinfo, $@)
+ @$(call get, HOST_MKELFIMAGE)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+host-mkelfImage_extract: $(STATEDIR)/host-mkelfImage.extract
+
+$(STATEDIR)/host-mkelfImage.extract: $(host-mkelfImage_extract_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(HOST_MKELFIMAGE_DIR))
+ @$(call extract, HOST_MKELFIMAGE, $(HOST_BUILDDIR))
+ @$(call patchin, HOST_MKELFIMAGE, $(HOST_MKELFIMAGE_DIR))
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+host-mkelfImage_prepare: $(STATEDIR)/host-mkelfImage.prepare
+
+HOST_MKELFIMAGE_PATH := PATH=$(HOST_PATH)
+HOST_MKELFIMAGE_ENV := $(HOST_ENV)
+
+#
+# autoconf
+#
+HOST_MKELFIMAGE_AUTOCONF := $(HOST_AUTOCONF)
+
+$(STATEDIR)/host-mkelfImage.prepare: $(host-mkelfImage_prepare_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(HOST_MKELFIMAGE_DIR)/config.cache)
+ cd $(HOST_MKELFIMAGE_DIR) && \
+ $(HOST_MKELFIMAGE_PATH) $(HOST_MKELFIMAGE_ENV) \
+ ./configure $(HOST_MKELFIMAGE_AUTOCONF)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+host-mkelfImage_compile: $(STATEDIR)/host-mkelfImage.compile
+
+
+$(STATEDIR)/host-mkelfImage.compile: $(host-mkelfImage_compile_deps_default)
+ @$(call targetinfo, $@)
+ cd $(HOST_MKELFIMAGE_DIR) && $(HOST_MKELFIMAGE_ENV) $(HOST_MKELFIMAGE_PATH) make
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+host-mkelfImage_install: $(STATEDIR)/host-mkelfImage.install
+
+$(STATEDIR)/host-mkelfImage.install: $(host-mkelfImage_install_deps_default)
+ @$(call targetinfo, $@)
+ @$(call install, HOST_MKELFIMAGE,,h)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+host-mkelfImage_clean:
+ rm -rf $(STATEDIR)/host-mkelfImage.*
+ rm -rf $(HOST_MKELFIMAGE_DIR)
+
+# vim: syntax=make
diff --git a/rules/hosttools.in b/rules/hosttools.in
index e071e7f56..9fd7bfbb4 100644
--- a/rules/hosttools.in
+++ b/rules/hosttools.in
@@ -26,6 +26,7 @@ config HOST_UMKIMAGE
prompt "mkimage: U-Boot kernel image creation"
source "rules/host-mknbi.in"
+source "rules/host-mkelfImage.in"
##############################################################################
comment "Other Host Tools"