linux.inc: make convenient selection of root-over-nfs actually work
authorMichael Lauer <mickey@vanille-media.de>
Sun, 16 Sep 2007 22:37:14 +0000 (22:37 +0000)
committerMichael Lauer <mickey@vanille-media.de>
Sun, 16 Sep 2007 22:37:14 +0000 (22:37 +0000)
packages/linux/linux-ezx_2.6.21.bb
packages/linux/linux-openmoko-devel_svn.bb
packages/linux/linux.inc

index deaa99d..77df8a7 100644 (file)
@@ -68,7 +68,6 @@ BACKLIGHTPATCH_rokre6 = ""
 
 SRC_URI += "${BACKLIGHTPATCH}"
 
-
 S = "${WORKDIR}/linux-${PV}"
 
 
@@ -96,7 +95,7 @@ CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDL
 # Uncomment to use root-over-nfs-over-usb
 #CMDLINE_NFSROOT_USB = "${CMDLINE_CON} ${CMDLINE_NFSROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG} ${CMDLINE_MEM}"
 
-# 1024x1024 is the maximum kernel size for boot-over-usb
+# 1024x1024 once was the maximum kernel size for boot-over-usb -- is it still?
 #KERNEL_IMAGE_MAXSIZE = "1294336"
 
 ###############################################################
index eca9a33..f93f11f 100644 (file)
@@ -1,11 +1,54 @@
 DESCRIPTION = "Linux 2.6.x (development) kernel for FIC SmartPhones shipping w/ OpenMoko"
+VANILLA_VERSION = "2.6.22.5"
+PV = "${VANILLA_VERSION}-moko11+svnr${SRCREV}"
+PR = "r0"
 
-require linux-openmoko.inc
+KERNEL_IMAGETYPE = "uImage"
+UBOOT_ENTRYPOINT = "30008000"
 
-SRC_URI += "svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=http"
-SRC_URI += "file://fix-EVIOCGRAB-semantics-2.6.22.5.patch;patch=1"
+require linux.inc
+
+##############################################################
+# source and patches
+#
+SRCREV_FORMAT = "patches"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \
+           svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=http;name=patches \
+           file://fix-EVIOCGRAB-semantics-2.6.22.5.patch;patch=1 \
+           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
+}
+
+addtask prepatch after do_unpack before do_patch
 
-VANILLA_VERSION = "2.6.22.5"
-MOKOR = "moko11+svnr${SRCREV}"
-PV = "${VANILLA_VERSION}-${MOKOR}"
-PR = "r0"
index 4fef1f9..7579481 100644 (file)
@@ -58,20 +58,29 @@ do_configure_prepend() {
             < '${WORKDIR}/defconfig' >>'${S}/.config'
 
         #
-        # root-over-nfs-over-usbgadget support. Limited, but should cover some cases.
-        # Note that you need to have a proper CMDLINE_NFSROOT_USB set for this to work.
+        # root-over-nfs-over-usb-eth support. Limited, but should cover some cases.
+        # Enable this by setting a proper CMDLINE_NFSROOT_USB.
         #
         if [ ! -z "${CMDLINE_NFSROOT_USB}" ]; then
-                oenote "Configuring the kernel for root-over-nfs-over-usbgadget with CMDLINE ${CMDLINE_NFSROOT_USB}"
+                oenote "Configuring the kernel for root-over-nfs-over-usb-eth with CMDLINE ${CMDLINE_NFSROOT_USB}"
+                sed -e '/CONFIG_INET/d' \
+                    -e '/CONFIG_IP_PNP=/d' \
+                    -e '/CONFIG_USB_GADGET=/d' \
+                    -e '/CONFIG_USB_GADGET_SELECTED=/d' \
+                    -e '/CONFIG_USB_ETH=/d' \
+                    -e '/CONFIG_NFS_FS=/d' \
+                    -e '/CONFIG_ROOT_NFS=/d' \
+                    -e '/CONFIG_CMDLINE=/d' \
+                    -i ${S}/.config
                 echo "CONFIG_INET=y"                     >> ${S}/.config
                                echo "CONFIG_IP_PNP=y"                   >> ${S}/.config
                 echo "CONFIG_USB_GADGET=y"               >> ${S}/.config
+                echo "CONFIG_USB_GADGET_SELECTED=y"      >> ${S}/.config
                 echo "CONFIG_USB_ETH=y"                  >> ${S}/.config
                 echo "CONFIG_NFS_FS=y"                   >> ${S}/.config
                 echo "CONFIG_ROOT_NFS=y"                 >> ${S}/.config
                 echo "CONFIG_CMDLINE=\"${CMDLINE_NFSROOT_USB}\"" >> ${S}/.config
         fi
-
         yes '' | oe_runmake oldconfig
 }
 
@@ -111,14 +120,14 @@ do_deploy() {
                 ${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 ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
                 rm -f linux.bin
-           else
-               ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux 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 ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
                 rm -f linux.bin.gz
             fi
-       fi
+        fi
 }
 
 do_deploy[dirs] = "${S}"