blob: e6e41cfc087bbb1402942d63eb392ed7ab0db30a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
SECTION = "kernel"
AUTHOR = "Harald Welte <laforge@openmoko.org>"
HOMEPAGE = "http://www.openmoko.org"
LICENSE = "GPL"
DEPENDS += "u-boot-mkimage-openmoko-native"
inherit kernel
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-openmoko"
DEFCONFIG = "defconfig-${VANILLA_VERSION}-${MACHINE}"
##############################################################
# source and patches
#
SRCREV_FORMAT = "patches"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \
file://${DEFCONFIG} \
file://logo_linux_clut224.ppm"
S = "${WORKDIR}/linux-${VANILLA_VERSION}"
##############################################################
# kernel image resides on a seperate flash partition (for now)
#
FILES_kernel-image = ""
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"
# 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
}
do_configure() {
install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm
if [ ! -e ${WORKDIR}/${DEFCONFIG} ]; then
die "No default configuration for ${MACHINE} available."
fi
echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
if [ "${TARGET_OS}" = "linux-gnueabi" ]; then
echo "CONFIG_AEABI=y" >> ${S}/.config
echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
else
echo "# CONFIG_AEABI is not set" >> ${S}/.config
echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
fi
sed -e '/CONFIG_AEABI/d' \
-e '/CONFIG_OABI_COMPAT=/d' \
-e '/CONFIG_CMDLINE=/d' \
-e '/CONFIG_MTD_MTDRAM_SA1100=/d' \
-e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \
-e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \
-e '/CONFIG_MTDRAM_ABS_POS=/d' \
'${WORKDIR}/${DEFCONFIG}' >>'${S}/.config'
yes '' | oe_runmake oldconfig
}
###############################################################
# put into deploy directory and append u-boot header
#
do_deploy() {
install -d ${DEPLOY_DIR_IMAGE}
install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE_CLASS}.bin
tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE_CLASS}.tgz -C ${D} lib
${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
rm -f linux.bin.gz
gzip -9 linux.bin
${STAGING_BINDIR_NATIVE}/uboot-mkimage -A arm -O linux -T kernel -C gzip -a 30008000 -e 30008000 -n "OpenMoko Kernel Image Neo1973(GTA01/2)" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE_CLASS}.bin
ln -sf ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE_CLASS}.bin ${DEPLOY_DIR_IMAGE}/uImage-${MACHINE_CLASS}-latest.bin
rm -f linux.bin.gz
}
do_deploy[dirs] = "${S}"
addtask prepatch before do_patch after do_unpack
addtask deploy before do_package after do_install
|