summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/machine/collie.conf7
-rw-r--r--conf/machine/include/kexecboot.inc15
-rw-r--r--conf/machine/include/zaurus-2.6.inc9
-rw-r--r--conf/machine/poodle.conf1
-rw-r--r--files/device_table-collie.txt4
-rw-r--r--files/device_table-kexecboot.txt14
6 files changed, 35 insertions, 15 deletions
diff --git a/conf/machine/collie.conf b/conf/machine/collie.conf
index 0dd8df1fae..b1635c022c 100644
--- a/conf/machine/collie.conf
+++ b/conf/machine/collie.conf
@@ -6,6 +6,7 @@ TARGET_ARCH = "arm"
MACHINE_KERNEL_VERSION ?= "2.6"
require conf/machine/include/zaurus-${MACHINE_KERNEL_VERSION}.inc
+require conf/machine/include/kexecboot.inc
require conf/machine/include/tune-strongarm.inc
PREFERRED_PROVIDER_xserver ?= "xserver-kdrive"
@@ -17,10 +18,4 @@ IMAGE_FSTYPES ?= "jffs2 tar.gz"
ROOT_FLASH_SIZE = "14"
# actually 14680064, see EXTRA_IMAGECMD above
-# we store kernel images in rootfs and only a minimal initramfs kernel in mtd1 for booting other kernels
-DONT_CHECK_KERNELSIZE ?= "1"
-
-IMAGE_DEVICE_TABLES ?= "files/device_table-minimal.txt \
- files/device_table-collie.txt"
-
XSERVER ?= "xserver-kdrive-fbdev"
diff --git a/conf/machine/include/kexecboot.inc b/conf/machine/include/kexecboot.inc
new file mode 100644
index 0000000000..8158f3ca02
--- /dev/null
+++ b/conf/machine/include/kexecboot.inc
@@ -0,0 +1,15 @@
+# kexecboot specific config options
+
+# NOTE: include this file after zaurus-2.6.inc for zaurus machines
+
+MACHINE_FEATURES_append = "kexecboot"
+
+# Include Kernel image in kexecboot enabled images
+RDEPENDS_kernel-base = "kernel-image"
+
+# we store kernel images in rootfs and only a minimal initramfs kernel in mtd1 for booting other kernels
+DONT_CHECK_KERNELSIZE ?= "1"
+
+IMAGE_DEVICE_TABLES ?= "files/device_table-minimal.txt"
+#add some device nodes for kexecboot
+IMAGE_DEVICE_TABLES_append = " files/device_table-kexecboot.txt"
diff --git a/conf/machine/include/zaurus-2.6.inc b/conf/machine/include/zaurus-2.6.inc
index c16707be84..5e8f34fad6 100644
--- a/conf/machine/include/zaurus-2.6.inc
+++ b/conf/machine/include/zaurus-2.6.inc
@@ -52,10 +52,10 @@ zaurus_make_installkit () {
mkdir ${IMAGE_NAME}-installkit/
# Get the latest kernel using the zImage-<machine>.bin symlink
- if [ "${MACHINE}" = "collie" ]; then
- [ -f "zImage-${MACHINE}-kexecboot.bin" ] && cp zImage-${MACHINE}-kexecboot.bin ${IMAGE_NAME}-installkit/zImage
+ if [ "${@base_contains('MACHINE_FEATURES', 'kexecboot', 'true', 'false',d)}" ]; then
+ [ -f "zImage-kexecboot-${MACHINE}.bin" ] && cp zImage-kexecboot-${MACHINE}.bin ${IMAGE_NAME}-installkit/zImage
# we need also tgz for mmc or cf cards
- cp ${IMAGE_NAME}.rootfs.tar.gz ${IMAGE_NAME}-installkit/hdimage1.tgz
+ cp ${IMAGE_NAME}.rootfs.tar.gz ${IMAGE_NAME}-installkit/image.tgz
else
cp zImage-${MACHINE}.bin ${IMAGE_NAME}-installkit/zImage
fi
@@ -79,6 +79,5 @@ zaurus_make_installkit () {
# Don't include kernels in standard images for Zaurus machines
RDEPENDS_kernel-base = ""
-# collie is an exception. We use mmc as root, include kernel and use another small kernel to boot it.
-RDEPENDS_kernel-base_collie = "kernel-image"
+
KERNEL_IMAGETYPE ?= "zImage"
diff --git a/conf/machine/poodle.conf b/conf/machine/poodle.conf
index 4e8f011a1e..c7c81c9f9a 100644
--- a/conf/machine/poodle.conf
+++ b/conf/machine/poodle.conf
@@ -3,6 +3,7 @@
#@DESCRIPTION: Machine configuration for the PXA250 based Sharp Zaurus SL-B500 and SHarp Zaurus SL-5600 devices
require conf/machine/include/zaurus-2.6.inc
+require conf/machine/include/kexecboot.inc
require conf/machine/include/tune-xscale.inc
IMAGE_FSTYPES ?= "jffs2"
diff --git a/files/device_table-collie.txt b/files/device_table-collie.txt
deleted file mode 100644
index 86b06804ff..0000000000
--- a/files/device_table-collie.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-# mmc numbers are assigned dynamicly so if you have other dynamic assigned block devices it may be wrong
-/dev/mmcblk0p1 b 660 0 6 179 1 - - -
-/dev/event0 c 660 0 0 13 64 - - -
-/dev/fb0 c 660 0 0 29 0 - - -
diff --git a/files/device_table-kexecboot.txt b/files/device_table-kexecboot.txt
new file mode 100644
index 0000000000..dd716f33ec
--- /dev/null
+++ b/files/device_table-kexecboot.txt
@@ -0,0 +1,14 @@
+# mmc numbers are assigned dynamicly so if you have other dynamic assigned block devices it may be wrong
+/dev/mmcblk0 b 660 0 6 179 0 - - -
+/dev/mmcblk0p1 b 660 0 6 179 1 - - -
+/dev/mmcblk0p2 b 660 0 6 179 2 - - -
+/dev/mmcblk0p3 b 660 0 6 179 3 - - -
+/dev/event0 c 660 0 0 13 64 - - -
+/dev/fb0 c 660 0 0 29 0 - - -
+# mmc numbers are assigned dynamicly so if you have other dynamic assigned block devices it may be wrong
+/dev/mmcblk0 b 660 0 6 179 0 - - -
+/dev/mmcblk0p1 b 660 0 6 179 1 - - -
+/dev/mmcblk0p2 b 660 0 6 179 2 - - -
+/dev/mmcblk0p3 b 660 0 6 179 3 - - -
+/dev/event0 c 660 0 0 13 64 - - -
+/dev/fb0 c 660 0 0 29 0 - - -