summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRod Whitby <rod@whitby.id.au>2007-02-12 05:51:00 +0000
committerRod Whitby <rod@whitby.id.au>2007-02-12 05:51:00 +0000
commit78a8f7905503336c0bcdb8def6f190b009d9c9e4 (patch)
tree04ed08a0164cd308fb4055a8e7a2505d037b063f
parent93421f8375dee985c4aab983d172e90684465c5a (diff)
ixp4xx-kernel: Modified to use arm-kernel-shim instead of hard-coded devio incantations
-rw-r--r--packages/linux/ixp4xx-kernel.inc43
-rw-r--r--packages/linux/ixp4xx-kernel_2.6.19.bb15
-rw-r--r--packages/linux/ixp4xx-kernel_2.6.20.bb15
3 files changed, 23 insertions, 50 deletions
diff --git a/packages/linux/ixp4xx-kernel.inc b/packages/linux/ixp4xx-kernel.inc
index 3a80703420..d848427921 100644
--- a/packages/linux/ixp4xx-kernel.inc
+++ b/packages/linux/ixp4xx-kernel.inc
@@ -26,6 +26,8 @@ SECTION = "kernel"
DESCRIPTION = "Linux kernel for the Intel IXP4xx device"
LICENSE = "GPL"
+DEPENDS = "arm-kernel-shim devio-native"
+
# Linux kernel source has the general form linux-X.Y.Z-patchP,
# X.Y is the major version number, Z (which may have multiple
# parts) is a sub-version and 'patch' is something like 'mm' or
@@ -298,12 +300,8 @@ pkg_postrm_kernel-image-fsg3 () {
update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${SITEINFO_ENDIANESS}-${KERNEL_VERSION} || true
}
-#FIXUP: the correct instructions to copy the kernel prepended with the le fixup
-#FIXME: do a fixup for BE too...
-FIXUP_armeb = "cp$"
-FIXUP_arm = "wb 0xee110f10,4;wb 0xe3c00080,4;wb 0xee010f10,4;xp $,4"
-
-DEPENDS += "devio-native"
+BYTESWAP_armeb = "cp$"
+BYTESWAP_arm = "xp $,4"
# We need the alternatives to happen in the kernel-image packages, not in
# the kernel package, because only the images know the name of the kernel.
@@ -312,22 +310,23 @@ pkg_postinst_kernel () {
pkg_postrm_kernel () {
}
-# copy_image <dest> <cmdline> <machine-id>
+# copy_image <dest> <machine>
# copy the zImage and append the appropriate shim
# dest: where to copy to
-# cmdline: command line to pass to image
-# machine-id: decimal machine id to prepend, empty for none
+# machine: machine shim to prepend, empty for none
copy_image() {
- local setmach
+ local shim
- setmach=""
- test -n "$2" && setmach="wb $2 . 256/ 255& 0xe3a01c00+, 4; wb 255& 0xe3811000+, 4;"
+ shim="/dev/null"
+ test -n "$2" && shim="${STAGING_LOADER_DIR}/arm-kernel-shim-$2.bin"
- rm -f "$1".new
- devio '<<${KERNEL_OUTPUT}' >"$1".new "$setmach"'${FIXUP}' || {
+ rm -f "$1".new "$1".shimmed
+ cat $shim ${KERNEL_OUTPUT} > "$1".shimmed
+ devio '<<'"$1"'.shimmed' >"$1".new '${BYTESWAP}' || {
echo 'ERROR: ${KERNEL_OUTPUT}: failed to copy zImage' >&2
return 1
}
+ rm -f "$1".shimmed
mv "$1".new "$1"
}
@@ -342,10 +341,10 @@ do_install_append() {
install_image '${MACHINE_ARCH}'
# Add the machine specific images, with appropriate suffixes
- install_image 'nslu2${SITEINFO_ENDIANESS}' '${nslu2_MACHID}'
- install_image 'nas100d${SITEINFO_ENDIANESS}' '${nas100d_MACHID}'
- install_image 'dsmg600${SITEINFO_ENDIANESS}' '${dsmg600_MACHID}'
- install_image 'fsg3${SITEINFO_ENDIANESS}' '${fsg3_MACHID}'
+ install_image 'nslu2${SITEINFO_ENDIANESS}' 'nslu2'
+ install_image 'nas100d${SITEINFO_ENDIANESS}' 'nas100d'
+ install_image 'dsmg600${SITEINFO_ENDIANESS}' 'dsmg600'
+ install_image 'fsg3${SITEINFO_ENDIANESS}' 'fsg3'
}
do_deploy[dirs] = "${S}"
@@ -359,10 +358,10 @@ do_deploy() {
deploy_image '${MACHINE_ARCH}'
# And the machine specific images
- deploy_image 'nslu2${SITEINFO_ENDIANESS}' '${nslu2_MACHID}'
- deploy_image 'nas100d${SITEINFO_ENDIANESS}' '${nas100d_MACHID}'
- deploy_image 'dsmg600${SITEINFO_ENDIANESS}' '${dsmg600_MACHID}'
- deploy_image 'fsg3${SITEINFO_ENDIANESS}' '${fsg3_MACHID}'
+ deploy_image 'nslu2${SITEINFO_ENDIANESS}' 'nslu2'
+ deploy_image 'nas100d${SITEINFO_ENDIANESS}' 'nas100d'
+ deploy_image 'dsmg600${SITEINFO_ENDIANESS}' 'dsmg600'
+ deploy_image 'fsg3${SITEINFO_ENDIANESS}' 'fsg3'
}
addtask deploy before do_build after do_compile
diff --git a/packages/linux/ixp4xx-kernel_2.6.19.bb b/packages/linux/ixp4xx-kernel_2.6.19.bb
index f10af6c050..eba9d6a404 100644
--- a/packages/linux/ixp4xx-kernel_2.6.19.bb
+++ b/packages/linux/ixp4xx-kernel_2.6.19.bb
@@ -6,7 +6,7 @@
# http://trac.nslu2-linux.org/kernel/
#
# The revision that is pulled from SVN is specified below
-IXP4XX_KERNEL_SVN_REV = "683"
+IXP4XX_KERNEL_SVN_REV = "693"
#
# The directory containing the patches to be applied is
# specified below
@@ -23,16 +23,3 @@ require ixp4xx-kernel-svnpatch.inc
SRC_URI += "file://defconfig"
SRC_URI += "file://series"
-
-# Remove the specific cmdline hacking patches if we are not building for nslu2.
-addtask remove_cmdline_hacks before do_patch after do_unpack
-do_remove_cmdline_hacks() {
-
-# if [ "${MACHINE}" != "nslu2" ] ; then
- sed -e '/88-nas100d-dflt-cmdline.patch/d' \
- -e '/88-nslu2-dflt-cmdline.patch/d' \
- '${WORKDIR}/series' > '${WORKDIR}/series.new'
- mv '${WORKDIR}/series.new' '${WORKDIR}/series'
-# fi
-
-}
diff --git a/packages/linux/ixp4xx-kernel_2.6.20.bb b/packages/linux/ixp4xx-kernel_2.6.20.bb
index 6fd1330cbd..2e768b133b 100644
--- a/packages/linux/ixp4xx-kernel_2.6.20.bb
+++ b/packages/linux/ixp4xx-kernel_2.6.20.bb
@@ -6,7 +6,7 @@
# http://trac.nslu2-linux.org/kernel/
#
# The revision that is pulled from SVN is specified below
-IXP4XX_KERNEL_SVN_REV = "686"
+IXP4XX_KERNEL_SVN_REV = "693"
#
# The directory containing the patches to be applied is
# specified below
@@ -23,16 +23,3 @@ require ixp4xx-kernel-svnpatch.inc
SRC_URI += "file://defconfig"
SRC_URI += "file://series"
-
-# Remove the specific cmdline hacking patches if we are not building for nslu2.
-addtask remove_cmdline_hacks before do_patch after do_unpack
-do_remove_cmdline_hacks() {
-
- if [ "${MACHINE}" != "nslu2" ] ; then
- sed -e '/88-nas100d-dflt-cmdline.patch/d' \
- -e '/88-nslu2-dflt-cmdline.patch/d' \
- '${WORKDIR}/series' > '${WORKDIR}/series.new'
- mv '${WORKDIR}/series.new' '${WORKDIR}/series'
- fi
-
-}