4 # Workaround build bug on Ubuntu 14.04
5 cat <<EOF > arch/x86/boot/install.sh
7 cp -a -- "\$2" "\$4/vmlinuz-\$1"
10 # Add deprecated XFS delaylog option back in
12 diff --git a/kernel/fs/xfs/xfs_super.c b/kernel/fs/xfs/xfs_super.c
13 index 65a4537..b73ca67 100644
14 --- a/kernel/fs/xfs/xfs_super.c
15 +++ b/kernel/fs/xfs/xfs_super.c
16 @@ -109,6 +109,7 @@ static struct xfs_kobj xfs_dbg_kobj; /* global debug sysfs attrs */
17 #define MNTOPT_GQUOTANOENF "gqnoenforce"/* group quota limit enforcement */
18 #define MNTOPT_PQUOTANOENF "pqnoenforce"/* project quota limit enforcement */
19 #define MNTOPT_QUOTANOENF "qnoenforce" /* same as uqnoenforce */
20 +#define MNTOPT_DELAYLOG "delaylog" /* Delayed logging enabled */
21 #define MNTOPT_DISCARD "discard" /* Discard unused blocks */
22 #define MNTOPT_NODISCARD "nodiscard" /* Do not discard unused blocks */
24 @@ -359,6 +360,9 @@ xfs_parseargs(
25 } else if (!strcmp(this_char, MNTOPT_GQUOTANOENF)) {
26 mp->m_qflags |= (XFS_GQUOTA_ACCT | XFS_GQUOTA_ACTIVE);
27 mp->m_qflags &= ~XFS_GQUOTA_ENFD;
28 + } else if (!strcmp(this_char, MNTOPT_DELAYLOG)) {
30 + "delaylog is the default now, option is deprecated.");
31 } else if (!strcmp(this_char, MNTOPT_DISCARD)) {
32 mp->m_flags |= XFS_MOUNT_DISCARD;
33 } else if (!strcmp(this_char, MNTOPT_NODISCARD)) {
41 OVS_COMMIT="4ff6642f3c1dd8949c2f42b3310ee2523ee970a6"
63 CONFIG=${2:-arch/x86/configs/opnfv.config}
64 VERSION=${3:-1.0.OPNFV}
66 # Check for necessary build tools
67 if ! type git >/dev/null 2>/dev/null
69 echo "Build tools missing, run the command
71 apt-get install git fakeroot build-essential ncurses-dev xz-utils kernel-package automake
73 as root and try again"
77 # Make sure the source dir exists
80 echo "$SRC: no such directory"
87 # Get the Open VSwitch sources
90 git clone https://github.com/openvswitch/ovs.git
93 # Get the KVM for NFV kernel sources
96 git clone https://gerrit.opnfv.org/gerrit/kvmfornfv
100 if [ x$KVM_COMMIT != x ]
102 git checkout $KVM_COMMIT
110 # Configure the kernel
113 make oldconfig </dev/null
115 # Build the kernel debs
120 fakeroot make-kpkg --initrd --revision=$VERSION kernel_image kernel_headers
121 git checkout arch/x86/boot/install.sh
122 git checkout fs/xfs/xfs_super.c
124 # Build OVS kernel modules
126 if [ x$OVS_COMMIT != x ]
128 git checkout $OVS_COMMIT
134 # Apply out of tree patches
136 for i in $SRC/kvmfornfv/patches/ovs/*.patch
146 ./configure --with-linux=$SRC/kvmfornfv/kernel
149 # Add OVS kernel modules to kernel deb
150 dpkg-deb -x $SRC/kvmfornfv/linux-image*.deb ovs.$$
151 dpkg-deb --control $SRC/kvmfornfv/linux-image*.deb ovs.$$/DEBIAN
152 cp datapath/linux/*.ko ovs.$$/lib/modules/*/kernel/net/openvswitch
153 depmod -b ovs.$$ -a `ls ovs.$$/lib/modules`
154 dpkg-deb -b ovs.$$ $SRC/kvmfornfv/linux-image*.deb
158 mv $SRC/kvmfornfv/*.deb .