[oe-commits] org.oe.dev linux.inc: add sizecheck, add convenient support for root-nfs-over-usb

mickeyl commit openembedded-commits at lists.openembedded.org
Sat Sep 15 19:03:37 UTC 2007


linux.inc: add sizecheck, add convenient support for root-nfs-over-usb

Author: mickeyl at openembedded.org
Branch: org.openembedded.dev
Revision: 69932acf9ab3d53bc284e78b0d7c9f5cc6172999
ViewMTN: http://monotone.openembedded.org/revision/info/69932acf9ab3d53bc284e78b0d7c9f5cc6172999
Files:
1
packages/linux/linux.inc
Diffs:

#
# mt diff -r51a3cb657390b5baa6590717be3fe17ab19d960a -r69932acf9ab3d53bc284e78b0d7c9f5cc6172999
#
# 
# 
# patch "packages/linux/linux.inc"
#  from [47bdad4587ba5a4eecb2eb3c827967a56828c9ae]
#    to [eeda309489292a9867f8339d7e9cface90455b79]
# 
============================================================
--- packages/linux/linux.inc	47bdad4587ba5a4eecb2eb3c827967a56828c9ae
+++ packages/linux/linux.inc	eeda309489292a9867f8339d7e9cface90455b79
@@ -18,7 +18,7 @@ DEPENDS_append_fic-gta02      = " u-boot
 DEPENDS_append_fic-gta02      = " u-boot-mkimage-openmoko-native "
 
 
-# Specify the commandline for you device
+# Specify the commandline for your device
 
 #boot from mmc
 CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext2 rootdelay=5"
@@ -28,12 +28,18 @@ do_configure_prepend() {
 do_configure_prepend() {
         echo "" > ${S}/.config
 
+        #
+        # logo support, if you supply logo_linux_clut224.ppm in SRC_URI, then it's going to be used
+        #
         if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then
                 install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm
                 echo "CONFIG_LOGO=y"                    >> ${S}/.config
                 echo "CONFIG_LOGO_LINUX_CLUT224=y"      >> ${S}/.config
         fi
 
+        #
+        # oabi / eabi support
+        #
         if [ "${TARGET_OS}" == "linux-gnueabi" -o  "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
                 echo "CONFIG_AEABI=y"                   >> ${S}/.config
                 echo "CONFIG_OABI_COMPAT=y"             >> ${S}/.config
@@ -51,9 +57,36 @@ do_configure_prepend() {
             -e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
             < '${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.
+        #
+        if [ ! -z "${CMDLINE_NFSROOT_USB}" ]; then
+                oenote "Configuring the kernel for root-over-nfs-over-usbgadget with CMDLINE ${CMDLINE_NFSROOT_USB}"
+                echo "CONFIG_INET=y"                     >> ${S}/.config
+				echo "CONFIG_IP_PNP=y"                   >> ${S}/.config
+                echo "CONFIG_USB_GADGET=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
 }
 
+# Support checking the kernel size since some kernels need to reside in partitions
+# with a fixed length or there is a limit in transferring the kernel to memory
+do_sizecheck() {
+        if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then
+            size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
+            if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then
+                    rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE}
+                    die  "This kernel (size=$size) is too big for your device. Please reduce the size of the kernel by making more of it modular."
+            fi
+        fi
+}
+
 do_install_prepend() {
         if test -e arch/${ARCH}/boot/Image ; then
              ln -f arch/${ARCH}/boot/Image arch/${ARCH}/boot/uImage
@@ -90,5 +123,6 @@ do_deploy[dirs] = "${S}"
 
 do_deploy[dirs] = "${S}"
 
+addtask sizecheck before do_install after do_compile
 addtask deploy before do_package after do_install
 






More information about the Openembedded-commits mailing list