summaryrefslogtreecommitdiff
path: root/packages/linux
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux')
-rw-r--r--packages/linux/linux-openmoko_2.6.24.bb61
-rw-r--r--packages/linux/linux.inc13
2 files changed, 71 insertions, 3 deletions
diff --git a/packages/linux/linux-openmoko_2.6.24.bb b/packages/linux/linux-openmoko_2.6.24.bb
new file mode 100644
index 0000000000..b316f4ae4e
--- /dev/null
+++ b/packages/linux/linux-openmoko_2.6.24.bb
@@ -0,0 +1,61 @@
+require linux.inc
+require linux-openmoko.inc
+
+DESCRIPTION = "Linux 2.6.x (development) kernel for FIC SmartPhones shipping w/ OpenMoko"
+VANILLA_VERSION = "2.6.24"
+KERNEL_RELEASE = "2.6.24"
+
+# need to synchronize with LOCALVERSION, if set
+KERNEL_VERSION = "${KERNEL_RELEASE}"
+
+PV = "${VANILLA_VERSION}+svnr${SRCREV}"
+PR = "r3"
+
+KERNEL_IMAGETYPE = "uImage"
+UBOOT_ENTRYPOINT = "30008000"
+
+##############################################################
+# source and patches
+#
+SRCREV_FORMAT = "patches-rconfig"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \
+ svn://svn.openmoko.org/branches/src/target/kernel/2.6.24.x;module=patches;proto=http;name=patches \
+ svn://svn.openmoko.org/branches/src/target/kernel/2.6.24.x;module=config;proto=http;name=config "
+
+S = "${WORKDIR}/linux-${VANILLA_VERSION}"
+
+##############################################################
+# kernel image resides on a seperate flash partition (for now)
+#
+ALLOW_EMPTY = "1"
+
+COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE = 'fic-gta01|fic-gta02'
+
+CMDLINE = "unused -- bootloader passes ATAG list"
+
+###############################################################
+# module configs specific to this kernel
+#
+
+# usb
+module_autoload_ohci-hcd = "ohci-hcd"
+module_autoload_hci_usb = "hci_usb"
+module_autoload_g_ether = "g_ether"
+# audio
+module_autoload_snd-soc-neo1973-wm8753 = "snd-soc-neo1973-wm8753"
+module_autoload_snd-soc-neo1973-gta02-wm8753 = "snd-soc-neo1973-gta02-wm8753"
+module_autoload_snd-pcm-oss = "snd-pcm-oss"
+module_autoload_snd-mixer-oss = "snd-mixer-oss"
+# sd/mmc
+module_autoload_s3cmci = "s3cmci"
+
+do_prepatch() {
+ mv ${WORKDIR}/patches ${S}/patches && cd ${S} && quilt push -av
+ mv patches patches.openmoko
+ mv .pc .pc.old
+ mv ${WORKDIR}/config/defconfig-${KERNEL_RELEASE} ${WORKDIR}/defconfig
+}
+
+addtask prepatch after do_unpack before do_patch
diff --git a/packages/linux/linux.inc b/packages/linux/linux.inc
index 23f314353e..e213a2d3f6 100644
--- a/packages/linux/linux.inc
+++ b/packages/linux/linux.inc
@@ -70,7 +70,8 @@ do_configure_prepend() {
-e '/CONFIG_CPU_BIG_ENDIAN/d' \
-e '/CONFIG_LOGO=/d' \
-e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
- < '${WORKDIR}/defconfig' >>'${S}/.config'
+ -e '/CONFIG_LOCALVERSION/d' \
+ < '${WORKDIR}/defconfig' >>'${S}/.config'
#
# root-over-nfs-over-usb-eth support. Limited, but should cover some cases.
@@ -105,18 +106,24 @@ do_configure_append_avr32() {
UBOOT_ENTRYPOINT ?= "20008000"
+UBOOT_LOADADRESS ?= "${UBOOT_ENTRYPOINT}"
do_compile_append() {
if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
+ if test "x${ARCH}" = "xpowerpc" ; then
+ UBOOT_ARCH=ppc
+ else
+ UBOOT_ARCH=$ARCH
+ fi
if test -e arch/${ARCH}/boot/compressed/vmlinux ; then
${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin
- uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin arch/${ARCH}/boot/uImage
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADRESS} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin arch/${ARCH}/boot/uImage
rm -f linux.bin
else
${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
rm -f linux.bin.gz
gzip -9 linux.bin
- uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz arch/${ARCH}/boot/uImage
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADRESS} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz arch/${ARCH}/boot/uImage
rm -f linux.bin.gz
fi
fi