From e6e753b51f29500598384a71162a1536967a24dd Mon Sep 17 00:00:00 2001
From: Kiril Zyapkov <kiril.zyapkov@gmail.com>
Date: Fri, 21 Sep 2012 17:09:40 +0300
Subject: [PATCH] kernel26-olinuxino: add -ntsc kernel package

---
 core/kernel26-olinuxino/PKGBUILD | 58 +++++++++++++++++++++++++++++---
 1 file changed, 54 insertions(+), 4 deletions(-)

diff --git a/core/kernel26-olinuxino/PKGBUILD b/core/kernel26-olinuxino/PKGBUILD
index 0366729a2..b3a20d0c9 100644
--- a/core/kernel26-olinuxino/PKGBUILD
+++ b/core/kernel26-olinuxino/PKGBUILD
@@ -8,12 +8,12 @@
 buildarch=2
 
 pkgbase="kernel26-olinuxino"
-pkgname=('kernel26-olinuxino' 'kernel26-headers-olinuxino')
+pkgname=('kernel26-olinuxino' 'kernel26-olinuxino-ntsc' 'kernel26-headers-olinuxino')
 _kernelname=${pkgname#kernel26}
 _basekernel=2.6
 pkgver=${_basekernel}.35.3
 pkgrel=7
-makedepends=('xmlto' 'docbook-xsl' 'make' 'git' 'elftosb' 'imx-bootlets-olinuxino')
+makedepends=('xmlto' 'docbook-xsl' 'make' 'git' 'elftosb' 'imx-bootlets-olinuxino' 'imx-bootlets-olinuxino-ntsc')
 optdepends=()
 options=('!strip' '!buildflags' '!makeflags')
 arch=('arm')
@@ -87,14 +87,15 @@ build() {
 }
 
 package_kernel26-olinuxino() {
-  pkgdesc="The Linux Kernel and modules for iMX233-OLinuXino-Maxi"
+  pkgdesc="The Linux Kernel and modules for iMX233-OLinuXino-Maxi with PAL video output"
   groups=('base')
   depends=('coreutils' 'module-init-tools')
   replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
             'alsa-driver' 'ieee80211' 'hostap-driver26'
             'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
             'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
-            'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm')
+            'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm'
+            'kernel26-olinuxino-ntsc')
   provides=("kernel26=${pkgver}" "linux=${pkgver}")
   install=kernel26.install
   KARCH=arm
@@ -134,6 +135,55 @@ package_kernel26-olinuxino() {
   mv "$pkgdir/lib" "$pkgdir/usr"
 }
 
+package_kernel26-olinuxino-ntsc() {
+  pkgdesc="The Linux Kernel and modules for iMX233-OLinuXino-Maxi"
+  groups=('base')
+  depends=('coreutils' 'module-init-tools')
+  replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
+            'alsa-driver' 'ieee80211' 'hostap-driver26'
+            'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
+            'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
+            'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm'
+            'kernel26-olinuxino')
+  provides=("kernel26=${pkgver}" "linux=${pkgver}")
+  install=kernel26.install
+  KARCH=arm
+  
+  cd ${srcdir}/${__gitname}
+
+  # get kernel version
+  _kernver="$(make kernelrelease)"
+  
+  # Install zImage, System.map and the config for reference
+  mkdir -p ${pkgdir}/{lib/modules,lib/firmware,boot}
+  make INSTALL_MOD_PATH="${pkgdir}" modules_install
+  #cp arch/$KARCH/boot/uImage ${pkgdir}/boot/uImage
+  cp arch/$KARCH/boot/zImage ${pkgdir}/boot/zImage
+  cp .config ${pkgdir}/boot/config-${_kernver}
+  cp System.map System.map-${_kernver}
+  
+  # set correct depmod command for install
+  sed \ 
+    -e  "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
+    -e  "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
+    -i $startdir/kernel26.install
+    
+  # Generate an imx233 boot image
+  msg "Generating sdcard image ..."
+  ln -sf /opt/imx-bootlets-olinuxino-ntsc
+  elftosb -z -c ./imx-bootlets-olinuxino-ntsc/linux.bd -o ${pkgdir}/boot/oli-${_kernver}.sb
+  
+  # remove build and source links
+  rm -f ${pkgdir}/lib/modules/${_kernver}/{source,build}
+  
+  # Now we call depmod...
+  depmod -b "$pkgdir" -F System.map "$_kernver"
+  
+  # move module tree /lib -> /usr/lib
+  mkdir -p "${pkgdir}/usr"
+  mv "$pkgdir/lib" "$pkgdir/usr"
+}
+
 package_kernel26-headers-olinuxino() {
   pkgdesc="Header files and scripts for building modules for kernel26 for iMX233-OLinuXino-Maxi"
   provides=("kernel26-headers=${pkgver}" "linux-headers=${pkgver}")