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
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.
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"
}
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}"
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
# 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
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
-
-}
# 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
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
-
-}